Nov 132011
 

Wie neulich schon angekündigt hier jetzt ein kleiner Beitrag darüber, wie man seine IPv6 Verbindungen sicherer machen kann. Immerhin will man ja nicht, dass sein Router, bzw. die dahinter liegenden Dienste auch weltweit angreifbar sind.

Portscanner

Hurricane Electric bietet hier einen sehr komfortablen Portscanner für die eigenen IPv6 Netzwerke an mit dem man sehen kann, welche Dienste weltweit verfügbar sind.

Das ganze sieht so aus:

Der Scanner überprüft das die angegeben IPs nur aus den Ranges stammen, die man selbst besitzt. Ich musste bei mir immer den “Skip initial ping” Modus aktivieren, damit der Scan an und für sich überhaupt anlief.

Das Ergebnis des ganzen sieht dann wie folgt aus:
Was man hieran sehr schön erkennen kann, ist das auf dem angegebenen Router/Server nur noch ein Webserver und SSH verfügbar ist. Alle PCs die sich dahinter im Netz befinden sind nicht mehr sichtbar und liefern einen leeren Portscan als Ergebnis (also genau das was wir wollen).

Einrichtung der Firewall

Wie wird das jetzt eingerichtet? Für einen Tunnel über HE genügt es die notwendigen Dienste über ip6tables freizuschalten. Wer einen Tunnel über SixXS mit AICCU aufbaut sollte außerdem noch den Tunnel mit iptables konfigurieren.

Einen Regelsatz zu erstellen, der die notwendigen Pakete durchlässt und alles andere weglöscht ist ein wenig frickelig. Hier ein rudimentärer Ansatz der nur SSH, HTTP und HTTPS zu den lokalen Interfaces auf IPv6 zulässt, sowie Antwort-Pakete auf aus dem LAN etablierten Verbindungen.

Diese Datei lässt sich komfortabel mit ip6tables-restore wieder laden.

Für den SixXS-Tunnel benötigt man folgende IP-Tables aufrufe (nicht IPv6)

Anpassungen für Syslog

Wenn man iptables, respektive ip6tables mit Logging-Anweisungen nutzt (was Sinn macht, damit man kontrollieren kann, was so auf dem Interface los ist und was mglw. dem wiederspricht, was man haben möchte) ist es sinnvoll das Logging, das der Kernel an den Syslog-Dämon schickt anzupassen.

Am besten verwendet man dazu rsyslog, das einige hübsche Funktionen bietet.Hierzu legt man unter /etc/rsyslog.d/ eine neue Datei iptables.conf an. In diese trägt man die folgenden Zeilen ein.

Jetzt den service über

service rsyslog restart

Verwendet man im folgenden bei den iptables-Regeln die Option –log-prefix “iptables: “, respektive “ip6tables: ” finden sich die geloggten Pakete in den Dateien /var/log/iptables.log /var/log/ip6tables.log. Durch die &~ Anweisung ist sichergestellt, dass die gerade geloggte Zeile nicht weiter durch die Filter-Regeln laufen und somit auch nicht in /var/log/messages oder ähnlichen Catch-All Logs auftauchen.

Logrotate

Damit diese beiden neuen Dateien nicht ins unermessliche wachsen ist es darüber hinaus noch nötig den Logrotate anzupassen. Hierzu legt man unter /etc/logrotate.d/ eine neue Datei iptables mit folgendem Inhalt an

und das war’s 🙂

Diese Anleitung erhebt natürlich keinen Anspruch auf Vollständigkeit und ist nur als erste Anregung zu verstehen.

  •  13. November 2011
  •  Posted by at 18:15
  •   Kommentare deaktiviert für IPv6 Firewall mit ip6tables und iptables
  •   Projekte