Workshop SLOS (Teil 8): Security und Firewall

17.10.2003 von Jörg Luther
Der SuSE Linux Office Server bringt in einer Box alles mit, was ein zentraler Unternehmensrechner in kleinen Firmen bieten muss. Dieser Teil des Workshops führt Sie durch die Konfiguration der Firewall.

Mit dem SuSE Linux Office Server (alias SLOS) offeriert SuSE eine kompakte, umfassend ausgestattete und auch für Linux-Einsteiger handhabbare Server-Komplettlösung für kleine Netze. Dabei bedient der SLOS nicht nur die Linux-Klientel, sondern kommt auch mit Windows-Arbeitsplätzen bestens zurecht.

Der Workshop ist ein Auszug aus unserem tecCHANNEL-Compact "Linux-Server Komplettpaket" mit SLOS-CD. Dieses Kompendium ist zwar schon vergriffen, auf seine geballten Vorteile brauchen Sie aber dennoch nicht zu verzichten. Zum kleinen Preis von 5,90 Euro (für Premium-Leser selbstverständlich kostenlos) haben wir für Sie folgendes Download-Paket geschnürt:

Mit diesem Paket können kleine und mittlere Unternehmen auf einfache Art ihre Arbeitsplätze unter Windows (9x/ME/NT/2000/XP) und Linux vernetzen. Aber auch zu Hause leistet das Komplettpaket bei der einfachen Vernetzung und dem sicheren Internet-Zugang nützliche Dienste.

Der SLOS brilliert nicht nur als File-/Printserver und NT-Server-Ersatz für Windows-Maschinen. Er betätigt sich zudem auch als Internet-Gateway für die Clients, als Firewall für das lokale Netz sowie als Proxy- und Intranet-Server. Mit etwas händischer Nacharbeit erledigt er daneben auch die elektronische Post.

Umfassende Einrichtungs-Assistenten und ein ausführliches Handbuch machen die Einrichtung des SLOS für den Linux-Kenner zum Kinderspiel. Für den weniger mit dem Open-Source-OS vertrauten Anwender bleiben trotzdem an vielen Stellen noch Fragen offen. Die soll unser ausführlicher SLOS-Workshop beseitigen. Zudem bietet er Tipps, Tricks und Ergänzungen zu Funktionen und Einsatzgebieten, die die SLOS-Dokumentation auslässt.

Der vorliegende Teil 8 unserer Reihe beschäftigt sich mit den Sicherheitsaspekten beim Einsatz des SuSE Linux Office Server. Insbesondere zeigen wir auf, wie Sie Ihren Server mit Hilfe einer Firewall absichern und vor Angriffen aus dem Internet schützen.

Überblick: Workshop SLOS

Teil

Überschrift

Teil 1

SuSE Linux Office Server installieren

Teil 2

Windows- und Linux-Clients konfigurieren

Teil 3

Internet-Zugang über ISDN und ADSL

Teil 4

Printserver und Intranet einrichten

Teil 5

Squid: Proxy-Server einrichten

Teil 6

Apache: Webserver einrichten

Teil 7

NIS/NFS, DHCP, DNS und Samba

Teil 8

Security und Firewall

Teil 9

Server-Fernwartung mit Cygwin

Lokale Sicherheit

Zu den grundlegenden Leistungsmerkmalen jeder Unix-ähnlichen Betriebssystem-Plattform - und darunter fällt auch Linux - zählt die Möglichkeit, dass mehrere User (Multi-User) verschiedene Aufgaben zur gleichen Zeit auf demselben Rechner (Multi-Tasking) ausführen können.

Dabei darf man vom Betriebssystem erwarten, dass es netzwerktransparent ist. Das bedeutet, dass man als Benutzer nicht bemerkt, ob die Daten oder Applikationen, mit denen man arbeitet, sich auf dem lokalen Rechner oder anderswo im Netzwerk befinden.

