Login
Newsletter
Werbung

Mo, 17. April 2000, 00:00

Firewalling unter Linux

Mit Port Forwarding Arbeit verteilen

Soll sich ein anderer Server im LAN mit der IP-LAN-Adresse WORKER_IP_LAN um die Bearbeitung von WWW-Anfragen (Port 80) kümmern, so können Sie mit folgendem Befehl die Anfragen, die an die Firewall gerichtet waren, von der Firewall auf diesen Rechner leiten:

ipmasqadm portfw -a -P -tcp -L $IP_LAN 80 -R $WORKER_IP_LAN 80

Nun benötigt die Firewall aber noch die ipchains-Regeln, die Anfragen am Port 80 akzeptieren und die Pakete an den anderen Server abgeben:

ipchains -A input -d $IP_INET 80 -p tcp -i $DEV_INET -j ACCEPT
ipchains -A output -d $WORKER_IP_LAN 80 -p tcp -i $DEV_LAN -j ACCEPT

Natürlich müssen auch die Antworten des Servers wieder ins Internet gelangen:

ipchains -A input -s $WORKER_IP_LAN 80 -p tcp -i $DEV_LAN -j ACCEPT ! -y
ipchains -A forward -s $WORKER_IP_LAN 80 -p tcp -i $DEV_INET -j MASQ ! -y
ipchains -A output -s $IP_INET 80 -p tcp -i $DEV_INET -j ACCEPT ! -y

Abwehr bestimmter Angriffe

Damit Sie überhaupt merken, dass Sie angegriffen wurden, sollten Sie hinter jedes DENY ein -l schreiben, um das erfolgreich abgewehrte Paket in der Log-Datei zu vermerken.

Nicht jedes dadurch mitgeloggte Paket ist auch ein Angriff gewesen. Manchmal benutzt nur einer der Anwender der Clients im LAN ein seltenes Protokoll, welches ähnlich dem FTP-Protokoll eine Verbindung von außen zum Client aufbauen muss. Bei der Regel, die dieses Paket mitgeloggt hat, können Sie das -l beruhigt entfernen und den Paketen keine weitere Beachtung schenken.

Vergessen Sie bitte auch nicht, dass Sie damit nur die Angriffe mitloggen, die erfolgreich abgewehrt wurden. Falls wirklich eine Sicherheitslücke in der Konfiguration Ihrer Firewall existiert, so wird diese Ihnen damit nicht auffallen.

ICMP

Das ICMP-Protokoll dient der Übermittlung von Statusmeldungen zu Routern oder Rechnern.

Hier ist eine Liste der möglichen ICMP-Flags, die Sie mit ipchains und der Option -icmp-type <Name des Typs/Nummer des Typs> einzeln aktivieren oder deaktivieren können. Somit ist es Ihnen relativ einfach möglich, die Firewall zum Beispiel vor einem Ping zu verstecken. Ein möglicher Angreifer im Internet wird es als schwer haben, zu bemerken, dass Ihre Firewall am Internet angeschlossen ist.

Paket-Typ Name Funktion
0 echo-reply Ping-Signal beantworten
3 destination unreachable Keine Route gefunden
5 redirect Router sendet neue Zieladresse
8 echo request Ping-Signal senden
11 Route zu lang, zu viele Hops

Eine ausführlichere Liste erhalten sie durch Eingabe von ipchains -h icmp.

Verbindungspakete

Damit ein Rechner eine Verbindung zu einem anderen Rechner aufbauen kann, muss er den Wunsch zum Verbindungsaufbau durch in IP-Paket mit gesetzten SYN-Bit äußern. Nur wenn der Server, zu dem eine Verbindung aufgebaut werden soll, dieses Paket akzeptiert, kann eine Verbindung aufgebaut werden. Der Server kann aber auch alle Pakete mit gesetzten SYN-Bit ignorieren und somit verhindern, dass anderen Rechner zu ihm eine IP-Verbindung aufbauen.

Wenn die Firewall also alle IP-Pakete, die aus dem Internet an sie gesendet werden und ein gesetztes SYN-Bit haben, ignoriert, dann kann sie so verhindern, dass ein möglicher Angreifer aus dem Internet eine Verbindung zu ihr aufbaut.

Das Testen der Firewall

Nach einer Veränderung an der Konfiguration der Firewall ist es oft notwendig, diese zu testen. Damit Sie nicht zu allen Clients im LAN laufen und bei jedem einzeln überprüfen müssen, ob seine Pakete auch wirklich durch durch die Firewall gelangen, können Sie den Paketdurchlauf mit ipchains simulieren.

Beispiel:

ipchains -C input -i eth0 -p tcp -y -s 192.168.0.5 80 -d 192.168.0.1 1044

Diese Befehlszeile überprüft, ob die input-Regelliste ein TCP-Paket von Port 80 des Rechners 192.168.0.5, das eine Verbindung aufbauen möchte und über die erste Ethernetkarte mit dem Ziel 192.168.0.1 Port 1044 ankommt, akzeptieren würde.

Um eine noch ausführlichere Ausgabe zu erhalten, können Sie zusätzlich -v verwenden. Also:

ipchains -v -C <Name der Liste> <Paketbeschreibung> ...

Quellen

Henning Emmerich, »Netzwerk in Ketten«, cŽt 17/1999, S. 194
David Ranch, Ambrose Au, »Linux IP Masquerade mini HOWTO«
Frank Bernhard, »Brandschutz-2.2«, Linux-Magazin 6/99, S.86

  • Dieses Werk wurde unter der GNU General Public License veröffentlicht. Kopieren, Verbreiten und/oder Modifizieren ist erlaubt unter den Bedingungen der GNU GPL, veröffentlicht von der Free Software Foundation.

    - Weitere Informationen
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung