Automatyczne Skanowanie Sieci z NMAP w n8n

Wprowadzenie

Bezpieczeństwo infrastruktury sieciowej to jeden z kluczowych obszarów odpowiedzialności każdego administratora systemu. Ręczne skanowanie sieci jest czasochłonne, podatne na błędy i trudne do wykonywania regularnie. Workflow opisany w tym artykule automatyzuje cały ten proces — od skanowania, przez identyfikację podatności, aż po wysłanie szczegółowego raportu na e-mail.

Rozwiązanie zostało zbudowane w n8n — otwartej platformie do automatyzacji procesów. Łączy ono trzy narzędzia: NMAP do skanowania sieci, CVE API do wyszukiwania znanych podatności oraz GPT-4.1 do generowania czytelnych raportów HTML.

Bezpłatne szkolenie: Zbuduj 5 agentów AI w n8n!

Weź udział w intensywnym, praktycznym szkoleniu i naucz się tworzyć automatyzacje oraz agentów AI komunikujących się przez komunikator. W programie m.in.: RAG Chatbot, Voice Agent, Wirtualna Rada Nadzorcza, Asystentka głosowa i Claude Code Admin.

Zapisy do 23 kwietnia, 23:59

Sprawdź szczegóły: https://asdevops.pl/warsztaty/

 

 

Skanuj tylko sieci i urządzenia, do których masz pisemne upoważnienie. Nieautoryzowane skanowanie sieci jest przestępstwem w większości jurysdykcji, w tym w Polsce (art. 267 Kodeksu karnego — nielegalny dostęp do systemu informatycznego) oraz w Unii Europejskiej na mocy dyrektywy NIS2 i przepisów o cyberprzestępczości.

Zasady etycznego skanowania:

•  Upoważnienie — posiadaj pisemną zgodę właściciela infrastruktury lub pracuj we własnej sieci (homelab, środowisko testowe).

•  Zakres — skanuj tylko hosty i porty wymienione w upoważnieniu. Nie rozszerzaj zakresu bez wiedzy i zgody właściciela.

•  Czas skanowania — skanowanie –script vuln generuje duże obciążenie sieci. Uzgodnij okno czasowe z administratorem, aby nie zakłócać pracy produkcyjnej.

•  Poufność danych — wyniki skanowania zawierają wrażliwe informacje o infrastrukturze. Przechowuj je bezpiecznie i udostępniaj tylko upoważnionym osobom.

•  Odpowiedzialność — wykryte podatności raportuj natychmiast do właściciela systemu. Nie ujawniaj ich publicznie bez wcześniejszego skoordynowania procesu naprawy (Responsible Disclosure).

•  Środowiska chmurowe — dostawcy usług chmurowych (AWS, Azure, GCP) wymagają osobnego upoważnienia do skanowania zasobów w ich infrastrukturze. Sprawdź warunki korzystania z usług przed uruchomieniem skanu.Niniejszy workflow został stworzony wyłącznie w celach edukacyjnych i do legalnego audytu bezpieczeństwa własnej infrastruktury. Autorzy nie ponoszą odpowiedzialności za nieautoryzowane lub nieetyczne wykorzystanie tego narzędzia.

Co robi ten workflow?

Workflow wykonuje sekwencję zadań po kliknięciu przycisku uruchomienia:

Krok 1Skanowanie usług i systemu operacyjnego NMAP z flagami -sV -O wykrywa otwarte porty, wersje uruchomionych usług oraz system operacyjny każdego hosta.
Krok 2Skanowanie podatności NMAP z flagą –script vuln uruchamia zestaw skryptów NSE sprawdzających znane luki bezpieczeństwa (m.in. EternalBlue, Heartbleed, Slowloris).
Krok 3Połączenie wyników Węzeł Merge łączy wyniki obu skanów w jeden strumień danych gotowy do dalszego przetwarzania.
Krok 4Przygotowanie danych Węzeł Code parsuje surowy tekst NMAP, wyciąga nazwy usług z wersjami
Krok 5Agregacja wyników CVE Wszystkie znalezione CVE są zbierane, sortowane według wyniku CVSS (od najgroźniejszych) i zliczane wg kategorii ryzyka.
Krok 6Analiza AI GPT-4.1 otrzymuje wszystkie dane i generuje profesjonalny raport HTML z tabelami, kolorowymi wskaźnikami ryzyka i rekomendacjami.
Krok 7Wysyłka e-mail W zależności od wyniku — wysyłany jest alert z czerwonym nagłówkiem (wykryto podatności) lub raport z zielonym nagłówkiem (sieć bezpieczna).

