AA_alarm_sxc_794163.jpg

© sxc.hu

Brandschutz

Die OpenSuse-Firewall konfigurieren

11.03.2011
OpenSuse richtet bei der Installation automatisch eine Firewall ein und startet diese jedes Mal, wenn Sie den Rechner hochfahren. Dieser Artikel zeigt, was die Firewall genau macht und wie Sie Ihre Einstellungen vornehmen.

Linux gilt als sicheres Betriebssystem, weil es viele restriktive Mechanismen mitbringt. Dadurch haben Viren und andere Schädlinge unter Linux einen schweren Stand. Verbindet sich Ihr Rechner hingegen mit dem Internet, bieten sich Angreifern trotzdem einige Möglichkeiten. Um diese möglichst klein zu halten, setzt OpenSuse eine Personal Firewall [1] ein, die beim Start des Rechners automatisch hochfährt.

Pro und Contra

Das Wichtigste Vorweg: So lange Sie mit Ihrem Rechner keine Probleme feststellen, sollten Sie an den Firewall-Einstellungen nichts ändern. Sie schützt auch den SSH-Dienst, der in OpenSuse 11.4 in der Grundeinstellung nicht aktiviert ist. Der Artikel erklärt weiter unten, wie Sie einzelne Ports für bestimmte Dienste freischalten. Richten Sie über YaST andere Dienste ein, zum Beispiel einen Webserver, passt YaST die Firewall automatisch an. Installieren Sie hingegen ein Programm, das gegen Ihr Wissen einen Dienst im Internet anbieten möchte, dann bietet Ihnen die Firewall guten Schutz. Doch was macht die Firewall genau?

Eine Firewall benötigen Sie vor allem, wenn Sie auf dem Rechner so genannte Serverdienste betreiben, die nach außen kommunizieren und von dort Verbindungen annehmen. Die Kommunikation zwischen zwei Rechnern erfolgt über so genannte Ports. Möchten Sie zum Beispiel über das verschlüsselte SSH-Protokoll auf einen anderen Rechner zugreifen, muss auf dem Rechner, an dem Sie sich anmelden möchten, der SSH-Serverdienst aktiv sein. Dieser benutzt in der Grundeinstellung den Port 22 zur Kommunikation.

Ohne Firewall hat jedes Programm über diesen Port Zugriff auf den Dienst. Eine Firewall kontrolliert im wesentlichen, woher die Pakete stammen (Adresse/Port), wohin Sie wollen (Adresse/Port) und welchen Weg sie dabei nehmen (Interface). Eine Firewall arbeitet daher als Paketfilter.

Läuft auf Ihrem Rechner kein solcher Serverdienst, dann benötigen Sie somit theoretisch keine Firewall. Weil die meisten Nutzer sich jedoch nicht bewusst sind, ob Sie einen Serverdienst aktiviert haben, nutzt OpenSuse standardmäßig eine Firewall. Ebenfalls keine Firewall benötigen Sie, wenn Sie per (WLAN-)Router ins Internet gehen, da diese Geräte meistens über eine Firewall verfügen.

Diese schützt im Unterschied zur Personal Firewall nicht nur einen Rechner, sondern alle Rechner, die per Router über das Internet kommunizieren. Um zu überprüfen, ob Ihr Rechner externe Dienste anbietet, eignet sich das Tool Nmap, das Sie im Terminal mit Befehl sudo zypper install nmap installieren. Über den Aufruf nmap localhost zeigt es, welche Ports der Rechner bereitstellt (Abbildung 1).

Abbildung 1: Auf diesem Rechner sind die Ports 25, 111 und 631 offen. Eine Firewall blockiert sie bei Bedarf.

OpenSuse-Firewall

Um die Firewall unter OpenSuse einzurichten, drücken Sie [Alt]+[F2] und starten YaST über den Befehl kdesu yast2. Hier rufen Sie das Modul Sicherheit und Benutzer | Firewall auf (Abbildung 2). Ist die Checkbox neben Automatischen Firewall-Start aktivieren markiert, startet die Firewall bei jedem Systemstart automatisch. Im Abschnitt An- und ausschalten sehen Sie, ob die Firewall zurzeit arbeitet (Aktueller Status). Möchten Sie die Firewall vorübergehend ausschalten, klicken Sie auf den Button Firewall jetzt stoppen.

