Linux Firewall mit ipchains

auth/ident und ICMP

Ein weiterer wichtiger Punkt ist, dass noch viele im Internet befindliche unter Unix laufende FTP-Server (und auch E-Mail-Server) bei einem Verbindungsaufbau einen sogenannten "auth/ident-lookup" durchführen. Sie wollen dadurch erfahren, welche Benutzerkennung auf dem Client eben diese Verbindung aufbauen will.

Dieser Dienst kann im Intranet nützlich sein (in Zusammenarbeit mit "tcp_wrapper" für erweiterte Zugriffskontrolle), doch im Internet ist er nicht mehr wirklich sinnvoll (außer vielleicht bei IRC). Bei Windows-Clients ist dieser Dienst sowieso nicht standardmäßig vorhanden, bei Unix-Clients hoffentlich deaktiviert.

Das Login eines solchen FTP-Servers erscheint nur, wenn diese Anfrage erfolgreich war oder eine bestimmte Zeit vergangen ist. Da auf einer Firewall ein solcher Dienst nicht aktiv ist, können Verbindungen zu FTP-Server über den Proxy etwas länger dauern, denn in der bisherigen Konfiguration verwirft die Firewall einfach die Pakete, ohne dem Absender (FTP-Server) eine Rückmeldung zu geben.

Um dies zu ändern und damit die Verzögerung zu verkürzen, kommen zwei weitere Regeln ins Spiel. Die erste führt beim Versuch eines Verbindungsaufbaus einen "reject" durch, indem ein ICMP-Paket mit dem Typ "port-unreachable" zurückgeschickt wird. Das Versenden eben dieses Pakets erlaubt die zweite Regel.

# Internet -> Firewall: auth/ident-lookup (REJECT)
ipchains -A input -i ppp0 -p tcp -dport 113 -y -j REJECT
# Firewall -> Internet: port unreachable
ipchains -A output -i ppp0 -p icmp --icmp-type port-unreachable -j ACCEPT