Die spezielle Eigenschaft, dass mehrere Benutzer an einem System arbeiten können, führt zu der Notwendigkeit, dass die User und ihre Daten voneinander getrennt werden können. Das Trennen der Benutzer und ihrer Daten in einem Rechner ist grundsätzlich die Aufgabe des Users root.

Netzwerksicherheit

Andererseits soll in Sachen Netzwerksicherheit das gesamte System gegen Angriffe aus dem lokalen und Weitverkehrsnetz geschützt werden. Obwohl man bei der klassischen Authentifizierung eine Benutzerkennung und ein Passwort eingeben muss, ist diese Benutzeranmeldung eher Gegenstand der lokalen Sicherheit. Speziell beim Einloggen über eine Netzwerkverbindung trennen sich die Sicherheitsaspekte auf in das, was bis zur Authentifizierung passiert - die Netzwerksicherheit - und in das, was danach erfolgt - die lokale Sicherheit.

In diesem Teil des Workshops beschränken wir uns auf den Gesichtspunkt der Netzwerksicherheit. Dabei soll das gesamte System gegen Angriffe aus dem LAN und dem Internet geschützt werden. Auf die lokale Sicherheit gehen wir an dieser Stelle nicht näher ein.

Dass die Benutzer in Ihrem Netzwerk zum Beispiel keine Passwörter verwenden sollten, welche sich durch schlichtes Erraten oder mit ein wenig Social Engineering herausbekommen lassen, versteht sich hoffentlich von selbst. Im Klartext bedeutet das, dass die Mitarbeiterin Jasmin Mustermann, Geburtsjahr 1980, als Passwort nicht gerade Jasmin80 verwenden sollte. Für den User root sind derart unsichere Passwortvarianten ohnehin absolut tabu.

Angriffe aus dem Internet

In vielen Fällen fungiert der SuSE Linux Office Server als Router für das lokale Netzwerk und das Internet. Der Begriff Router bezieht sich hierbei auf einen Rechner, der mehr als ein Netzwerk-Interface besitzt und Pakete zwischen verschiedenen Netzen austauscht.

Diese Eigenschaft birgt auch die größte Gefahr für den Server: Bei jedem Verbindungsaufbau ins Internet ist der Rechner der potenziellen Gefahr von Angriffen ausgesetzt. Im schlimmsten Fall erhält ein Hacker Zugang zu Ihrem Server und kann auf sensible Firmendaten zugreifen.

Eine große Gefahr stellen auch so genannte Denial-of-Service-Attacken dar, kurz DoS. Ziel dieser Art von Angriffen ist das Unterbinden der Nutzung eines Dienstes auf dem Server oder gleich des gesamten Systems.

Dies kann auf verschiedene Arten passieren, beispielsweise durch eine Überlastung des Systems oder durch die Beschäftigung des Servers mit unsinnigen Datenpaketen. Zum Abwehren solcher Angriffe hilft nur eine sauber aufgesetzte Firewall, deren Konfiguration wir Ihnen auf den nächsten Seiten erläutern.

Personal Firewall

Der SuSE Linux Office Server kommt mit zwei verschiedenen Firewalls daher: der einfacheren Personal Firewall und der umfangreichen SuSEfirewall. Die Personal Firewall ist insbesondere dafür gedacht, ohne großen Konfigurationsaufwand zu verhindern, dass fremde Rechner aus dem Internet eine Verbindung zu Ihrem SuSE Linux Office Server aufbauen können.

Gleichzeitig werden jedoch Verbindungen von Ihren eigenen Rechnern aus zu Rechnern im Internet zugelassen. Somit ist die Personal Firewall für die üblichen Anforderungen gut geeignet und bietet an sich einen ausreichenden Schutz.

Funktion

Beim Einrichten der gemeinsamen Internet-Verbindung, wie in Teil 3 des Workshops beschrieben, verwendet der SuSE Linux Office Server beim Aktivieren der Firewall in YaST2 die Personal Firewall. Sie filtert am entsprechenden Netzwerk-Interface folgende Daten:

