Hardware
Installation
Konfiguration
IP-Adressen
LAN-Anbindung
Einrichtung ISDN
IP-Masquerading
NetBIOS Protokoll
Firewall
Mailsystem
USENET News
Novell-Emulation
Fax-Empfang
X-Window System
Modem-Einwahl
Web-Server
Web-Proxy
Systemwartung
Konfiguration der Firewall

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