Architektura i węzły workflow

Poniżej znajduje się opis wszystkich węzłów wchodzących w skład workflow wraz z ich typem i rolą:

WęzełTypOpis
Manual TriggermanualTriggerRęczne uruchomienie workflow — kliknięcie przycisku w n8n.
Skan OS i Usługi (-sV -O)SSHWykonuje nmap -sV -O na wskazanych hostach przez SSH. Wykrywa wersje usług i systemy operacyjne.
Skan Podatności (–script vuln)SSHWykonuje nmap –script vuln. Sprawdza znane podatności CVE na wykrytych usługach.
Połącz wyniki skanówMergeŁączy wyniki obu skanów w jeden item (tryb: Combine by Position).
Parsuj usługi z wersjąCode (JS)Parsuje stdout z -sV, wyciąga usługi z wersjami (np. lighttpd 1.4.37), buduje zapytania do CVE API.
Agreguj wyniki CVECode (JS)Zbiera wszystkie CVE, sortuje po CVSS, zlicza krytyczne/wysokie/średnie.
Analiza AI z CVEOpenAI (GPT-4.1)Generuje pełny raport HTML na podstawie danych NMAP i CVE.
Wykryto podatności?IFSprawdza czy hasVulnerabilities === true. Rozgałęzia do odpowiedniego emaila.
Email ALERT (podatności)Send EmailWysyła alert z czerwonym nagłówkiem i liczbą CVE w temacie wiadomości.
Email Raport (bez alertu)Send EmailWysyła raport z zielonym nagłówkiem gdy nie wykryto krytycznych podatności.

Przepływ danych

Schemat sekwencji wykonania węzłów:

Manual Trigger

    ↓

Skan OS i Usługi (-sV -O)  ──────────────────────────────┐

    ↓                                                      │

Skan Podatności (–script vuln)                            │

    ↓                                                      ↓

Połącz wyniki skanów  ←─────────────────────────────────┘

    ↓

Parsuj usługi z wersją  (np. lighttpd 1.4.37, dnsmasq 2.81)

    ↓  [dla każdej usługi osobno]

Agreguj wyniki CVE  (sortowanie po CVSS, zliczanie)

    ↓

Analiza AI z CVE  (GPT-4.1 → raport HTML)

    ↓

Wykryto podatności?

    ├── TAK → Email ALERT (czerwony nagłówek)

    └── NIE → Email Raport (zielony nagłówek)

Przykładowy raport skanowania, wysłany na email

Komendy NMAP — szczegółowy opis

Skanowanie usług i OS: nmap -sV -O

Flaga -sV (Service Version Detection) sprawdza każdy otwarty port i próbuje ustalić dokładną wersję uruchomionej usługi. Dzięki temu zamiast prostego 80/tcp open http otrzymujemy 80/tcp open http lighttpd 1.4.37 — precyzyjną informację o wersji, którą możemy porównać z bazą CVE.

Flaga -O (OS Detection) wykrywa system operacyjny hosta na podstawie analizy odpowiedzi TCP/IP. Wymaga uprawnień root/sudo. Jeśli skanowanie odbywa się bez tych uprawnień, workflow automatycznie wraca do samego -sV.

Przykładowy wynik: 53/tcp open domain dnsmasq 2.81 | 80/tcp open http lighttpd 1.4.37 | 5555/tcp open upnp myigd 1.0

