Eigenbau

Die Ergebnisse von Ubuntu lassen die Frage aufkommen, wie dieser Missstand zu entdecken ist und wie man sich in einem solchen Fall selber absichern kann. Aufdecken lässt sich das Problem einfach via sudo iptables -nL . Sieht die Ausgabe so aus, wie in Listing 1 zu sehen, dann ist keine Firewall aktiv.

Listing 1

$ sudo iptables -nL
Passwort:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Das Shell-Script in Listing 2 konfiguriert einen Grundschutz für Ihren PC. Es geht davon aus, dass es sich bei dem PC um einen Einzelplatzrechner handelt und kein LAN vorhanden ist. Es ermöglicht die normale Nutzung des Internet, klammert dabei allerdings Dienste wie etwa Bittorrent aus. Eine Kontaktaufnahme aus dem Internet heraus auf Ihren Rechner ist nicht möglich.

Die Kommentare im Script verdeutlichen dessen Logik. Interessant sind insbesondere die beiden Iptables-Regeln in den Zeilen 52 und 56. Die Loopback-Regel in INPUT (Zeile 52) benötigt Linux für die interne Kommunikation, da die allgemeine Policy auf DROP steht (Zeile 47).

Die Regel in Zeile 56 ermöglicht die Kommunikation: Sie erlaubt Pakete für bereits bestehende Verbindungen (ESTABLISHED) und solche, die zu bestehenden Verbindungen in Bezug stehen (RELATED). Letzteres ist beispielsweise bei aktivem FTP der Fall, aber auch einige ICMP-Pakete, wie beispielsweise Unreachable-Nachrichten, fallen in diese Kategorie.

Da kein Protokoll angegeben ist, passt die Regel auf alle Protokolle. Versucht nun jemand aus dem Internet heraus zu Ihrem Rechner eine Verbindung aufzubauen, greift die Regel nicht, da der Status der Verbindung New ist. Das Paket trifft also auf die Policy und wird verworfen – die Kommunikation kommt nicht zustande. Andererseits steht die Policy in OUTPUT auf ACCEPT: Somit haben Sie alle Freiheiten, Verbindungen aufzubauen.

Listing 2

## Begin script ##
#!/bin/sh
# Script: firewall.sh - konfiguriert eine einfache Firewall
# Autor:  Jörg Harmuth
# Lizenz: GPL
#
# Synopsis: firewall.sh [stop]
#           Der Aufruf von firewall.sh starte die Firewall,
#           mit dem Argument "stop" wird die Firewall gestoppt.
# Variablendefinitionen
#
# IPtables Binary, mit "which iptables" zu ermitteln.
IPT=$(which iptables)
# Zur Sicherheit Chains leeren, beziehungsweise löschen.
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -F
$IPT -X
# Falls die Firewall abgeschaltet werden soll.
case $1 in
  stop)
    $IPT -P INPUT ACCEPT
    $IPT -P FORWARD ACCEPT
    $IPT -P OUTPUT ACCEPT
        echo 0 > /proc/sys/net/ipv4/ip_forward
        exit 0
  ;;
esac
# IP-Forwarding ausschalten.
echo 0 > /proc/sys/net/ipv4/ip_forward
# Syncookie-Support anschalten. Erzeugt eine Fehlermeldung,
# falls nicht im Kernel enthalten. Dann bitte auskommentieren.
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# FTP und IRC Module für Connection-Tracking laden.
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
# Policies setzen.
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
# Loopback-Device freischalten.
$IPT -A INPUT -i lo -j ACCEPT
# Pakete erlauben für bestehende Verbindungen
# sowie zu diesen in Bezug stehenden Verbindungen.
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
## End Script ##

Die komfortable Variante

Eine komfortable Alternative zu selbst erstellten Skripten stellen distributionsunabhängige grafische Frontends für Iptables dar. Zu den bekannteren Vertretern dieser Gattung zählt der Firestarter [2], der sich besonders leicht bedienen lässt. Zudem handelt es sich um eine Gtk-basierte Anwendung – ideal also für die Ubuntus Standard-Desktop Gnome.

Nach der Installation als Root – entweder aus den Quellen oder über das Paketmanagement der Distribution – fragt Firestarter beim ersten Start nach den zu sichernden Schnittstellen in Richtung Internet und LAN.

Anschließend haben Sie die Möglichkeit, die Internet-Verbindung des abgesicherten Rechners per NAT für das interne LAN freizugeben – Firestarter beherrscht also auch die Einrichtung eines Gateway-Rechners. Für einen Einzelplatz-PC brauchen Sie diese Option nicht.

Damit sind die Konfigurationsarbeiten fürs erste auch schon abgeschlossen: Beim Speichern der Angaben aktiviert Firestarter standardmäßig die Firewall und präsentiert anschließend seine grafische Bedienoberfläche (Abbildung 7). Außerdem richtet er das System so ein, dass bei jedem Neustart auch die Firewall startet, nicht aber die Firewall-GUI.

