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)
Antworten:
iptables
funktioniert für IPv4, aber nicht für IPv6.ip6tables
ist die äquivalente IPv6-Firewall und wird mit installiertiptables
.Letztendlich
iptables
gilt dies jedoch für IPv4-Verbindungen undip6tables
für IPv6-Verbindungen. Wenn Ihreiptables
Regeln auch für IPv6 gelten sollen, müssen Sie sie ebenfalls hinzufügenip6tables
.Wenn Sie versuchen, Ihren
iptables
Regelsatz zu replizierenip6tables
, werden nicht alle Regeln,iptables
die dazu in der Lage sind , ordnungsgemäß übernommen , dieip6tables
meisten jedoch.Lesen Sie in der Manpage nach,
ip6tables
ob Sie sicherstellen möchten, dass die Befehle, die Sie in Ihremiptables
Programm verwenden, ordnungsgemäß übernommen werden.Wenn Sie
ip6tables
möchten , können wir Ihnen helfen, äquivalente Regelsätze zu erstellen , die Ihreniptables
Regeln 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.quelle
ufw
und 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ügenip6tables
.iptables
AND ausführtip6tables
, und die allgemeinen Regeln wie-p tcp --dport
funktionieren weiterhin, aber komplexere Regeln funktionieren möglicherweise nicht ... (wie-j REJECT --reject-with [something]
)-j REJECT --reject-with icmp-host-prohibited
z. B. weil das Ablehnungspaket in IPv6 einen anderen Namen hat)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
ICMP
auf 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,
ufw
das Paketshorewall6
zusammen mit zu verwendenshorewall
. Dasiptables
Frontendufw
unterstü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 Datenverkehrshorewall
weiterleiten , benötigen Sie etwas Besseres. Fügen Sie beispielsweise einige Regeln für die Weiterleitung mitiptables
und manuell hinzuip6tables
.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.
quelle