Anscheinend hat diese Frage noch niemand gestellt (die meisten betreffen hostbasierte Firewalls).
Jeder, der mit Port-Scanning-Tools (z. B. nmap) vertraut ist, weiß alles über SYN-Scanning, FIN-Scanning und dergleichen, um offene Ports auf einem Host-Rechner zu ermitteln. Die Frage ist jedoch, wie Sie die offenen Ports auf einer Firewall selbst ermitteln (unabhängig davon, ob der Host, mit dem Sie sich hinter der Firewall verbinden möchten, diese bestimmten Ports geöffnet oder geschlossen hat). Dies setzt voraus, dass die Firewall Ihre IP-Verbindung blockiert.
Beispiel: Wir alle kommunizieren mit serverfault.com über Port 80 (Web-Datenverkehr). Ein Scan auf einem Host würde zeigen, dass Port 80 offen ist. Wenn sich serverfault.com hinter einer Firewall befindet und diesen Datenverkehr trotzdem durchlässt, können wir davon ausgehen, dass die Firewall auch Port 80 offen hat. Nehmen wir nun an, die Firewall blockiert Sie (z. B. steht Ihre IP-Adresse auf der Sperrliste oder fehlt in der Zulassungsliste). Sie wissen, dass Port 80 offen sein muss (das funktioniert bei entsprechenden IP-Adressen), aber wenn Sie (die nicht zugelassene IP) einen Scan versuchen, verwerfen alle Port-Scan-Versuche der Firewall das Paket (einschließlich Port 80, von dem wir wissen, dass er offen ist). Wie können wir also einen direkten Firewall-Scan durchführen, um offene/geschlossene Ports auf der Firewall selbst aufzudecken, während wir weiterhin die nicht zugelassene IP verwenden?
Antwort1
Das tun Sie nicht. Aus Sicht der Paketfilterung gibt es keinen Unterschied zwischen dem, was der Host Ihnen zeigt, und dem, was die Firewall Ihnen zeigt. Wenn Sie die IP-Adresse der Firewall selbst scannen (vorausgesetzt, sie hat überhaupt eine IP-Adresse), ist es unwahrscheinlich, dass sie dieselben Regeln anwendet wie für den Datenverkehr, der an den dahinter liegenden Host gebunden ist.
Allerdings kann es sein, dass Ihnen in manchen Konfigurationen versehentlich nur die Informationen angezeigt werden, die die Firewall zulässt.
Nehmen wir das Beispiel eines Hosts, der auf Datenverkehr auf Ports, die er nicht abhört, mit einer Ablehnung (einem RST
Paket, was ein normales TCP-Verhalten ist) reagiert, und einer Firewall, die den Datenverkehr stillschweigend ablehnt. Angenommen, der Host hört nur auf Port 80, aber die Firewall lässt 80 und 25 durch. Die Firewall lässt den Datenverkehr von Port 25 durch, den der Host ablehnt, Port 80, mit dem der Host eine Verbindung herstellt, und blockiert alle anderen.
nmap würde anzeigen, dass bei diesem Host Port 80 geöffnet, Port 25 geschlossen und alle anderen Ports gefiltert sind. nmap ist so aufgebaut, dass es diese Art von Unterschied anzeigt, um Ihnen dabei zu helfen, das Verhalten des betrachteten Hosts zu bestimmen.
Antwort2
Wenn Sie zum Ausführen des Port-Scans einen Webdienst verwenden oder den Port-Scan von einem externen Standort aus für Ihre externe IP-Adresse ausführen, sehen Sie, welche Ports in der Firewall geöffnet sind.
Dies ist der erste Webdienst, den ich bei einer Google-Suche gefunden habe; wahrscheinlich gibt es noch andere:http://www.hackerwatch.org/probe/
Antwort3
Wenn Sie Eigentümer der Firewall sind und Funktionstests durchführen möchten, können Sie vor dem Scannen einen Sniffer auf einem Port des Switches einrichten, der mit seiner DMZ-Schnittstelle verbunden ist. Auf diese Weise können Sie alle Pakete abfangen, die durchgekommen sind, selbst wenn der Zielhost gerade ausgefallen ist oder auf einem bestimmten Port nicht antwortet. Dadurch erhalten Sie mehr Einblick, als das Tool, das den Scan durchführt, bieten kann.