Beim Einsatz dieser Firewall kann es zu unangenehmen Wechselwirkungen mit manchen Diensten kommen. So funktionieren dann beispielsweise aktives FTP, ICQ, RealAudio und einige andere Services nicht mehr. Falls Sie in Ihrem Netzwerk solche Dienste zur Verfügung stellen wollen, sollten Sie statt der Personal Firewall die umfangreichere SuSEfirewall verwenden, die sich detaillierter konfigurieren lässt. Die Einrichtung dieser Firewall beschreiben wir später.

Konfiguration

Bei der Personal Firewall lässt sich lediglich der Name des Netzwerk-Interface konfigurieren, auf dem Anfragen zum Aufbau einer Verbindung abgewiesen werden sollen. Dies erledigt das Konfigurationstool YaST2 für Sie, wenn Sie die Firewall beim Einrichten einer Internet-Verbindung aktivieren.

Zum Erstellen einer manuellen Konfiguration müssen Sie stattdessen die Datei /etc/rc.config.d/security.rc.config editieren. Unter REJECT_ALL_INCOMING_CONNECTIONS tragen Sie die Netzwerk-Interfaces ein, deren ankommender Datenverkehr gefiltert werden soll. Neben den Namen der Netzwerk-Interfaces wie ippp0 oder eth0 sind die in der untenstehenden Tabelle aufgeführten Schlüsselwörter erlaubt:

Personal Firewall im Detail

Option

Beschreibung

no

Die Personal Firewall ist nicht aktiv. Gleiches gilt auch, wenn Sie hinter der Variable REJECT_ALL_INCOMING_CONNECTIONS keine Netzwerk-Interfaces angeben.

yes

Bis auf das Interface lo wirkt die Firewall auf alle anderen Netzwerk-Interfaces. Bei lo handelt es sich um das Loopback-Interface.

modem

Bezeichnet angeschlossene Modems und ist die Kurzform für die Interface-Namen, die mit ppp beginnen, also ppp0, ppp1 et cetera.

masq

Pakete, die den Rechner zwar erreichen, aber nicht für eines der Interfaces des Servers bestimmt sind, sollten bei der Weiterleitung entsprechend maskiert werden (Masquerading).

SuSEfirewall

Die alternativ verfügbare SuSEfirewall bietet deutlich mehr Konfigurationsmöglichkeiten als die einfachere Personal Firewall. Andererseits ist das Einrichten etwas aufwendiger und erfordert wesentlich mehr Grundlagenwissen und Erfahrung im Bereich Firewalls.

Dafür können Sie diese Firewall mehr an Ihre individuellen Voraussetzungen und Bedürnisse anpassen. So stehen Ihnen zahlreiche Optionen zum Regeln des Internet-Verkehrs zur Verfügung. Besonders für das Masquerading bietet die SuSEfirewall eine Vielzahl von Optionen.

Auf dem SuSE Linux Office Server finden Sie zudem unter /usr/share/doc/packages/SuSEfirewall/ eine ausführliche Dokumentation der SuSEfirewall, die viele bei der Konfiguration auftretende Fragen beantwortet.

Die gesamte Konfiguration der SuSEfirewall erfolgt über die Konfigurationsdatei /etc/rc.config.d/firewall.rc.config. Die einzelnen Optionen sind in der Datei mehr oder weniger ausführlich kommentiert, so dass die Mehrzahl der Einstellungen selbsterklärend sind.

Konfiguration

Bei der einen oder anderen Option ist es jedoch nicht einfach, die korrekte Einstellung zu finden. Aus diesem Grund steht auf den folgenden Seiten eine Schritt-für-Schritt-Anleitung zur erforderlichen Konfiguration. Wir führen bei jedem Punkt an, ob dieser für Masquerading, für die Firewall oder für beides gilt.

Zusätzliche Informationen zum Masquerading bietet unser Beitrag Masquerading mit Linux. Details zum Einrichten von Linux als Firewall finden Sie auch in den Beiträgen Linux als Firewall, Linux-Firewalls mit ipchains sowie Firewall-Grundlagen. Weitere Artikel zum Betriebssystem Linux finden Sie in den Channels Netzwerk, Sicherheit und Server.

