|
Konfiguration der Firewall Eine Firewall dient dazu, unberechtigten
Personen den Zugriff, meist von „außen“, auf bestimmte Dienste des lokalen Netzes zu untersagen. In unserem Fall wird der gesamte Zugriff von „außen“ untersagt, d.h. es kann sich jemand vom lokalen Netz aus z.B. per FTP
auf einer Maschine im Internet einloggen, aber es kann sich niemand vom Internet aus im LAN bzw. auf dem Router einloggen. Es ist jedoch auch möglich bestimmte Dienste (Ports) freizugeben, so daß sich bestimmte Personen
bzw. Rechner von „außen“ ins LAN einloggen dürfen.Dies wird wieder mit Hilfe von IP-Chains realisiert. Hierbei ist zu beachten, daß der Firewall Eintrag in der /etc/rc.config
bei dynamischer IP-Adressvergabe nicht aktiviert werden darf. Die Firewall darf/kann erst gestartet werden, nachdem der Router seine dynamische IP-Adresse vom Provider bekommen hat (nachdem die neuen Routing-Einträge gesetzt wurden) und muß wieder gestoppt werden, nachdem die Verbindung wieder beendet wurde (bevor die alten Routing-Einträge wieder gesetzt werden). Nach dem Zustandekommen einer Verbindung wird das Skript
/etc/ppp/ip-up ausgeführt (NICHT /etc/isdn/ip-up
!!!). Hier muß also die Firewall gestartet werden: /etc/ppp/ip-up im ip-up Teil erfolgt das Setzen der neuen Default Route:
/sbin/route add default gw $REMOTEIP dev $INTERFACE
neue default Route wurde gesetzt, jetzt muß die Firewall gestartet werden (die ipfwadm
Einträge können gelöscht werden) /sbin/init.d/firewall start
im ip-down Teil muß die Firewall wieder runtergefahren werden:
# workaround due to kernel problem with 'kernd': sleep 1 /sbin/init.d/firewall stop
/sbin/ifconfig $INTERFACE $IFCONFIG
In der Datei /etc/rc.config sind auch noch die entsprechenden Firewall Einträge anzupassen: # Firewall settings - See /usr/doc/packages/firewall
# for a detailed description # FW_START="no" Dieser Eintrag muß auf “no” gesetzt sein, da die Firewall nach dem Booten nicht automatisch gestartet werden darf. FW_LOCALNETS=IP@ippp0 Dieser Eintrag legt fest, daß die Firewall die dynamisch zugewiesene IP verwendet FW_FTPSERVER="" FW_WWWSERVER="" FW_SSLSERVER=""
FW_SSLPORT="443" FW_MAILSERVER="" FW_DNSSERVER="" FW_NNTPSERVER="" FW_NEWSFEED="" FW_WORLD_DEV="ippp0"
FW_INT_DEV="eth0" FW_LOG_ACCEPT="no" FW_LOG_DENY="yes" FW_ROUTER="" FW_FRIENDS="no" FW_INOUT="no" FW_SSH="no" FW_TRANSPROXY_OUT="" FW_TRANSPROXY_IN="" FW_REDIRECT=""
FW_TCP_LOCKED_PORTS="1:1023" FW_UDP_LOCKED_PORTS="1:1023" Die Ports 1 bis 1023 werden blockiert, wenn die Firewall aktiv ist.Jetzt sollte, wie nach jeder Änderung an /etc/rc.config, das Skript SuSEconfig gestartet werden. Nun kann die Firewall getestet werden. Wenn der Rechner Online ist und man versucht sich von außen auf
unseren Rechner z.B. per Telnet einzuloggen, erscheinen Meldungen der Firewall in /var/log/messages.
(beim einloggen von außen muß unsere dynamisch zugewiesene IP-Adresse benutzt werden)Firewall Meldungen in /var/log/messages: Jan 5
13:21:54 snoopy kernel: Packet log: user_fw DENY ippp0 PROTO=6 141.56.20.5:33531 62.158.112.72:23 L=44 S=0x10 I=18240 F=0x0000 T=44 SYN (#3) In
diesem Fall ist 141.56.20.5 der Rechner, von dem man sich einloggen will und 62.158.112.72 ist unsere dynamische IP-Adresse, die uns unser Provider zugewiesen hat. An der :23 hinter unserer IP-Adresse erkennt man, daß
es sich um den Telnet-Port handelt (siehe /etc/services). Wenn der Rechner die Verbindung
beendet, ist die Firewall nicht mehr aktiv. Dies kann mit dem Befehl ipchains –L –n
jederzeit überprüft werden. Mit diesem Befehl werden alle aktuell gesetzten IP-Chain-Regeln angezeigt.Rechner ist Online (Firewall ist aktiv): ipchains –L -n Chain input (policy ACCEPT):
target prot opt source destination ports
DENY udp ------ 192.168.1.32/27 0.0.0.0/0 137:139
-> 53 DENY tcp ------ 192.168.1.32/27 0.0.0.0/0
137:139 -> 53 user_fw all ------ 0.0.0.0/0 62.158.110.149 n/a
Alle Pakete (Source 0.0.0.0/0), die an unsere dynamisch zugewiesene IP-Adresse (Destination 62.158.110.149) gehen, werden an den Chain
user_fw weitergeleitet und dort überprüft.
Chain forward (policy ACCEPT):
target prot opt source destination ports
user_msq all ------ 192.168.1.32/27 0.0.0.0/0 n/a Chain output (policy ACCEPT):
Chain user_msq (1 references):
target prot opt source destination ports
MASQ all ------ 0.0.0.0/0 0.0.0.0/0 n/a
Chain user_fw (1 references): Alle Pakete, die an unsere dynamische IP-Adresse gehen, durchlaufen diesen user_fw Chain.
target prot opt source destination ports
DENY all ----l- 62.158.110.149 0.0.0.0/0 n/a Alle Pakete von unserer eigenen IP-Adresse abweisen.
DENY udp ----l- 0.0.0.0/0 0.0.0.0/0 * -> 1:1023
DENY tcp ----l- 0.0.0.0/0 0.0.0.0/0 * -> 1:1023
Nur die Portnummern größer als 1023 dürfen sich von außen verbinden. Somit wird verhindert, daß von außen diese Dienste mit den Portnummern kleiner
gleich 1023 (siehe /etc/services) gestartet werden.
ACCEPT all ------ 0.0.0.0/0 0.0.0.0/0 n/a
Falls keine der Regeln zutrifft, wird das Paket akzeptiert.Rechner ist Offline (Firewall ist inaktiv): ipchains –L –n Chain input (policy ACCEPT):
target prot opt source destination ports
DENY udp ------ 192.168.1.32/27 0.0.0.0/0 137:139 -> 53
DENY tcp ------ 192.168.1.32/27 0.0.0.0/0 137:139 -> 53 Chain forward (policy ACCEPT):
target prot opt source destination ports
user_msq all ------ 192.168.1.32/27 0.0.0.0/0 n/a Chain output (policy ACCEPT):
Chain user_msq (1 references):
target prot opt source destination ports
MASQ all ------ 0.0.0.0/0 0.0.0.0/0 n/a
Die Firewall Einträge (Chain user_fw) wurden wieder entfernt.Weiter zum Abschnitt:
Mailsystem Konfigurieren |