Skanowanie podatności: nmap –script vuln

Flaga –script vuln uruchamia zestaw skryptów NSE (Nmap Scripting Engine) sprawdzających znane luki bezpieczeństwa. Każdy skrypt testuje konkretny wektor ataku:

  • http-slowloris-check — sprawdza podatność na atak Slowloris (DoS na serwery HTTP)
  • http-dombased-xss — szuka podatności XSS w aplikacjach webowych
  • smb-vuln-ms17-010 — sprawdza podatność EternalBlue (WannaCry)
  • ssl-heartbleed — sprawdza podatność Heartbleed w OpenSSL
  • ftp-vsftpd-backdoor — sprawdza obecność backdoora w vsftpd 2.3.4
Ważne: Skan –script vuln jest znacznie wolniejszy niż podstawowe skanowanie. Na 3 hostach może trwać od 5 do 20 minut w zależności od liczby otwartych portów.

Węzeł Przygotuj dane wyniki CVE zbiera wszystkie wyniki, sortuje je według wyniku CVSS (od najwyższego) i nadaje kategorię:

Poziom ryzykaWynik CVSSKolor w raporcie
Krytyczny9.0 – 10.0#dc3545 (czerwony)
Wysoki7.0 – 8.9#fd7e14 (pomarańczowy)
Średni4.0 – 6.9#ffc107 (żółty)
Niski0.0 – 3.9#28a745 (zielony)

Raport generowany przez AI

Węzeł Analiza AI z CVE wysyła do GPT-4.1 komplet danych: wyniki obu skanów NMAP oraz listę CVE z wynikami CVSS. Na tej podstawie model generuje gotowy raport HTML zawierający:

  • Podsumowanie wykonawcze — najważniejsze ustalenia w maksymalnie 240 znakach
  • Statystyki — liczba hostów, portów, CVE według poziomu ryzyka
  • Tabela urządzeń — IP, system operacyjny, otwarte porty, wersje usług
  • Tabela CVE — ID z linkiem do NVD, produkt, opis, wynik CVSS, poziom ryzyka
  • Podatności NMAP — wyniki ze –script vuln
  • Rekomendacje priorytetowe — konkretne kroki posortowane od najważniejszych

Raport HTML jest bezpośrednio wstrzykiwany do treści wiadomości e-mail, dzięki czemu odbiorca otrzymuje sformatowany, czytelny dokument bez potrzeby otwierania żadnych załączników.

System powiadomień e-mail

Workflow rozróżnia dwa typy wiadomości w zależności od wyników skanowania:

Email ALERT: Wysyłany gdy wykryto słowo VULNERABLE w skanowaniu NMAP lub gdy CVE API zwróciło podatności z CVSS >= 7. Temat zawiera liczbę znalezionych CVE oraz liczbę krytycznych.
Email Raport: Wysłamy gdy skanowanie nie wykazało krytycznych zagrożeń. Raport nadal zawiera pełne dane — informuje że infrastruktura jest w dobrym stanie.

Wymagania techniczne

n8n

Workflow wymaga działającej instancji n8n w wersji obsługującej węzeł OpenAI (typeVersion 1.8) oraz HTTP Request (typeVersion 4.2). Zalecana instalacja self-hosted.

SSH i NMAP

Na serwerze docelowym musi być zainstalowany NMAP w wersji 7.0 lub nowszej. Skanowanie –script vuln oraz -O wymaga uprawnień root. Workflow łączy się przez SSH z zapisanymi danymi uwierzytelniającymi.

# Instalacja NMAP na Debianie/Ubuntu

sudo apt-get install nmap

# Weryfikacja wersji

nmap –version

Klucz API OpenAI

Do węzła Analiza AI z CVE wymagany jest klucz API OpenAI z dostępem do modelu GPT-4.1. Workflow używa modelu gpt-4.1 — można go zmienić na gpt-4o lub inny dostępny model.

Import i konfiguracja

Pobierz Workflow z Mojego Githubhttps://github.com/sHin477/Nmap-n8n