Abbildung 2: Das Firewall-Modul von YaST führt Sie in wenigen Schritten durch die Konfiguration.

Den Status der Firewall überprüfen und die Firewall vorübergehend ausschalten, können Sie auch ohne YaST. Ob die Firewall gerade läuft, verrät die Ausgabe des Befehls rcSuSEfirewall2 status als Benutzer root in einem Terminal mit Systemverwaltungsmodus. Über rcSuSEfirewall2 stop deaktivieren Sie die Brandschutzmauer, über rcSuSEfirewall2 start starten Sie sie wieder (Abbildung 3).

Abbildung 3: Als Systemadministrator können Sie die Firewall im Terminal (Systemverwaltungsmodus) vorübergehend anhalten und wieder starten.

Drinnen oder draußen

Unter Schnittstellen zeigt YaST die vorhandenen und konfigurierten Netzwerkgeräte an. Für jedes dieser Geräte legen Sie fest, ob es zur internen oder zur externen Netzwerkzone gehört (Abbildung 4). Die externe Zone verbindet Ihren Rechner mit dem Internet, ein lokales Netzwerk zählt hingegen zur internen Zone.

Abbildung 4: Jedes Netzwerkgerät können Sie der externen oder der internen Zone zuweisen.

Zwischen den zwei Zonen Externe Zone und Interne Zone gibt es noch einen Pufferbereich, die Demilitarisierte Zone heißt. Darin befinden sich normalerweise Rechner, die zwar externe Serverdienste anbieten, aber zusätzlich auch Kontakt zum internen Netz haben. Für einen normalen Heimrechner benötigen Sie jedoch keine demilitarisierte Zone.

Sie können für jedes Netzwerkgerät festlegen, zu welcher Zone es gehört. Da aber YaST dieses Setup in der Regel bereits bei der Installation automatisch vornimmt, brauchen Sie an den Firewall-Einstellungen nichts zu ändern. Ein (WLAN-)Router, über den Sie Ihren Rechner direkt mit dem Internet verbinden, gehört in die externe Zone; eine Netzwerkkarte für das interne Heimnetz hingegen in die interne Zone. Benutzen Sie die Netzwerkkarte aber, um über ein DSL-Modem online zu gehen, dann weisen Sie diese der externen Zone zu.

Ein Grenzfall tritt auf, wenn die Rechner, die über einen Router online gehen, zugleich auch zu einem internen Netz gehören. Möchten Sie das interne Netzwerk aktiv nutzen, setzen Sie die Netzwerkkarte auf die interne Zone, um die Kommunikation unter den einzelnen Rechnern nicht unnötig zu komplizieren.

Kommunizieren die einzelnen Rechner hingegen nicht untereinander, spricht nichts dagegen, die Ethernet-Schnittstelle (eth0) der externen Zone zuzuordnen und so eine doppelte Sicherheit zu haben (Firewall auf dem Router und auf jedem Rechner). Weisen Sie einem Gerät keine Zone zu, dann blockiert die Firewall jeglichen Verkehr über dieses Netzwerkgerät. Der Button Benutzerdefiniert erlaubt es darüber hinaus, weitere Netzwerkschnittstellen einzurichten, zum Beispiel für Hardware, die YaST nicht erkannt hat.

Erlaubt und verboten

Über Erlaubte Dienste (Abbildung 5) legen Sie die Dienste für die einzelnen Zonen fest. OpenSuse bietet dazu die am häufigsten benutzten Dienste in einer Liste zur Auswahl an. So brauchen Sie sich keine Portnummern zu merken. Wählen Sie über die Dropdown-Liste Zu erlaubender Dienst den entsprechenden aus und klicken Sie auf Hinzufügen.

Für SSH zum Beispiel wählen Sie den gleichnamigen Eintrag; um dagegen automatisch eine Liste der im Netzwerk verfügbaren Drucker zu erhalten, wählen Sie IPP-Client. Möchten Sie die Firewall für einen Dienst öffnen, der nicht in der Liste steht, klicken Sie auf Erweitert. Im folgenden Dialog geben Sie die Portnummer unter TCP-Ports und UDP-Ports an. Für das Filesharing-Programm Amule geben Sie hier zum Beispiel den TCP-Port 4662 und den UDP-Port 4672 an.

In der Grundeinstellung blockiert die Firewall keinen Verkehr über die interne Zone. Möchten Sie auch die interne Zone regulieren, markieren Sie die Checkbox Firewall vor interner Zone schützen und fügen Sie wie oben beschrieben einzelne Dienste hinzu.

