Ich scanne einen Server, der eine ziemlich einfache Firewall mit iptables haben sollte :standardmäßig wird alles außer RELATED
gelöscht und ESTABLISHED
Pakete. Die einzige Art von NEW
Zulässige Pakete sind TCP-Pakete auf Port 22 und 80 und das war's (kein HTTPS auf diesem Server).
Das Ergebnis von nmap auf den ersten 2048 gibt port 22 und 80 als offen aus, wie ich erwarte. Einige Ports werden jedoch als „gefiltert“ angezeigt.
Meine Frage ist:Warum erscheinen Port 21, 25 und 1863 als „gefiltert“ und die 2043 anderen Ports nicht als gefiltert?
Ich hatte erwartet, nur 22 und 80 als „offen“ zu sehen.
Wenn es normal ist, dass 21, 25 und 1863 als „gefiltert“ angezeigt werden, warum erscheinen dann nicht alle anderen Ports auch als „gefiltert“!?
Hier ist die nmap Ausgabe:
# 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 auf dem Server gestartet:
# 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 auf Port 8009 lauscht, aber dieser Port wird von der Firewall gelöscht)
Akzeptierte Antwort:
Die Aussage „Gefilterter Port“ von nmap unterscheidet sich je nach Scan-Methode.
Der Standard-Scan (TCP-Scan bei nicht privilegiertem Benutzer oder Half-Open-Scan -sS bei Superuser) basiert auf dem TCP-Protokoll . (mit dem Namen 3-Wege-Hanshake)
-
Ein Client (Sie) gibt ein SYN aus, wenn der Server SYN/ACK antwortet:Das bedeutet, dass der Port offen ist !
-
Sie geben ein SYN aus, wenn der Server RST antwortet:Dies bedeutet, dass der Port geschlossen ist !
- Sie geben ein SYN aus, wenn der Server nicht antwortet oder mit einem ICMP-Fehler antwortet:Das bedeutet, dass der Port gefiltert ist . Wahrscheinlich blockiert ein IDS / eine Stateful-Firewall Ihre Anfrage)
Um herauszufinden, was der tatsächliche Status des Ports ist, können Sie:
- benutze das -sV , oder -A Option (Versionserkennung, hilft Ihnen, den Status dieses Ports zu bestimmen.
- benutze –tcp-Flags SYN,FIN zu versuchen, die fw zu umgehen.
- verwenden Sie andere Scan-Typen (http://nmap.org/book/man-port-scanning-techniques.html)
Die hervorragende „Nmap Network Discovery ” Buch, geschrieben von seinem Schöpfer Fjodor, erklärt dies sehr gut.
Ich zitiere
gefiltert :Nmap kann nicht feststellen, ob der Port offen ist, da die Paketfilterung
verhindert, dass seine Sonden den Port erreichen. Die Filterung
kann von einem dedizierten Firewall-Gerät, Router-Regeln oder hostbasierter
Firewall-Software erfolgen. Diese Ports frustrieren Angreifer, weil sie
so wenig Informationen liefern. Manchmal antworten sie mit ICMP-Fehlermeldungen
wie Typ 3 Code 13 (Ziel nicht erreichbar:
Kommunikation administrativ verboten), aber Filter, die
Sonden einfach verwerfen, ohne zu antworten, sind weitaus häufiger. Dies zwingt Nmap
zu mehreren Wiederholungen, nur für den Fall, dass die Sonde aufgrund von
Netzwerküberlastung und nicht wegen Filterung verworfen wurde. Diese Art der Filterung verlangsamt
Scans dramatisch.
open|filtered :
Nmap versetzt Ports in diesen Zustand, wenn es nicht in der Lage ist,
festzustellen, ob ein Port offen oder gefiltert ist. Dies tritt bei Scantypen
auf, bei denen offene Ports keine Antwort geben. Das Ausbleiben einer Antwort kann
auch bedeuten, dass ein Paketfilter die Sonde oder eine von ihr ausgelöste
Antwort verworfen hat. Nmap weiß also nicht genau, ob der Port offen ist oder
gefiltert wird. Die UDP-, IP-Protokoll-, FIN-, NULL- und Xmas-Scans
klassifizieren Ports auf diese Weise.
closed|filtered :
Dieser Zustand wird verwendet, wenn Nmap nicht feststellen kann,
ob ein Port geschlossen oder gefiltert ist. Es wird nur für den in Abschnitt 5.10, „TCP-Leerlaufscan (-sl)
Leerlaufscan verwendet