Jak zaimportować workflow

  • Otwórz n8n i przejdź do sekcji Workflows
  • Kliknij przycisk Import from file w prawym górnym rogu
  • Wybierz plik NMAP + CVE API.json
  • Po imporcie sprawdź i przypisz kredencjały SSH oraz OpenAI

Ważna konfiguracja — Połącz wyniki skanów

Uwaga: Po imporcie n8n może zresetować ustawienie węzła Merge. Należy ręcznie ustawić: Mode = Combine, Combine By = Position = 2. Bez tego workflow może zwracać błąd Fields to Match.

Zmiana hostów do skanowania

Adresy IP do skanowania należy zaktualizować w dwóch węzłach SSH. Domyślna konfiguracja skanuje hosty 192.168.1.1, 192.168.1.77 oraz 192.168.1.74, zmień na swoje adresy IP, które chcesz skanować :

# Węzeł: Skan OS i Usługi (-sV -O)

nmap -sV -O 192.168.1.1 192.168.1.77 192.168.1.74 2>/dev/null || nmap -sV 192.168.1.1 192.168.1.77 192.168.1.74

# Węzeł: Skan Podatności (–script vuln)

nmap –script vuln 192.168.1.1 192.168.1.77 192.168.1.74

Aby skanować inne zakresy, można użyć notacji CIDR lub zakresów z myślnikiem:

# Cała podsieć /24

nmap -sV -O 192.168.1.0/24

# Zakres IP

nmap -sV -O 192.168.1.1-50

Wskazówki i dobre praktyki

Wydajność skanowania

Skan –script vuln jest bardzo wolny. Dla większych sieci (powyżej 20 hostów) zaleca się dodanie flagi -T4 przyspieszającej skanowanie lub ograniczenie skryptów NSE do wybranych kategorii:

# Szybsze skanowanie z agresywnym tempem

nmap -T4 –script vuln 192.168.1.0/24

# Tylko wybrane skrypty

nmap –script smb-vuln*,http-vuln* 192.168.1.0/24

Harmonogramowanie

Aby uruchamiać workflow automatycznie, wystarczy zamienić węzeł Manual Trigger na Schedule Trigger i ustawić wybraną częstotliwość — np. codziennie o 6:00 rano lub co tydzień w poniedziałek.

Rozszerzenia

Workflow można dalej rozbudować o powiadomienia Slack lub Teams, zapis wyników do bazy danych dla śledzenia zmian w czasie, porównanie z poprzednim skanowaniem czy integrację z systemem ticketowym jak Jira.

Podsumowanie

Przedstawiony workflow to kompletne rozwiązanie do automatycznego audytu bezpieczeństwa sieci. Łączy sprawdzone narzędzia — NMAP, publiczną bazę CVE i GPT-4.1 — w jeden spójny proces uruchamiany jednym kliknięciem.

Kluczowe zalety tego podejścia to eliminacja ręcznej pracy przy regularnych skanowaniach, automatyczna korelacja wykrytych wersji usług z bazą podatności CVE oraz czytelne raporty HTML gotowe do przeczytania bezpośrednio w skrzynce e-mail.

Plik workflow: NMAP — gotowy do importu w n8n. Wymagane: NMAP na serwerze SSH, klucz API OpenAI, konto SMTP do wysyłki e-mail.

Bezpłatne szkolenie: Zbuduj 5 agentów AI w n8n!

Weź udział w intensywnym, praktycznym szkoleniu i naucz się tworzyć automatyzacje oraz agentów AI komunikujących się przez komunikator. W programie m.in.: RAG Chatbot, Voice Agent, Wirtualna Rada Nadzorcza, Asystentka głosowa i Claude Code Admin.

Zapisy do 23 kwietnia, 23:59

Sprawdź szczegóły: https://asdevops.pl/warsztaty/

 

 

 

 

Bezpłatny dostęp do warsztatów "Zbuduj 5 agentów AI w n8n!"

X