GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum werden einige von Nmap gemeldete Ports gefiltert und die anderen nicht?

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)
Siehe auch:Nmap Basics Spickzettel

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)

besprochenen IP-ID
Leerlaufscan verwendet
Linux
  1. Linux – Warum verwenden wir Su – und nicht nur Su?

  2. CentOS / RHEL :So konfigurieren Sie vsftpd, dass andere Ports als die Standardports 20 und 21 verwendet werden

  3. Sind tar.gz und tgz dasselbe?

  4. So konfigurieren Sie iptables, damit ein unerwünschter Port nicht als gefiltert gemeldet wird

  5. Warum verwenden wir su - und nicht nur su?

Was ist Intel SGX und was sind die Vorteile?

Installation und Verwendung von Nmap Port Scanner

Warum sind einige Emoji B&W und andere zu groß?

Warum ist Port 1111 offen und ist das sicher?

Warum werden einige CPU-Modelle der Intel-Familie 6 (Core 2, Pentium M) nicht von intel_idle unterstützt?

So fügen Sie ein Symbol hinzu (oder fügen Sie einfach einen Zeilenumbruch hinzu), wenn die Zahlen im Text nicht fortlaufend sind