Abbildung 5: In diesem Dialog geben Sie einzelne Dienste frei und richten Sie die zugehörigen Ports ein.

Maskenball

Eine Besonderheit der Firewall finden Sie unter dem Punkt Masquerading. Besitzt Ihr Rechner mehrere Netzwerkgeräte (zum Beispiel WLAN und Ethernet, oder zwei Ethernet-Karten), könnte er als Router arbeiten. Er stellt dann die Internetverbindung für die übrigen Rechner bereit und versteckt zugleich die internen Rechner vor dem Internet. Sämtlicher Netzwerkverkehr findet in diesem Fall über die IP-Adresse der externen Schnittstelle statt, egal von welchem Rechner des internen Netzes die Anfrage kommt.

Dazu benötigen Sie ein Netzwerkgerät als Externe Zone (direkt mit dem Internet verbunden) sowie ein anderes, das an der internen Zone (internes Netz) hängt. Per Mausklick auf die Checkbox vor Masquerading für Netzwerke schalten Sie dann die IP-Umleitung ein.

Möchten Sie einen bestimmten Rechner oder einen Dienst trotzdem auf einem der maskierten Rechner erreichen, legen Sie dazu unter Anfragen an Masqueraded IP umleiten Regeln fest. Klicken Sie dazu auf Hinzufügen und legen Sie unter Umleitung die IP-Adresse und den Port des Clients fest. Beachten Sie, dass gewisse Dienste TCP- und UDP-Regeln benötigen. Diese Vorgehensweise heißt Portforwarding. Die meisten Router und Switches stellen sowohl Portforwarding als auch Masquerading bereit.

Die Einstellungen unter Broadcast richten sich an fortgeschrittene Nutzer. Sie legen fest, welche Pakete Ihr Rechner verschickt, um an Informationen über andere Rechner und Dienste zu gelangen. Über Hinzufügen ändern Sie die Grundeinstellung, was aber in der Regel nur bei Rechnern Sinn ergibt, die über die externe Schnittstelle Serverdienste anbieten.

Die OpenSuse-Firewall hält in den Logdateien fest, welche nicht erlaubten Broadcast-Pakete aus dem internen Netz und welche aus der demilitarisierten Zone stammen. Broadcast-Pakete der externen Zone protokolliert das System nicht, da hier mit sehr vielen Log-Einträgen zu rechnen wäre. Haben Sie bereits Erfahrung mit Filterregeln, haben Sie hier die Möglichkeit, die Protokollieroptionen zu ändern. Andernfalls belassen Sie die Broadcast-Einstellungen wie sie sind.

Protokolle

Unter Protokollierungs-Level legen Sie fest, wie umfangreich OpenSuse über Verstöße gegen die Firewall-Regeln Buch führt. In der Grundeinstellung hält die OpenSuse-Firewall nur kritische Meldungen fest, über die Dropdown-Liste ändern Sie dieses Verhalten. Die Firewall schreibt sämtliche Meldungen in die Datei /var/log/messages. Beachten Sie, dass bei der Auswahl von Alles Protokollieren sehr viele Log-Einträge entstehen. Über Individuelle Regeln erlaubt YaST auch das Hinzufügen eigener Iptables-Regeln.

YaST speichert sämtliche Einstellungen in der Konfigurationsdatei /etc/sysconfig/SuSEfirewall2 und für die einzelnen Dienste unter /etc/sysconfig/SuSEfirewall2.d/services/. Über die Konfigurationsdatei definieren Sie bei Bedarf weitere Zonen. Nach einem Klick auf Weiter zeigt Ihnen YaST nochmals eine Übersicht über die vorgenommenen Änderungen an (Abbildung 6). Per Klick auf Beenden wendet das Tool diese an und startet die Firewall neu.

Abbildung 6: Bevor YaST die Einstellungen speichert, erhalten Sie eine ausführliche Liste der Änderungen.

Beachten Sie, dass eine Firewall nicht vor Sicherheitslücken in Programmen schützt (zum Beispiel im Browser). Sie sollten deshalb Ihr OpenSuse-System über die Online-Updates stets auf dem neuesten Stand halten, um möglichst gut gegen Angriffe geschützt zu sein.

Ähnliche Artikel

Kommentare