ipt_PORTNETSCAN ist eine Erweiterung von IpTables zur Erkennung von Portscan, Netscans oder Combinedscans. Die Enwicklung ist in zwei Teile unterteilt:
Aktuell müssen für die Verwendung noch die IpTables-Quellen und die Kernelqellen gepatcht werden.
Nach dem Herunterladen des Linux Kernels von der Seite www.kernel.org oder einer der Mirror-Seiten muss dieser anpackt und dann der Patch auf dem Kernel angewendet werden.
patch -p0 < linux-2.6.xxx.patch
Zuvor müss die aktuelle Version von IpTables auf der Seite www.netfilter.org heruntergeladen werden. Nach dem entpacken, sollten im Makefile die gewünschten Konfigurationsparameter verändert werden, die in dem Zielsystem vorhanden sind. Das Patchen erfolgt dann durch das Kommando
patch -p0 < iptables-XXX.patch
Zur Erkennung von Scans werden im Modul Schwellwerte verwendet, die für jede Situation einzeln gesetzt werden können. Hierbei können verschiedene Charakteristiken und Abhängigkeiten aus dieser Art der Informationsgewinnung zur Abwehr eines Angriffs extrahiert und verwendet werden.
Die wichtigen Informationen bestimmter Angriffsituationen werden in den hier folgenden Dokumentatiuon analysiert und ausgewertet. In der aktuellen Analyse werden nur Eigenschaften der Protokollfamilie IpV4 betrachtet, da dies die aktuelle Version des verwendeten Internetprotokolls ist. Mittelfristig ist kein Wechsel auf IpV6 vorgesehen.
Erkennung eines Portscan
Bei einem Angriff oder der Informationssuche durch einen Portscan, werden
verschiedene Ports eines Zielsystems gescannt. Die Abfrage der Ports geschieht
häufig in beliebiger Reihenfolge und Zeitabständen.
Alle Pakete müssen, bevor diese das Zielsystem erreichen, den äußeren Router der Firewall passieren. Dieser Router kann also durch Speichern der aktuellen Pakete in einem bestimmten Zeitintervall schnell feststellen, dass ein bestimmter Rechner aus dem Internet versucht, einen Portscan auf einen Rechner in der DMZ durchzuführen.
In vielen Quellen werden Portscans und Netscans nicht unterschieden. Zur Analyse ist dies aber unbedingt notwendig, da diese beiden Scans Unterschiede in Ihrer Charakteristik aufweisen.
Merkmal | Wert |
Quelladresse | gleich |
Zieladressen | gleich |
Zielports | gleich |
Zur Veranschaulichung ein Beispiel: Für den Portscan wird die Zieldresse 1.1.1.2 und die Quelladresse 2.2.2.1 zugrunde gelegt. Dabei werden die gescannten Ports vom Angreifersystem zufällig ausgewählt. Folgende Pakete könnten vom äußeren Router ausgewertet werden:
Quelladresse | Quellport | Zieladresse | Zielport | Richtung | Bemerkung |
2.2.2.1 | 1025 | 1.1.1.2 | 139 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.2 | 139 | 2.2.2.1 | 1025 | DMZ - Internet | |
2.2.2.1 | 1025 | 1.1.1.2 | 445 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.2 | 445 | 2.2.2.1 | 1025 | DMZ - Internet | |
2.2.2.1 | 1025 | 1.1.1.2 | 1026 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.2 | 1026 | 2.2.2.1 | 1025 | DMZ - Internet | |
2.2.2.1 | 1025 | 1.1.1.2 | 80 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.2 | 80 | 2.2.2.1 | 1025 | DMZ - Internet |
Die für den Portscan zu betrachtenden Pakete sind in der Tabelle rot markiert. Zusammengefasst können für den Portscan folgende Informationen gewonnen werden:
Hierbei kann durch seine Charakteristik eindeutig ein Portscan erkannt werden: Ein Rechner aus dem Internet versucht zu einem Rechner in der DMZ auf mehreren Ports eine Verbindung aufzubauen.
Es ist auch möglich, dass eine Quelladresse eines Nicht-Angreifers auf mehrere Ports eines Zielrechners zugreift, allerdings dies auf die Anzahl der erlaubten Dienste beschränkt. Im Fall eines überwachten Webservers, der die Ports 80 und 443 als Web-Service anbietet, ist jede Quelladresse als Angreifer oder Ausspäher zu werten, die mehr als zwei Zielports in dem System aufruft.
Deshalb kann davon ausgegangen werden, dass bei einem Schwellwert von zwei Zielports pro Zieladresse ein Portscan vorhanden ist, wenn im gesamten Zielnetz kein Zielserver mehr als zwei Dienste unterstützt. Um die Datenhaltung in der späteren Implementierung zu vereinfachen, kann eine einfache Formel eingesetzt werden:
( Anzahl Zielports / Anzahl Zielhosts ) > Definierter Schwellwert (Quota) für Portscan
Erkennung eines NetscanEinen Netzscan charakterisiert, dass in der Regel verschiedene Server von einem Rechner aus dem Internet auf dem gleichen Zielport angefragt werden. Einige Angreifer definieren mehrere aber wenige Ports um ein Netz zu scannen.
In diesem Fall bekommt der Angreifer einen Überblick über einen oder einige wenige Dienste, die in dem gescannten Netzwerk aktiv sind.
Merkmal | Wert |
Quelladresse | gleich |
Zieladressen | verschieden |
Zielports | gleich oder wenige |
Als Beispiel wird für einen Netscan der Netzbereich der DMZ des Zielnetzes auf 1.1.1.0 mit der Subnetmaske 255.255.255.0 angenommen. Der Angreifer erhält die IP-Adresse 2.2.2.1. Im Verlauf des Angriffs könnten hierbei folgende Pakete vom äußeren Router ausgewertet werden:
Quelladresse | Quellport | Zieladresse | Zielport | Richtung | Bemerkung |
2.2.2.1 | 1025 | 1.1.1.2 | 139 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.2 | 139 | 2.2.2.1 | 1025 | DMZ - Internet | |
2.2.2.1 | 1025 | 1.1.1.35 | 139 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.25 | 139 | 2.2.2.1 | 1025 | DMZ - Internet | |
2.2.2.1 | 1025 | 1.1.1.16 | 139 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.16 | 139 | 2.2.2.1 | 1025 | DMZ - Internet | |
2.2.2.1 | 1025 | 1.1.1.1 | 139 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.1 | 139 | 2.2.2.1 | 1025 | DMZ - Internet | |
2.2.2.1 | 1025 | 1.1.1.14 | 139 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.14 | 139 | 2.2.2.1 | 1025 | DMZ - Internet | |
2.2.2.1 | 1025 | 1.1.1.172 | 139 | Internet - DMZ | Bei TCP SYN gesetzt |
1.1.1.172 | 139 | 2.2.2.1 | 1025 | DMZ - Internet |
Die zur Betrachtung wichtigen Pakete sind rot markiert. Es ist zu erkennen, dass ein Quellrechner versucht, verschiedene Zieladressen auf demselben Zielport zu erreichen.
Da der gescannte Zielport zumeist gleich bleibt oder nur wenige Zielports gescannt werden, kann hier eine einfache Formel für die Implementierung verwendet werden.
Definition: Netscan für Quelladresse erkannt, wenn:
( Anzahl Zielhosts / Anzahl Zielports ) > Definierter Schwellwert (Quota) für Netscan
Es muss bei der späteren Konfiguration darauf geachtet werden, dass der Schwellwert nicht niedriger als die Anzahl der Zielserver mit den gleichen Diensten definiert wird.
Erkennung eines Combinedscan
Ein Combined-Scan (kombinierter Scan) muss komplexer betrachtet werden. Der Angreifer kombiniert in diesem Fall Port- und Netscan miteinander, um ausführlichere Informationen über das Zielnetz zu erhalten.
In diesem Fall werden demzufolge verschiedene Zieladressen und verschiedene Zielports in einer definierten Zeitspanne angefragt.
Dies bedeutet, die beiden Formeln für die Erkennung von Netscans oder Portscan können nicht angewendet werden, da ein Schwellwert für die Verhältnisrechnungen zur Erkennung von Port- und Netscan-Ereignissen nicht mehr zutrifft.
Für eine Untersuchung muss ein Zielnetz aus Sicht des Angreifers betrachtet werden. Der Angreifer selbst weiß in diesem Stadium nicht, welche Dienste tatsächlich im Zielnetz angeboten werden. Er muss im Fall eines Combimedscans das gesamte Zielnetz mit allen für den Angreifer interessanten Zielports für Dienste scannen, um an die gewünschten Informationen zu gelangen. Bei einem solchen Scan werden viele Zielports und viele Zieladressen angefragt. Ausgehend von
in der DMZ bedeutet dies, dass auf sechs Servern auch sechs Dienste vorhanden sind. Wenn ein Client alle Dienste nutzen würde, würde dieser zusammen zwölf verschiedene Zieladressen und Zielports nutzen. Somit kann eine einfache Formel zur Erkennung eingesetzt werden.
Definition: Erkennung eines kombinierten Scans für eine Quelladresse:
( Anzahl Zielports + Anzahl Zielhosts ) > Definierter Schwellwert Combined Scan
Das Kernelmodul wird automatisch durch die Verwendung von neunen IpTables Regeln mit dem Parameter –m PORTNETSCAN im Kernel geladen. Die verwendbaren Parameter werden in diesem Abschnitt genauer betrachtet und beschrieben.
Insbesondere muss auf die unterschiedliche Parametrisierung in Abhängigkeit vom gewünschten Einsatzzweck geachtet werden. Falsche Parametrisierungen könnten bis zu einem Ausfall des Netzwerks führen. Die möglichen Einsatzgebiete lassen sich hierbei wie folgt unterscheiden:
Das Modul wird durch eine IpTables Filterregel mittels der Option -m PORTNETSCAN aufgerufen.
iptables [iptables Optionen] -m PORTNETSCAN [Optionen]
Einschränkungen oder Filtervorgaben können in IpTables durch alle implementierten IpTables Optionen definiert werden. Die Funktionen des Moduls werden nur aufgerufen, wenn die zuvor definierten Filter oder Einschränkungen in den IpTables Optionen gültig sind.
Das Modul PORTNETSCAN besitzt eine Reihe von Optionen, die in den nächsten Abschnitten genauer betrachtet und beschrieben werden.
--tree-deep [1|2|4|8|16|32]
Standard: --tree-deep 4
Diese Option gibt die Baumtiefe des Suchbaumes (Suchindex) (trace-tree / Überwachungsliste) an. Bei einer angegeben Baumtiefe von 1 wird eine einfache verkettete Liste als Suchindex verwendet. Bei eigenständigen Testreihen hat sich eine Baumtiefe von vier als Optimum herausgestellt. Bei den Tests wurde aber von mehr als 1000 gleichzeitigen Verbindungen ausgegangen.
--trace-time [Sekunden] (10-3600)
Standard: --trace-time 120 (2 Minuten)
Die Option trace-time gibt die Zeit in Sekunden an, welche eine Quelladresse überwacht wird. Solange Pakete durch die Regel überprüft werden, beginnt die Überwachungszeit von neuem. Dies bedeutet, dass z.B. bei einem Wert von 20 in dieser Option der Überwachungseintrag der Quelladresse erst dann entfernt wird, wenn dieser 120 Sekunden keine Prüfung mehr erfordert hat, d.h. dass in dieser Zeitspanne kein Paket durch die IpTables Regel zur Überprüfung an das Modul gesendet wurde. Dies ist in der Regel der Fall, wenn der Rechner keine Verbindung mehr zum Zielsystem hat.
--block-time [Sekunden] (0-172800)
Standard: --block-time 3600 (1 Stunde)
Die Option block-time gibt die Zeit in Sekunden an, die die Quelladresse eines Rechners gesperrt wird, falls eine der definierten Schwellwerte (Quotas) erfüllt ist. Der Rechner wird im Falle des Überschreitens eines Schwellwertes (Quota) aus den überwachten Einträgen gelöscht und in die Ablehnungsliste verschoben. Diese Liste ist eine normale verkettete Liste im Speicher und wird nicht zusätzlich indiziert.
--clean-interval [Sekunden] (1-60)
Standard: --clean-interval 1 (1 Sekunde)
Diese Option legt das Intervall fest, nach dem veraltete Einträge aus den Überwachungs- und Ablehnungslisten gelöscht werden. Zusätzlich ist im Kernel noch ein globales Intervall festgelegt, nach dem veraltete Einträge aller Konfigurationsumgebungen freigegeben werden.
--max-deny-entries [Anzahl] (10-2000)
Standard: --max-deny-entries 10
Die Option max-deny-entries legt fest, wie viele Einträge maximal pro Konfigurationsumgebung in der Ablehnungsliste gespeichert werden. Wenn die die maximal definierte Anzahl überschritten ist, wird der älteste Eintrag aus der Ablehnungsliste entfernt und der neue hinzugefügt. Da diese Liste nicht durch einen Baum indiziert wird, darf der Wert nicht zu groß definiert werden, da dies sonst Einfluss auf die Netzwerkperformance nimmt.
--max-trace-entries [Anzahl] (10-20000)
Standard: --max-trace-entries 3000
Durch die Option max-trace-entries wird festgelegt, wie viele Einträge maximal pro Konfigurationsumgebung in der Überwachungslisteliste gespeichert werden. Wenn dieser Wert überschritten wird, wird der älteste Eintrag aus der Liste entfernt und der neue hinzugefügt.
--port-scan-quota [Quota] (3-1000)
Standard: --port-scan-quota 10
Diese Option legt fest, ab welchem Schwellwert (Quota) ein Portscan erkannt wird. Ein Portscan wird angenommen bei Erfüllung folgender Voraussetzung: (Zielports / Zieladressen) > port-scan-quota
--net-scan-quota [Quota] (3-1000)
Standard: --net-scan-quota 10
Mittels dieser Option wird festgelegt, ab welchem Schwellwert (Quota) ein Netscan erkannt wird. Ein Netscan wird angenommen bei Erfüllung folgender Voraussetzung: (Zieladressen / Zielports) > net-scan-quota
--combined-quota [Quota] (6-1000)
Standard: --combined-quota 50
Durch diese Option wird festgelegt, ab welchem Schwellwert (Quota) ein Combined-Scan erkannt wird. Ein Combined-Scan wird angenommen bei Erfüllung folgender Voraussetzung: (Zieladressen + Zielports) > combined-quota
--check_deny_entries
Standard [Kein Parameter]
Wenn diese Option angegeben wird, wird geprüft, ob sich die Quelladresse in der Ablehnungsliste befindet. Für diesen Fall wird ein positiver Rückgabewert an IpTables zurückgeliefert.
Wichtig bei der Verwendung des Moduls ist die Reihenfolge der IpTables Regeln. Bei falscher Verwendung kann dies die Dienste oder Zugriffe zum und vom Internet stark einschränken.
Für die Verwendung des Moduls werden zwei Szenarien vorgeschlagen. Diese unterscheiden sich grundlegend und werden nachfolgend genauer betrachtet.
Anwendung des Moduls zur Überwachung abgelehnter Pakete
In der ersten Betrachtung des Moduleinsatzes wird von einer Firewall mit bereits klar eingeschränkten Filterregeln für die genutzten Dienste und Anwendungen ausgegangen. Die Verwendung des Moduls erweitert die Firewall um die dynamische Erkennung und Ablehnung von Port-, Net- oder Combined-Scans. Dadurch können auch Dienste, die in der Firewall für bestimmte Server erlaubt sind, vor einem Angreifer verborgen werden. Gleichzeitig ist gewährleistet, dass die Dienste ohne Einschränkungen genutzt werden können.
Für dieses Szenario müssen folgende Regeln eingehalten werden:
In der folgenden Skizze wird die korrekte Verwendung dargestellt:
Eine weitere Einsatzmöglichkeit stellt die Verwendung des Moduls zur reinen Überwachung der Firewall dar. Andere Filterregeln, die für die benötigten Dienste in der Firewall gebraucht werden, werden erst nach dem Aufruf des Moduls PORTNETSCAN abgearbeitet. Vor diesen Regeln müssen Ausnahmen definiert werden, die Mehrfachverbindungen erlauben, um fehlerhaft abgelehnte Pakete zu verhindern. Das nachfolgende Schaubild beschreibt die Reihenfolge der Abarbeitung für diesen Einsatzzweck:
Bei Verwendung des Moduls für dieses Szenario muss genau geprüft werden, für welche Server oder Clients im internen Netz Mehrfachverbindungen erlaubt sein müssen. Zudem sollte eine eindeutige Einschränkung in der aufgerufenen IpTables Regel erfolgen. Einschränkungen können zum Bespiel gesetztes SYN-Bit einer TCP Verbindung oder die Zielports einer Anwendung sein.
Bei diesem Einsatzzweck empfiehlt sich die Verwendung mehrerer Konfigurationsumgebungen und eine Aufteilung in verschiedene Regeln, die die Zustände der Firewall erkennen lassen.
In der aktuellen Implementierung des Kernelmoduls ipt_PORTNETSCAN wird beim Laden automatisch der Proc-Eintrag /proc/net/stat/portnetscan erstellt. In diesem befinden sich alle Informationen über den Status des Moduls.
Durch die Anzahl der überwachten Einträge kann die Anzahl der ausgegebenen Zeilen sehr groß werden. Aus diesem Grund werden die Zeilen je nach Informationsinhalt mit einem definierten Anfangsbuchstaben zur Identifikation ausgegeben:
G - Anzahl globale Konfigurationsumgebungen U - Aktuelle Zeit (Unixzeit) J - Aktuelle Kernelzeit (jiffies) C - Nächster Globaler Cleanup-Task (jiffies) L - Eintrag Konfigurationsumgebung D - Eintrag Ablehnungsliste T - Eintrag Überwachungsliste
Nachfolgend wird eine Beispielausgabe mit mehreren überwachten und abgelehnten Eintr&aumol;gen dargestellt:
# IpTables PORTNETSCAN MODUL # -------------------------- # G Count_Global_Conf: 1 U Updating_Time(Unix): 1151670238 # J Updating_Time(jiffies): 170718608 C Next_Cleanup_Time(jiffies): 170725409 # # Conf_Entries # ------------ # # confn/tree-deep/trace-time/clean-interval/port-scan-quota/net-scan-quota/combined-quota/max-deny-entries/max-trace-entries/block-time/tree-count/endnode-count/denylist-count L 0 4 3600 1 4 4 8 50 10000 36000 20 5 5 # # Deny_Entries # ------------ # # confn/ipaddress/starttime/endtime/count/reason D 0 202.99.174.208 1151666423 1151702423 6 netscan_detected D 0 220.45.224.26 1151666512 1151702512 499 netscan_detected D 0 222.76.210.149 1151666756 1151702756 16 netscan_detected D 0 206.155.58.83 1151667516 1151703516 105 netscan_detected D 0 64.114.81.195 1151668641 1151704641 161 netscan_detected # # Trace_Entries # ------------- # # confn/ipaddress/firsttime/lasttime/count/countdst/countdpt T 0 219.136.206.12 1151665723 1151668290 6 3 1 T 0 195.22.30.100 1151667986 1151667995 3 1 1 T 0 80.247.193.215 1151668045 1151668488 2 2 1 T 0 193.189.68.70 1151668446 1151668449 2 1 1 T 0 65.214.44.227 1151669558 1151669567 3 1 1
Alle Variablen werden mit dem Zeichen ":" getrennt, alle Listenwerte werden durch ein TAB getrennt. Somit können in Skripten oder externen Programmen leicht Aussagen über den Zustand des Moduls getroffen werden. Für die Listeneinträge der Ablehnungsliste (Deny_Entries) und der Überwachungsliste (Trace_Entries) wird immer die Konfigurationsumgebung (confn) mit ausgegeben. Wie weiter oben schon angemerkt, kann es durchaus vorkommen, dass eine Quelladresse mehrfach auftaucht, allerdings pro einer Konfigurationsumgebung nur einmal!
Im diesem Beispiel werden nur Pakete und Verbindungen überwacht, die nach den Regeln zum Erlauben von Diensten und Anwendungen der Firewall nicht zugelassen wurden. Die folgende Umgebung wird folgende angenommen:
Netz DMZ: 1.1.1.0/24 Netzwerkkarten äußerer Router: - eth0: zum Internet - eth1: zur DMZ Webserver Standard http Port 80: - 1.1.1.4 - 1.1.1.43 DNS-Server - 1.1.1.3 Proxy-Server (http-Proxy) -1.1.1.2
Das nachfolgende Beispielskript der Firewall wird ohne Verwendung zusätzlich erstellter Ketten für IpTables oder Datenstrukturen in Skripten dargestellt, um die wesentlichen Inhalte hervorzuheben und die Lesbarkeit zu erhöhen.
#!/bin/bash #... ############################################################################## # PORTNETSCAN: Überprüfung Ablehnungsliste iptables -A FORWARD -i eth0 -o eth1 -m PORTNETSCAN --check-deny-entries\ --trace-entries 12000 -j DROP # # Standard Paketfilterregeln ############################################################################## # Webserver 1.1.1.4 iptables -A FORWARD -j ACCEPT -p TCP -i eth0 -o eth1 -d 1.1.1.4/32 --dport 80 \ --sport 1024: iptables -A FORWARD -j ACCEPT -p TCP -i eth1 -o eth0 -s 1.1.1.4/32 --sport 80 \ --dport 1024: !--syn # Webserver 1.1.1.43 iptables -A FORWARD -j ACCEPT -p TCP -i eth0 -o eth1 -d 1.1.1.43/32 \ --dport 80 --sport 1024: iptables -A FORWARD -j ACCEPT -p TCP -i eth1 -o eth0 -s 1.1.1.43/32 \ --sport 80 --dport 1024: !--syn ############################################################################## # DNS Server 1.1.1.3 # DNS: Server - Server iptables -A FORWARD -j ACCEPT -p UDP -i eth0 -o eth1 -d 1.1.1.3/32 --sport 53 \ --dport 53 iptables -A FORWARD -j ACCEPT -p UDP -i eth1 -o eth0 -s 1.1.1.3/32 --sport 53 \ --dport 53 # DNS: Server - Client iptables -A FORWARD -j ACCEPT -p UDP -i eth0 -o eth1 -d 1.1.1.3/32 --sport 53 \ --dport 1024: iptables -A FORWARD -j ACCEPT -p UDP -i eth1 -o eth0 -s 1.1.1.3/32 \ --sport 1024: --dport 53 # DNS: Client - Server iptables -A FORWARD -j ACCEPT -p UDP -i eth0 -o eth1 -d 1.1.1.3/32 \ --sport 1024: --dport 53 iptables -A FORWARD -j ACCEPT -p UDP -i eth1 -o eth0 -s 1.1.1.3/32 \ --sport 53 --dport 1024: ############################################################################## # Proxy Server (nur Standardverbindungen Port 80 und 443) iptables -A FORWARD -j ACCEPT -p TCP -i eth1 -o eth0 -s 1.1.1.2/32 \ --sport 1024: --dport 80 iptables -A FORWARD -j ACCEPT -p TCP -i eth0 -o eth1 -s 1.1.1.2/32 \ --dport 1024: --sport 80 !--syn iptables -A FORWARD -j ACCEPT -p TCP -i eth1 -o eth0 -s 1.1.1.2/32 \ --sport 1024: --dport 443 iptables -A FORWARD -j ACCEPT -p TCP -i eth0 -o eth1 -s 1.1.1.2/32 \ --dport 1024: --sport 443 !--syn # Ende aller Standard-Regeln ############################################################################## # PORTNETSCAN Überprüfung Auffälligkeiten iptables -A FORWARD -i eth0 -o eth1 -m PORTNETSCAN --trace-entries 12000 \ -j DROP ############################################################################## # Rest Ablehen iptables -A FORWARD -j DROP ############################################################################## # Policy-Standard-Regel setzen (ist zwingend nicht norwendig, da die letzte # Regel schon alle Pakete "DROP" IPTABLES -P FORWARD DROP't
In diesem Skript wurde zusätzlich die Veränderung der Parametrisierung des Moduls dargestellt. Der Parameter "--trace-entries" wurde auf den Wert 12000 gesetzt. Dies muss in beiden Aufrufen des Moduls geschehen, damit die beiden Aufrufe in derselben Konfigurationsumgebung durchgeführt werden.
Im ersten Aufruf mit den Parametern
-m PORTNETSCAN --check-deny-entries --trace-entries 12000wird nur geprüft, ob sich die Quelladresse des Rechners bereits in der Ablehnungsliste befindet. Hierbei wird nicht in den Überwachungseinträgen nachgesehen, ob eine Auffälligkeit wie Port-, Net-, oder Combinedscan vorhanden ist.
Im zweiten Aufruf, der nach den Standardregeln ausgeführt wird, wird das Modul mit den Parametern
-m PORTNETSCAN --trace-entries 12000aufgerufen. Jetzt wird vom Modul geprüft, ob eine Auffälligkeit vorhanden ist und einer der gesetzten Schwellwerte überschritten wird. Sollte dies der Fall sein, wird der Eintrag in die Ablehnungsliste verschoben. Ab diesem Moment wird beim Aufrufen der Funktion des Moduls an IpTables ein positives Ereignis für diese Quelladresse zurückgemeldet. Bei Angabe von "-j DROP" wird das Paket ni diesem Fall von IpTables im Kernel verworfen.