Damit die SuSEfirewall beim Booten des Servers gestartet wird, müssen Sie in der Datei /etc/rc.config die Variable START_FW auf yes setzen. Alternativ können Sie hierfür auch den RC.Config-Editor von YaST2 verwenden. Die entsprechende Einstellung finden Sie unter "Start-Variables, Start-Firewall".

SuSEfirewall im Detail

Auf den folgenden Seiten haben wir die wichtigsten Optionen der SuSEfirewall und ihre Beschreibung für Sie zusammengestellt.

SuSEfirewall im Detail

Option

Firewall, Masquerading

Beschreibung

FW_DEV_WORLD

Firewall, Masquerading

Diese Einstellung legt das Netzwerk-Interface fest, über das die Verbindung ins Internet aufgebaut wird.

FW_DEV_INT

Firewall, Masquerading

Hier tragen Sie das Interface ein, über das der Server mit dem lokalen Netz verbunden ist.

FW_ROUTE

Firewall, Masquerading

Wenn Sie Masquerading einsetzen, müssen Sie bei dieser Option yes eintragen. Bei einer Firewall ohne Masquerading gilt dies nur dann, wenn man Zugang zum lokalen Netzwerk haben möchte. Das funktioniert jedoch nur dann, wenn die internen Rechner offiziell zugewiesene IP-Adressen besitzen. Wenn Sie yes wegen Masquerading eintragen, bleiben Ihre Clients dennoch von außen unsichtbar, da Sie ja private Netzwerkadressen wie 192.168.x.x haben und diese im Internet nicht geroutet werden können.

FW_MASQUERADE

Masquerading

Soll die Firewall ein Masquerading vornehmen, dann tragen Sie hier yes ein.

FW_MASQ_NETS

Masquerading

Geben Sie hier die Rechner an, für die Masquerading möglich sein soll. Einzelne Einträge trennen Sie dabei durch ein Leerzeichen, wie zum Beispiel FW_MASQ_NETS=192.168.0.0/24 193.168.0.118.

FW_PROTECT_FROM_INTERNAL

Firewall

Soll der Rechner auch vor Angriffen aus dem lokalen Netzwerk geschützt werden, tragen Sie bei dieser Option yes ein. In diesem Fall müssen Sie jedoch die Services, die für das interne Netzwerk verfügbar sind, explizit freigeben. Beachten Sie hierzu auch die Optionen FW_SERVICES_INTERNAL_TCP und FW_SERVICES_INTERNAL_UDP.

FW_SERVICES_EXTERNAL_TCP

Firewall

Geben Sie hier die Services an, auf welche zugegriffen werden soll, wie beispielsweise www smtp ftp.

FW_SERVICES_EXTERNAL_UDP

Firewall

Wenn Sie keinen Nameserver betreiben, auf den von außen zugegriffen werden soll, lassen Sie diese Option leer. Anderenfalls geben Sie die benötigten Ports an.

FW_SERVICES_INTERNAL_TCP

Firewall

Mit dieser Option legen Sie die für das lokale Netzwerk zur Verfügung stehenden Dienste fest. Die Angaben sind analog zu denen unter FW_SERVICES_EXTERNAL_TCP, nur eben für das interne Netzwerk.

FW_SERVICES_INTERNAL_UDP

Firewall

Siehe FW_SERVICES_INTERNAL_TCP.

FW_TRUSTED_NETS

Firewall

Geben Sie hier die Rechner an, denen Sie wirklich vertrauen, den "Trusted Hosts". In der Regel sollten Sie diese Option der Sicherheit halber leer lassen. Die Angabe 172.20.0.0/16 172.30.4.2 hat zur Folge, dass alle Rechner, deren IP-Adresse mit 172.20.x.x beginnt, sowie der Rechner mit der IP-Adresse 172.30.4.2 durch die Firewall hindurch können.

FW_SERVICES_TRUSTED_TCP"

