Wer IPv6 benutzt, sollte sich nicht nur über Konnektivität und Erreichbarkeit der Services Gedanken machen. Ein großer Punkt – der gerne vergessen wird – ist Security
Sobald IPv6 aktiv ist, ist – auf aktuellen Systemen – sofort ein ssh, FTP, Mail usw. Login möglich – und zwar von überall.
Gleiches gilt natürlich bis hin zur Applikation, die ein Verzeichnis via htaccess mit IPv4 Adressen reglementiert oder IP-Adressen in einer char(16) Spalte vorhält ;)
#!/bin/sh
# demo IPv6 Firewall - start
# source: baebeca.de
# article: http://blog.baebeca.de/2012/12/21/ipv6-firewall-demo/
# 20121221 - v.1.0
# deny ALL incoming packages
ip6tables -P INPUT DROP
# allow icmp6
ip6tables -A INPUT -p icmpv6 -j ACCEPT
# allow custom ports (feel free to modify)
# ssh
ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
# http
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
# https
ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT
# mysql
ip6tables -A INPUT -p tcp --dport 3306 -j ACCEPT
# SMPT
ip6tables -A INPUT -p tcp --dport 25 -j ACCEPT
# IMAP
ip6tables -A INPUT -p tcp --dport 143 -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -j REJECT
#!/bin/sh
# demo IPv6 Firewall - stop
# source: baebeca.de
# article: http://blog.baebeca.de/2012/12/21/ipv6-firewall-demo/
# 20121221 - v.1.0
# delete all restrictions
ip6tables -F
ip6tables -X
ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT
Da man dieses – sinnigerweise – in seine bestehende IPv4 Firewall eingliedert, gibt es an dieser Stelle nur Script-Snippets zum aktivieren und deaktivieren
Sollte jemand ein vollwertiges Script mit Parameterübergabe daraus erstellen, werde ich es gerne anhängen.