[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ H ] [ weiter ]
Diese Informationen trug Francois Bayart bei, um Benutzern zu helfen, eine
Linux Bridge/Firewall mit 2.4.x Kernel und iptables
aufzusetzen.
Ein Kernelpatch wird nicht mehr benötigt, da der Code Standardinhalt der
Linux-Kernel-Distribution wurde.
Um die notwendigen Einstellungen im Kernel vorzunehmen, rufen Sie make menuconfig oder make xconfig auf. Aktivieren Sie im Abschnitt Networking options folgende Optionen:
[*] Network packet filtering (replaces ipchains) [ ] Network packet filtering debugging (NEW) <*> 802.1d Ethernet Bridging [*] netfilter (firewalling) support (NEW)
Passen Sie auf, dass Sie dieses hier deaktiviert haben, wenn Sie Firewall-Regeln anwenden wollen. Anderenfalls wird iptables nicht funktioniert.
[ ] Network packet filtering debugging (NEW)
Anschließend müssen Sie die korrekten Optionen im Abschnitt IP: Netfilter
Configuration setzen. Dann kompilieren und installieren Sie den Kernel.
Wenn Sie dies auf die Debian-Art machen wollen, installieren Sie
kernel-package
und benutzen Sie make-kpkg
um ein
maßgeschneidertes Debian-Kernelpaket zu erstellen, das Sie mit dpkg auf Ihrem
Server installieren können. Sobald der neue Kernel kompiliert und installiert
ist, müssen Sie das Paket bridge-utils
installieren.
Wenn Sie diesen Schritt abgeschlossen haben, können Sie die Konfiguration Ihrer Bridge fertigstellen. Im nächsten Abschnitt werden Ihnen zwei verschiedene mögliche Konfigurationen einer Bridge vorgestellt. Beide sind mit einer Übersicht eines hypothetischen Netzwerks und den notwendigen Befehlen versehen.
Die erste Konfigurationsmöglichkeit benutzt die Bridge als Firewall mit Network Address Translation (NAT, Übersetzung der Netzwerkadressen), die einen Server und interne LAN-Clienten schützt. Unten wird eine Darstellung der Anordnung des Netzwerks gezeigt:
Internet ---- router ( 62.3.3.25 ) ---- bridge (62.3.3.26 gw 62.3.3.25 / 192.168.0.1) | | |---- WWW Server (62.3.3.27 gw 62.3.3.25) | | LAN --- Zipowz (192.168.0.2 gw 192.168.0.1)
Die folgenden Befehle zeigen, wie diese Bridge konfiguriert werden kann:
# So wird die Schnittstelle br0 erstellt: /usr/sbin/brctl addbr br0 # Hinzufügen der Ethernet-Schnittstelle, die die Bridge benutzen # soll /usr/sbin/brctl addif br0 eth0 /usr/sbin/brctl addif br0 eth1 # Starten der Ethernet-Schnittstelle /sbin/ifconfig eth0 0.0.0.0 /sbin/ifconfig eth1 0.0.0.0 # Konfigurieren der Ethernet-Bridge # Die Bridge wird korrekt und unsichtbar (transparente Firewall) sein. # In einem traceroute ist sie versteckt, und Sie behalten Ihr echtes # Gateway auf Ihren anderen Computern. Jetzt können Sie ein Gateway # auf Ihrer Bridge konfigurieren und es auf Ihren anderen Computern als # neues Gateway einsetzen /sbin/ifconfig br0 62.3.3.26 netmask 255.255.255.248 broadcast 62.3.3.32 # Ich habe diese internen IPs für mein NAT benutzt ip addr add 192.168.0.1/24 dev br0 /sbin/route add default gw 62.3.3.25
Eine zweite denkbare Konfiguration ist ein System, das als transparente Firewall für ein LAN mit einer öffentlichen IP-Adresse aufgesetzt ist.
Internet ---- router (62.3.3.25) ---- bridge (62.3.3.26) | | |---- WWW Server (62.3.3.28 gw 62.3.3.25) | | |---- Mail Server (62.3.3.27 gw 62.3.3.25)
Die folgenden Kommandos zeigen, wie diese Bridge konfiguriert werden kann:
# So wird die Schnittstelle br0 erstellt: /usr/sbin/brctl addbr br0 # Hinzufügen der Ethernet-Schnittstelle, die die Bridge benutzen # soll /usr/sbin/brctl addif br0 eth0 /usr/sbin/brctl addif br0 eth1 # Starten der Schnittstelle /sbin/ifconfig eth0 0.0.0.0 /sbin/ifconfig eth1 0.0.0.0 # Konfigurieren der Ethernet-Bridge # Die Bridge wird korrekt und unsichtbar (transparente Firewall) sein. # In einem traceroute ist sie versteckt, und Sie behalten Ihr echtes # Gateway auf Ihren anderen Computern. Jetzt können Sie ein Gateway # auf Ihrer Bridge konfigurieren und es auf Ihren anderen Computern als # neues Gateway einsetzen /sbin/ifconfig br0 62.3.3.26 netmask 255.255.255.248 broadcast 62.3.3.32
Wenn Sie mit traceroute
die Route des Linux-Mail-Servers
verfolgen, sehen Sie die Bridge nicht. Wenn Sie mit ssh
auf die
Bridge zugreifen wollen, müssen Sie ein Gateway haben oder erst auf einen
anderen Server wie den "Mail Server" zugreifen, um dann über die
interne Netzwerkkarte auf die Bridge zuzugreifen.
Dies ist ein Beispiel für grundlegende Regeln, die für beide Einstellungen benutzt werden können:
iptables -F FORWARD iptables -P FORWARD DROP iptables -A FORWARD -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -m state --state INVALID -j DROP iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Zwei lustige Regeln, aber nicht bei klassischen Iptables. Sorry ... # Limit ICMP # iptables -A FORWARD -p icmp -m limit --limit 4/s -j ACCEPT # Übereinstimmende Strings, eine gute, einfache Methode, um Viren sehr # schnell abzublocken # iptables -I FORWARD -j DROP -p tcp -s 0.0.0.0/0 -m string --string "cmd.exe" # Abblocken aller MySQL-Verbindungen, nur um ganz sicher zu gehen iptables -A FORWARD -p tcp -s 0/0 -d 62.3.3.0/24 --dport 3306 -j DROP # Regeln für den Linux Mail Server # # Erlaube FTP-DATA (20), FTP (21), SSH (22) iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.27/32 --dport 20:22 -j ACCEPT # Dem Mail-Server erlauben, sich mit der Außenwelt zu verbinden # Beachten Sie: Dies ist *nicht* für die vorherigen Verbindungen # notwendig (erinnern Sie sich: stateful filtering) und könnte entfernt # werden: iptables -A FORWARD -p tcp -s 62.3.3.27/32 -d 0/0 -j ACCEPT # Regeln für den WWW-Server # # Erlaube HTTP ( 80 ) Verbindungen mit dem WWW-Server iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.28/32 --dport 80 -j ACCEPT # Erlaube HTTPS ( 443 ) Verbindungen mit dem WWW-Server iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.28/32 --dport 443 -j ACCEPT # Dem WWW-Server erlauben, sich mit der Außenwelt zu verbinden # Beachten Sie: Dies ist *nicht* für die vorherigen Verbindungen # notwendig (erinnern Sie sich: stateful filtering) und könnte entfernt # werden: iptables -A FORWARD -p tcp -s 62.3.3.28/32 -d 0/0 -j ACCEPT
[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ H ] [ weiter ]
Anleitung zum Absichern von Debian
Version: 3.11, Mon, 11 Feb 2008 22:36:31 +0100jfs@debian.org