Firewall

Mit dieser Option können Sie TCP-Ports und damit die Dienste festlegen, die von den "Trusted Hosts" benutzt werden dürfen. Die Angabe 1:65535 lässt alle Hosts zu. In der Regel dürfte hier der Service ssh ausreichend sein.

FW_SERVICES_TRUSTED_UDP

Firewall

sinngemäß wie FW_SERVICES_TRUSTED_TCP, jedoch auf UDP bezogen.

FW_ALLOW_INCOMING_HIGHPORTS_TCP

Firewall

Falls Sie aktives FTP zulassen wollen, tragen Sie an dieser Stelle ftp-data ein.

FW_ALLOW_INCOMING_HIGHPORTS_UDP

Firewall

Geben Sie hier dns ein, damit sie den in /etc/resolv.conf eingetragenen Nameserver verwenden können. Die Angabe yes gibt alle hohen Ports frei.

FW_SERVICE_DNS

Firewall

Falls Sie einen eigenen Nameserver betreiben, auf den auch von außen zugegriffen werden soll, müssen Sie hier yes eintragen.

FW_LOG_*

-

Legen Sie hier fest, was Sie alles im Log protokollieren wollen. In der Regel reicht ein yes bei FW_LOGDENY_CRIT.

FW_STOP_KEEP_ROUTING_STATE

Firewall

Falls Sie sich automatisch über Dial-on-Demand ins Internet einwählen möchten, geben Sie hier yes an.

FW_AUTOPROTECT_GLOBAL_SERVICES

Firewall

Diese Option belassen Sie stets auf yes.

Detaillierte Informationen über TCP- und UDP-Ports zum Konfigurieren einer Firewall bietet Ihnen der Artikel Ports im Überblick. Weitere Details zu Aufbau und Funktionsweise der Internet-Protokolle TCP und UDP finden Sie im Beitrag So funktionieren TCP/IP und IPv6.

Weitere Tipps zur Sicherheit Ihres Servers

Neben dem Einsatz sicherer Passwörter und einer gut konfigurierten Firewall gibt es eine Vielzahl weiterer Möglichkeiten, wie Sie Ihren SuSE Linux Office Server bestmöglich schützen können.

Vermeiden Sie es als User root zu arbeiten, entsprechend dem Prinzip, die geringst nötigen Privilegien für eine Aufgabe zu benutzen. Für die meisten Administrationsaufgaben reicht das Administratorkonto.

Deaktivieren Sie sämtliche Netzwerkdienste, die Sie nicht unbedingt benötigen. Dies macht Ihr System sicherer. Offene Ports finden Sie mit dem Programm net-stat. Als Optionen empfehlen sich netstat -ap oder netstat -anp.

Mit einem regelmäßigen Blick in die Log-Files der netzwerkrelevanten Programme schließlich erkennt man bereits auf den ersten Blick, was ungewöhnlich ist oder nicht.

Ausblick

In den bisherigen Workshop-Teilen haben wir uns mit der Grundeinrichtung des SuSE Linux Office Server sowie maßgeschneiderten Konfigurationen der Serverkomponenten für das Internet und das lokale Netz beschäftigt.

In der nächsten und letzten Folge unseres Workshops zeigen wir Ihnen, wie Sie den Office Server einfach und komfortabel aus der Ferne administrieren können. Dazu setzen wir von einem Windows-Client aus Cygwin zur Verwaltung über eine grafische Oberfläche ein. (jlu)

Überblick: Workshop SLOS

Teil

Überschrift

Teil 1

SuSE Linux Office Server installieren

Teil 2

Windows- und Linux-Clients konfigurieren

Teil 3

Internet-Zugang über ISDN und ADSL

Teil 4

Printserver und Intranet einrichten

Teil 5

Squid: Proxy-Server einrichten

Teil 6

Apache: Webserver einrichten

Teil 7

NIS/NFS, DHCP, DNS und Samba

Teil 8

Security und Firewall

Teil 9

Server-Fernwartung mit Cygwin