it-swarm.com.de

Warum werden einige Ports von nmap gefiltert und nicht die anderen?

Ich scanne einen Server, der eine ziemlich einfache Firewall haben sollte, mit iptables: Standardmäßig wird außer RELATED und ESTABLISHED Paketen alles DROPped. Der einzige zulässige Typ von NEW Paketen sind TCP Pakete an Port 22 und 80 und das war's (kein HTTPS auf diesem Server).

Das Ergebnis von nmap auf den ersten 2048 Ports ergibt 22 und 80 so offen, wie ich es erwarte. Einige Ports werden jedoch als "gefiltert" angezeigt.

Meine Frage ist: Warum erscheinen Port 21, 25 und 1863 als "gefiltert" und die anderen 2043 Ports nicht als gefiltert?

Ich habe erwartet, nur 22 und 80 als "offen" zu sehen.

Wenn es normal ist, 21,25 und 1863 als "gefiltert" zu sehen, warum werden dann nicht auch alle anderen Ports als "gefiltert" angezeigt?

Hier ist die Ausgabe nmap:

# nmap -PN 94.xx.yy.zz -p1-2048

Starting Nmap 6.00 ( http://nmap.org ) at 2014-06-12 ...
Nmap scan report for ksXXXXXX.kimsufi.com (94.xx.yy.zz)
Host is up (0.0023s latency).
Not shown: 2043 closed ports
PORT     STATE    SERVICE
21/tcp   filtered ftp
22/tcp   open     ssh
25/tcp   filtered smtp
80/tcp   open     http
1863/tcp filtered msnp

Ich verstehe wirklich nicht, warum ich 2043 geschlossene Ports habe:

Not shown: 2043 closed ports

und nicht 2046 geschlossene Ports.

Hier ist ein lsof, der auf dem Server gestartet wurde:

# lsof -i -n
COMMAND   PID USER   FD   TYPE   DEVICE SIZE NODE NAME
named    3789 bind   20u  IPv4     7802       TCP 127.0.0.1:domain (LISTEN)
named    3789 bind   21u  IPv4     7803       TCP 127.0.0.1:953 (LISTEN)
named    3789 bind  512u  IPv4     7801       UDP 127.0.0.1:domain 
sshd     3804 root    3u  IPv4     7830       TCP *:ssh (LISTEN)
sshd     5408 root    3r  IPv4 96926113       TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
sshd     5411    b    3u  IPv4 96926113       TCP 94.xx.yy.zz:ssh->aa.bb.cc.dd:37516 (ESTABLISHED)
Java    16589    t   42u  IPv4 88842753       TCP *:http-alt (LISTEN)
Java    16589    t   50u  IPv4 88842759       TCP *:8009 (LISTEN)
Java    16589    t   51u  IPv4 88842762       TCP 127.0.0.1:8005 (LISTEN)

(Beachten Sie, dass Java/Tomcat lauscht auf Port 8009, aber dieser Port wird von der Firewall DROPped)

40
Cedric Martin

Die Anweisung 'Gefilterter Port' von nmap unterscheidet sich je nach Scanmethode.

Der Standard-Scan (TCP-Scan bei nicht privilegiertem Benutzer oder Half-Open-Scan -sS bei Superuser) basiert auf dem Protokoll TCP. (genannt 3-Wege-Hanshake)

  • Ein Client (Sie) gibt eine SYN aus, wenn der Server SYN/ACK antwortet: Dies bedeutet, dass der Port offen ist !

  • Sie geben eine SYN aus, wenn der Server RST antwortet: Dies bedeutet, dass der Port geschlossen ist !

  • Sie geben eine SYN aus, wenn der Server nicht antwortet oder mit einem ICMP-Fehler antwortet: Dies bedeutet, dass der Port gefiltert ist . Wahrscheinlich blockiert eine IDS/Statefull-Firewall Ihre Anfrage.

Um den tatsächlichen Status des Ports zu ermitteln, können Sie:

Das ausgezeichnete Buch " Nmap Network Discovery", geschrieben von seinem Schöpfer Fyodor, erklärt dies sehr gut. Ich zitiere

gefiltert: Nmap kann nicht feststellen, ob der Port geöffnet ist, da die Paketfilterung verhindert, dass seine Sonden den Port erreichen. Die Filterung kann von einem dedizierten Firewall-Gerät, Router-Regeln oder einer Host-basierten Firewall-Software erfolgen. Diese Ports frustrieren Angreifer, weil sie so wenig Informationen liefern. Manchmal antworten sie mit ICMP-Fehlermeldungen wie Code 3 vom Typ 3 (Ziel nicht erreichbar: Kommunikation administrativ verboten), aber Filter, die Sonden einfach fallen lassen, ohne zu antworten, sind weitaus häufiger. Dies zwingt Nmap, es mehrmals zu versuchen, nur für den Fall, dass die Sonde aufgrund einer Netzwerküberlastung fallen gelassen wurde, anstatt zu filtern. Diese Art der Filterung verlangsamt das Scannen dramatisch.

open | gefiltert: Nmap versetzt Ports in diesen Zustand, wenn nicht festgestellt werden kann, ob ein Port geöffnet oder gefiltert ist. Dies tritt bei Scan-Typen auf, bei denen offene Ports keine Antwort geben. Das Fehlen einer Antwort könnte auch bedeuten, dass ein Paketfilter die Sonde oder eine von ihm ausgelöste Antwort fallen ließ. Nmap weiß also nicht genau, ob der Port geöffnet ist oder gefiltert wird. Die UDP-, IP-Protokoll-, FIN-, NULL- und Xmas-Scans klassifizieren Ports auf diese Weise.

geschlossen | gefiltert: Dieser Status wird verwendet, wenn Nmap nicht feststellen kann, ob ein Port geschlossen oder gefiltert ist. Es wird nur für den IP ID Idle Scan verwendet, der in Abschnitt 5.10, "TCP Idle Scan (-sl)" beschrieben wird.

28
Florian Bidabe

warum erscheinen Port 21, 25 und 1863 als "gefiltert" und die anderen 2043 Ports nicht als gefiltert?

Weil in Ihrem ISP, Router, Ihrem Netzwerkadministrator alles zwischen ihnen oder Ihnen selbst sie filtert. Diese Ports haben eine ziemlich schlechte Historie. Der 1863 ist der Port, der vom Microsoft Instant Messaging-Protokoll (auch bekannt als MSN und Freunde) verwendet wird. Ich glaube, Sie haben möglicherweise eine bestimmte Regel festgelegt (oder auch nicht). Das SMTP scheint Ihr ISP der Schuldige zu sein und FTP hat mich total verblüfft, da ich keine Ahnung habe, was mit ihnen passieren könnte.

10
Braiam

Standardmäßig durchsucht Nmap nur die gängigsten 1.000 Ports für jedes Protokoll (tcp, udp). Wenn sich Ihr Port außerhalb dieses Protokolls befindet, wird er nicht gescannt und daher nicht gemeldet. Sie können jedoch Ports angeben, die Sie mit der Option -p scannen möchten.