Muss ich auch andere iptables-Regeln für ipv6 einrichten, wenn ich gerade iptables verwendet habe?

21

Angenommen, ich habe eine Firewall auf meinem Linux-Server mit iptables eingerichtet, sodass ich nur Datenverkehr von Port 22 und Port 80 akzeptiere und den Zugriff auf alle anderen Ports blockiere.

Funktionieren diese Regeln nur, wenn der Clientcomputer eine IPv4-Adresse verwendet? Wenn also eine IPv6-Adresse verwendet wird, kann der Client auf Ports zugreifen, die ich nicht möchte? (dh andere Ports als Port 22 und Port 80)

user230779
quelle
Sie haben keine der Antworten als nützlich markiert. Du solltest das tun. ;-)
Anders

Antworten:

21

iptablesfunktioniert für IPv4, aber nicht für IPv6. ip6tablesist die äquivalente IPv6-Firewall und wird mit installiert iptables.

Letztendlich iptablesgilt dies jedoch für IPv4-Verbindungen und ip6tablesfür IPv6-Verbindungen. Wenn Ihre iptablesRegeln auch für IPv6 gelten sollen, müssen Sie sie ebenfalls hinzufügen ip6tables.


Wenn Sie versuchen, Ihren iptablesRegelsatz zu replizieren ip6tables, werden nicht alle Regeln, iptablesdie dazu in der Lage sind , ordnungsgemäß übernommen , die ip6tablesmeisten jedoch.

Lesen Sie in der Manpage nach,ip6tables ob Sie sicherstellen möchten, dass die Befehle, die Sie in Ihrem iptablesProgramm verwenden, ordnungsgemäß übernommen werden.


Wenn Sie ip6tablesmöchten , können wir Ihnen helfen, äquivalente Regelsätze zu erstellen , die Ihren iptablesRegeln entsprechen, wenn Sie Ihre Firewall- Regelliste bereitstellen (und alle Informationen entfernen, die das Coruse-System identifizieren könnten). Ansonsten können wir nur Ihre allgemeine Frage beantworten.

Thomas Ward
quelle
10
Ist das nicht lächerlich? Zur Verdeutlichung: Alle meine Ports auf dem Server sind derzeit für alle offen, die eine Verbindung mit einer IPv6-Adresse herstellen.
user230779
3
@ user230779 Ich bin damit einverstanden, dass es "lächerlich" ist, aber aus diesem Grund ufwund weil andere Firewall-Manager existieren, fügen sie die Regeln beiden entsprechend hinzu. Das hier behandelte Problem lautet jedoch nicht "Kann jemand mit IPv6 meine Website sehen?". Das größere Problem ist, ob Ihr System über IPv6-Adressen verfügt. Die meisten Verbindungen haben IPv4 und IPv6 von Client-Computern wie meinem. Wenn der Remoteserver jedoch kein öffentlich zugängliches IPv6 hat, ist das IPv4 verbunden. Soweit ich weiß, sollten Sie IPv6-Regeln hinzufügen ip6tables.
Thomas Ward
1
@ user230779 Ich könnte ein Skript erstellen, das den gleichen Befehl für iptablesAND ausführt ip6tables, und die allgemeinen Regeln wie -p tcp --dportfunktionieren weiterhin, aber komplexere Regeln funktionieren möglicherweise nicht ... (wie -j REJECT --reject-with [something])
Thomas Ward
Thomas kannst du mich mit einem sicheren ip6tables Beispiel für einen Apache Webserver verlinken?
user230779
1
@Braiam hat nie etwas über die Flaggen gesagt. Einige der Befehle funktionieren nicht ( -j REJECT --reject-with icmp-host-prohibitedz. B. weil das Ablehnungspaket in IPv6 einen anderen Namen hat)
Thomas Ward
3

Wie Ihnen bereits andere mitgeteilt haben, gibt es unterschiedliche Firewall-Tabellen für IPv4 und IPv6. Sie könnten Regeln für IPv6 wie für IPv4 einrichten, aber es besteht ein großes Risiko, dass Sie es durcheinander bringen, wenn Sie IPv6 nicht kennen. Sie können nicht ICMPauf IPv6 verzichten, da dort wichtige Handshake-Komponenten vorhanden sind. Wie dem Absender mitzuteilen, dass die Frames zu groß sind usw. Ohne diese Dinge könnte IPv6 für einige Benutzer nicht mehr funktionieren.

Es wird daher dringend empfohlen, ufwdas Paket shorewall6zusammen mit zu verwenden shorewall. Das iptablesFrontend ufwunterstützt sowohl IPv4 als auch IPv6 und funktioniert hervorragend auf Servern mit einer oder zwei Schnittstellen, leitet jedoch keinen Datenverkehr weiter (funktioniert als Router oder Gateway). Wenn Sie Datenverkehr shorewallweiterleiten , benötigen Sie etwas Besseres. Fügen Sie beispielsweise einige Regeln für die Weiterleitung mit iptablesund manuell hinzu ip6tables.

Vergessen Sie nicht, dass Ihre Schnittstellen mehrere IPv6-Adressen enthalten können. Einige sind nur lokale Links, andere sind global statisch und dynamisch. Sie sollten also Regeln entsprechend einrichten und die Server nur die richtigen Adressen abhören.

Anders
quelle