Firewall und Masquerading auf SuSE Linux 6.4/7.0/7.1

Supportdatenbank (sm_masq2)
Bezieht sich auf

SuSE Linux: Versionen 6.4 bis 7.1
Dieser Artikel bezieht sich auf eine ältere SuSE Linux Version. Daher ist es möglich, dass die Informationen in diesem Artikel nicht mehr auf dem neuesten Stand sind bzw. der Artikel nicht mehr funktionierende Links enthält.

Kernel: Versionen ab 2.2

Anliegen:

Vorgehen:

Vorbemerkungen

  1. Reines Masquerading ohne Filterung

    Dieses Vorgehen ermöglicht Rechnern aus dem internen Netz Zugriff aufs Internet, ohne daß eine Filterung stattfindet.

    Achtung: Bitte beachten Sie, daß dieses Vorgehen zwar auf einfachste Art Internetzugriff für alle internen Rechner bietet, diese aber relativ schutzlos stehen lässt. Das bedeutet, Sie sollten diese Variante auf keinen Fall im Produktiven Einsatz benutzen.

    Achtung 2: Ab SuSE Linux 7.1 sollten Sie diesen Weg nicht mehr nutzen, sondern personal-firewall für das Masquerading einsetzen. (siehe weiter unten)

    Aus diesem Grund werde ich auch in diesem Absatz nicht (!) erwähnen, daß /sbin/init.d ab SuSE Linux 7.1 nach /etc/init.d verschoben wurde und daher die Pfade in diesem Absatz nicht passen.

    Das Paket ipchains (Serie sec) muß installiert sein.

    Die Variable START_FW in /etc/rc.config setzten Sie auf "no".

    Legen Sie die Datei /sbin/init.d/masquerade mit folgendem Inhalt an:
    Da hierbei sehr oft cut-and-paste Fehler im Zusammenhang mit dem Browser auftreten machen Sie das am besten mit Lynx und dem folgenden Befehl:

    lynx -dump http://sdb.suse.de/sdb/de/html/sm_masq2.html > masquerade
    Danach müssen Sie nur noch den Text vor und nach dem Script löschen.

    
    #! /bin/sh
    
    . /etc/rc.config
    
    PROG="/sbin/ipchains"
    WORLD_DEV="ippp0"
    MODULES="ip_masq_autofw ip_masq_cuseeme ip_masq_ftp ip_masq_irc ip_masq_mfw \
           ip_masq_portfw ip_masq_quake ip_masq_raudio ip_masq_user ip_masq_vdolive"
    
    LOADED_MODULES=$(lsmod|grep ip_masq|cut -d " " -f1)
    
    return=$rc_done
    
    if [ ! -x $PROG ]
    then
      echo -n "Start masquerading failed- install ipchains"
      return=$rc_failed
      echo -e "$return"
      exit 1
    fi
    
    case "$1" in
     start)
       echo -n "Starting masquerading"
       echo "1" > /proc/sys/net/ipv4/ip_forward
    
       $PROG -F || return=$rc_failed
       $PROG -A forward -i $WORLD_DEV -j MASQ || return=$rc_failed
    
       for i in $MODULES;do
          insmod $i > /dev/null 2>&1 || return=$rc_failed;
       done
    
       echo -e "$return"
       ;;
    
    stop)
       echo -n "Shutting down masquerading"
    
       $PROG -F || return=$rc_failed
    
       test "$IP_FORWARD" = no && echo "0" > /proc/sys/net/ipv4/ip_forward
    
       for i in $LOADED_MODULES;do
          rmmod $i > /dev/null 2>&1 || return=$rc_failed;
       done
    
       echo -e "$return"
       ;;
    
    *)
    
       echo "Usage: $0 {start|stop}"
       exit 1
       ;;
    esac
    
    test "$return" = "$rc_done" || exit 1
    
    exit 0
    
    

    Sie müssen "ippp0" durch das richtige Device ersetzen, mit dem Sie die Verbindung zum Internet herstellen.
    Das Verfahren geht natürlich auch genauso mit einem Analogen Anschluß und ppp0

    Machen Sie die Datei ausführbar: chmod 700 /sbin/init.d/masquerade.

    Legen Sie die entsprechenden Links zum automatischen Starten in den entsprechenden Runlevels an:

       ln -s ../masquerade /sbin/init.d/rc2.d/S99masquerade
       ln -s ../masquerade /sbin/init.d/rc2.d/K51masquerade
       ln -s ../masquerade /sbin/init.d/rc3.d/S99masquerade
       ln -s ../masquerade /sbin/init.d/rc3.d/K51masquerade
    

    Ab dem nächsten Booten können Rechner aus dem internen Netz auf das Internet zugreifen, sofern bei diesen der Masqerading- Rechner als Default- Gateway eingetragen ist.

  2. Masquerading mit einfacher Filterung (ab SuSE Linux 7.1)

    Ab SuSE Linux 7.1 ist die beste Lösung für einfaches Masquerading die Benutzung von personal-firewall . Diese Variante ist auch sehr einfach zu konfigurieren, bietet aber einen gewissen Schutz für das interne Netz da am äußeren Device alle eingehenden Verbindungen abgelehnt werden.

    Um diese Lösung zu benuzten muß das Paket personal-firewall installiert sein. Bei einer Neuinstallation ist es in der Standardauswahl, bei einem Update von einer älteren SuSE Linux Version muß es eventuell nachinstalliert werden. Sie finden es in der Serie sec.

    Außerdem gibt es Update auf ftp://ftp.suse.com/pub/suse/i386/update/7.1/sec1/personal-firewall.rpm

    Zur Konfiguration muß nur eine Variable angepasst werden:

    REJECT_ALL_INCOMING_CONNECTIONS in der Datei /etc/rc.config.d/security.rc.config .

    Mögliche Werte sind:

    D.h. im Standardfall mit einer Netzwerkkarte eth0 und ISDN-Einwahl ippp0 würde der Eintrag ausschauen wie folgt um den gesamten Verkehr vom internen Netz über ippp0 zu maskieren und alle eingehenden Verbindungen von außen zu blocken:

    REJECT_ALL_INCOMING_CONNECTIONS="ippp0 masq"

  3. Firewall mit Paketfilterung

    Hier finden Sie nur eine kurze Beschreibung der Einstellungen in /etc/rc.config.d/firewall.rc.config.

    Folgende Pakete müssen installiert sein:

    Die Variable START_FW= in /etc/rc.config setzten Sie auf "yes", damit die Firewallscripte beim Booten ausgeführt werden.

    Wenn Ihr Firewall ein Einwahlrechner mit dynamischen IP-Adressen ist, müssen Sie den Aufruf von /sbin/SuSEfirewall in das Script /etc/ppp/ip-up eintragen.

    Benutzen Sie SuSE Linux 7.0 oder 7.1, so stehen bereits vorbereitete Einträge in /etc/ppp/ip-up.
    Sie müssen dann nur die Variable START_FW in /etc/rc.config auf yes setzen.
    Sollten Sie beim Booten des Rechners Fehlermeldungen über fehlende Devices erhalten, so können Sie diese ignorieren, da die wirklichen Regeln erst bei der Einwahl gesetzt werden.

    Alle sonstigen Einstellungen nehmen Sie in /etc/rc.config.d/firewall.rc.config vor.

    Bitte beachten Sie unbedingt die folgenden Hinweise:

    Für die Konfiguration, Einrichtung und Wartung Ihres Firewalls können wir Ihnen keine Hilfestellung im Rahmen des Installationssupports gewähren.

    Lesen Sie auch unbedingt die Dokumentation unter /usr/doc/packages/firewals bei SuSE Linux 6.4 bzw. /usr/share/doc/packages/firewals bei SuSE Linux 7.0 bzw. /usr/share/doc/packages/SuSEfirewall/ bei SuSE Linux 7.1 und im Handbuch Kapitel 6.7 und 18.

    Wenn Sie nur diese Einstellungen vornehmen und SuSEfirewall verwenden, ist Ihr System aber keineswegs per se sicher!
    Es gibt keine Lösung die Sie einfach installieren und damit vor allem Bösen aus dem Netz geschützt sind.

    Um die Sicherheit eines Firewall-Servers weiter zu erhöhen, sollten Sie:

    Die Konfiguration geschieht nach folgenden möglichen Varianten:

    Die Optionen im einzelnen:

    Folgende Optionen sollten Sie auf den Standardeinstellungen belassen oder nur ändern, wenn Sie genau wissen was Sie tun:


Stichwörter: FIREWALL, MASQUERADING, FORWARDING, ROUTING, EINWAHLRECHNER, IPCHAINS, ROUTER

SDB-sm_masq2, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 25. Apr 2000
SuSE Linux AG - Zuletzt generiert: 08. Feb 2002 von sdb (sdb_gen 1.40.0)