Abbildung 7: Der Eingangsbildschirm von Firestarter zeigt den Status der Firewall und die aktuellen Verbindungen an.

Ebenso wie beim selbst gestrickten Firewall-Script aus Listing 2 blockiert auch hier die Firewall eine Kontaktaufnahme aus dem Internet heraus. Jeden entsprechenden Versuch protokolliert Firestarter im Reiter Ereignisse (Abbildung 8).

Abbildung 8: Firestarter hat einen Verbindungsversuch geblockt. Sie haben nun die Möglichkeit, die Reaktion auf weitere gleichartige Ereignisse vorzugeben.

Ein Rechtsklick auf das Ereignis bringt das in der Abbildung gezeigte Kontextmenü zum Vorschein, mit dem Sie die künftige Reaktion der Firewall auf gleichartige Verbindungsversuche festlegen. Dadurch wird aus dem Ereignis eine Richtlinie. In der gleichnamigen Registerkarte editieren Sie dieser Regeln durch Rechtsklick (Abbildung 9) oder fügen neue Regeln ein. Dabei gilt die generelle Unterscheidung von eingehendem und ausgehendem Verkehr.

Abbildung 9: Das Bearbeiten oder explizite Anlegen einer Richtlinie erfolgt durch Rechtsklick auf den entsprechenden Bereich.

Haben Sie bei der Einrichtung von Firestarter die Weiterleitung von Internet-Verbindungen (Internet-Verbindungsteilung) aktiviert, so können Sie auch NAT im unteren Bereich der Maske (Dienst weiterleiten) genauer einrichten. Bei einer üblichen Einzelplatz-Konfiguration bleibt diese Funktion aber deaktiviert.

Mit diesen übersichtlich dargestellten und intuitiv zu bedienenden Optionen bringt Firestarter Komfort in die Firewall-Konfiguration. Möchten Sie das Tool automatisch auf Mausklick zur Verfügung haben, anstatt es stets aufzurufen, aktivieren Sie dies im Firestarter-Menü unter Bearbeiten | Einstellungen | Benutzeroberfläche.

Nur in einem Punkt lässt Firestarter bislang zu wünschen übrig: Der Menüpunkt Hilfe verweist auf englischsprachige Hilfe-Seiten, eine Dokumentation in Deutsch fehlt noch.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Frontends für Iptables
    Der Umgang mit iptables leicht gemacht
  • Iptables-Grundlagen für Desktop-Nutzer
    Nicht jeder Linux-Desktop braucht eine Firewall. Mit grafischen Werkzeugen lässt sie sich aber bei Bedarf im Handumdrehen einrichten.
  • Brandmelder
    Mit dem grafischen Iptables-Frontend Firestarter konfigurieren Sie mit wenigen Mausklicks eine funktionierende Desktop-Firewall.
  • Knoppix und Ubuntu
    Ubuntu und Knoppix basieren auf Debian – wir verraten Tricks und Kniffe, welche die Arbeit auf diesen Distributionen angenehmer machen.
  • Paketfilter-Firewall
    Eine Firewall sollte heutzutage zum unverzichtbaren Sicherheitsrepertoire jedes vernetzten Computers gehören. Aktuelle Linux-Distributionen liefern die Software dazu mit – man muss sie nur benutzen können.
Kommentare

Infos zur Publikation

LU 08/2017: VIRTUALISIERUNG

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Bash - verschachtelte Variablenersetzung, das geht doch eleganter als meine Lösung?
Josef Federl, 18.07.2017 20:24, 1 Antworten
#!/bin/bash #Ziel des Skriptes wird sein die ID zu extrahieren hier nur als Consolentest: root@...
Speicherplatzfreigabe mit "sudo apt-get clean" scheitert
Siegfried Böttcher, 16.07.2017 21:16, 2 Antworten
Speicherplatzfreigabe mit "sudo apt-get clean" scheitert, weil aus mir unerfindlichen Gründen im...
Möchte Zattoo vom PC am Fernsehgerät sehen können
Ilona Nikoui, 15.07.2017 18:25, 3 Antworten
Hallo, ich habe mein Fernsehgerät, ein LG 26LE3300 mit dem PC verbunden per HDMI Kabel, wie empfo...
TUXEDO und Hardwareauswahl , fragwürdig / Kritik
Josef Federl, 11.07.2017 12:44, 6 Antworten
Auf tuxedocomputers.com steht: "....Aber wir können auch Linux und das so, dass "einfach" alles...
HP PHOTOSMART 5525 nimmt die schwarze original patrone nicht
Erich Mecl, 28.06.2017 18:10, 1 Antworten
Hallo Leute! Mein HP Photosmart 5525 Drucker erkennt die original schwarze Patrone 364, nimmt s...