Ich habe einen AWS-Server, auf dem Linux läuft. Wenn ich von der Maschine selbst aus eine ausführe netstat -lntp
, werden mir (wie erwartet) einige offene Ports angezeigt, aber 445 oder 139 werden nicht angezeigt. Das ist verständlich, da ich Samba auf dieser Maschine noch nie eingerichtet habe. Wenn ich außerdem die laufenden Prozesse aufliste und nach smb
oder grep suche samba
, wird nichts angezeigt, das läuft.
Wenn ich mir die Firewall-Regeln für den Server ansehe, sehe ich, dass eingehender Datenverkehr nur auf den Ports 80 und 22 zugelassen ist. Ausgehender Datenverkehr ist auf allen Ports zu allen Zielen zulässig, aber ich glaube nicht, dass das relevant ist.
Das Problem ist, dass, wenn ich von außerhalb des Netzwerks eine Verbindung herstelle nmap
, angezeigt wird, dass die Ports 139 und 445 geschlossen sind. Warum ist das so? Nach meinem Verständnis bedeutet „geschlossen“, dass die Firewall die Pakete zum Server durchlässt, aber auf dem Port nichts lauscht. Warum lässt die Firewall den Datenverkehr durch?
Antwort1
Nach meinem Verständnis bedeutet „geschlossen“, dass die Firewall die Pakete zum Server durchlässt, aber auf dem Port nichts lauscht. Warum lässt die Firewall den Datenverkehr durch?
„Geschlossen“ bedeutet, dass nmap ein TCP-RST-Paket empfangen hat. Dies ist tatsächlich die Art und Weise, wie IP-Hosts reagieren sollten, wenn auf dem Port nichts lauscht.
Allerdings weiß nmap nicht, ob das Reset-Paket vom eigentlichen Host kam, oder ob esdurch eine Firewall gefälschtauf dem Weg. (Viele Firewalls sind tatsächlich so konfiguriert, dass sie Verbindungsversuche explizit ablehnen und nicht stillschweigend ignorieren. Dadurch werden lange Timeouts auf der Clientseite vermieden.)
Es könnte sein, dass die Firewall Ihres Servers
reject with tcp-reset
o. Ä. verwendet.Es könnte auch sein, dass das Netzwerk, das Sie scannenausist so konfiguriert, dass aus Sicherheitsgründen alle ausgehenden SMB-Verbindungen blockiert werden (z. B. um zu verhindern, dass Arbeitsstationen über NTLM mit bösartigen Servern kommunizieren) und es generiert die „RSTs“.
Es könnte sogar sein, dass dieInternetanbietervon dem aus Sie scannen – oder der ISP, bei dem Ihr Server gehostet wird – blockiert SMB-Verbindungen über sein WAN, um die mögliche Verbreitung von Malware (wie dem alten Conficker-Wurm) zu verhindern.
Wenn Sie sich die Pakete mit tcpdump ansehen, ist ein von einer Middlebox gefälschtes RST natürlich für den Server unsichtbar (weil der Server es nicht gesendet hat), und solche Paketekönntehaben eine verdächtig andere TTL als die tatsächlichen Antworten, die der Server generiert.
Verwenden Sie es nmap --reason
, um zu sehen, warum ein bestimmter Status angezeigt wird. Beachten Sie, dass, obwohl nmap ein TCP RST als „geschlossen“ ansieht (da der Host keine Verbindungen akzeptiert hat), einige andere Tools es tatsächlich als „offen“ bezeichnen (in der Annahme, dass die Firewall die Pakete durchgelassen hat).