Raspberry Pi: Firewall richtig konfigurieren (iptables)

Kurz vor weg: Ich bin kein Linux-Experte. Daher kann ich keine Garantie auf die Vollständigkeit dieses Artikels geben. Die Änderungen an der Firewall des Betriebssystem sollten somit nur mit genauer Vorsicht unternommen werden.

Als ich vor einigen Wochen die no-ip-Konfiguration auf meinem Raspberry Pi durchgeführt habe, kam ich per Port Forwarding über meine Domain zwar super auf mein MacBook Pro (MAMP), aber ich hatte irgendwie keine Möglichkeit auf mein Raspberry Pi zuzugreifen. Schuld war die Firewall (iptables), welche vorkonfiguriert ausgeliefert werden:

Um zu testen, ob der Zugriff mit abgeschalteten Regeln funktioniert, kann man alle Regeln mit folgendem Befehl temporär (bis zum nächsten Neustart) deaktivieren:

Nun funktioniert zwar der Zugriff, aber auch alles andere ist weit geöffnet. Über einen Port-Scanner kann der aktuelle Status abgefragt werden. Da ich aber nur bereitstellen möchte, was ich auch wirklich nutze, stört es mich etwas, dass beispielsweise auch mySQL und SMTP geöffnet sind. Eine Liste der offenen Ports bekommt man mit:

Auf Port 8080 läuft beispielsweise das XBMC Media Center – das muss wirklich nicht übers Netz zugänglich sein. Ich gehe also zur Sicherheit nach dem Ausschlussverfahren durch: Alles was nicht explizit erlaubt ist, wird verboten. So muss ich mir über die Firewall keine Gedanken machen, wenn ich in Zukunft weitere Dienste installieren sollte. Sicher ist sicher.

Als erstes ist also SSH dran. Da die Regeln von oben nach unten abgearbeitet werden, füge ich vor dem DROP aller Verbindungen, einfach die Ausnahmen hinzu, die von überall erreichbar sein sollen. Angefangen wird mit SSH:

Dieser Befehl fügt die Regel an die dritte Stelle in der INPUT-Sektion ein.

Damit die Regeln bei jedem Boot angelegt werden, fügen wir sie in die folgende Datei ein:

Ich weise hiermit ausdrücklich darauf hin, dass nicht die schönste Art und Weise ist, die Regeln zu hinterlegen. Wie es besser geht, kann man in diesem Beitrag nachlesen. Die sauberere Variante, wäre sicher eine Definition in der Datei /etc/network/if-up.d/secure-rmc

Viel Erfolg! Ich bin jedenfalls endlich online.

Über

Jahrgang 87, gelernter Softwareentwickler und fast ein Jahrzehnt Erfahrung im Bereich Web-Entwicklung mit PHP und Web-Design. Diese Eigenschaften machen mich zu einem geeigneten und geschätzten Ansprechpartner für die Umsetzung Ihres Projektes. Weiterhin bin ich seit Ende 2013 Magento Certified Developer.

2 Kommentare


  • Mal unabhängig vom Raspberry.. So gut wie du dich auszukenen scheinst würde mich mal deine Meinung zur Computersicherheit am Windows PC interessieren. Ich habe vor ein paar Minuten etwas über zusätzliche Schutzsoftware gelesen die wohl besser (z.B. Whitelisting) greifen soll als normale Antivirus bzw. Security Software.

    Kannst du mir sagen wie man das am PC so bewerkstelligen kann das nur die wichtigsten Windows Dienste laufen (das kann ich bereits) und ansonsten alle anderen Dateien und Dienste nur per Whitelist installiert/ausgeführt werden können?

    Was meinst du bzgl. Firewalls. Macht eine der käuflichen Firewalls überhaupt Sinn oder braucht man die gar nicht wenn man alle Ports blockiert und das System ansonsten wie oben beschrieben konfiguriert?

    • Als Unix/Mac-Nutzer bin ich da sicherlich der falsche Ansprechpartner. Ich habe seit Monaten kein Windows-System zwischen den Fingern gehabt (und das ist auch gut so).

      Generell würde ich sagen, dass eine Firewall nur dann wirklich immer nötig ist, wenn der Rechner direkt aus dem Internet erreichbar ist (beispielsweise über Port Forwarding). Andernfalls bist Du durch Angriffe von außen schon relativ gut durch den Router geschützt. Das einzige wirkliche Risiko, ist Software die nach draußen möchte. Und welche Schadsoftware möchte das nicht? Also kann es generell nicht schaden, wenn man sich eine anständige Firewall zulegt (nicht die in Windows integrierte), über welche man die ausgehenden Verbindungen pro Anwendung und Port steuern kann. Das mag anfangs zwar nerven, aber wenn man das einmal für jede Anwendung gemacht hat, stört es nicht weiter.

      Im nächsten Schritt kann natürlich Schadsoftware über Programme eingeschleust werden, welche Fehler aufweisen und nicht von der Firewall blockiert werden (Browser z.B.). Unter Windows würde ich in jedem Fall einen Virenscanner empfehlen, da es dafür einfach zu viele Viren, Trojaner, … gibt.

      Ich hoffe, ich konnte Dir wenigstens etwas helfen. Ansonsten findest Du im Netz noch ganz viele Beiträge und Foren mit detaillierten Informationen.

Kommentar verfassen