Apache – Dual-Stack IPv4/IPv6

Apache im Dual-stack mit IPv4 und IPv6.

– Apache muss auf die nötigen Adressen lauschen (hier durch das Sternchen)
– Jeder vHost muss entsprechend konfiguriert werden dass er alle IP Adressen auf Port 80 bedient  (hier durch das Sternchen)

$ vim /etc/apache2/ports.conf 
NameVirtualHost *:80
Listen 80

$ vim /etc/apache2/sites-enabled/domain.de
<VirtualHost *:80>
        Servername domain.de
        ServerAlias www.domain.de

        <Directory /var/www/www.domain.de/>         
                 Options -Indexes FollowSymLinks MultiViews                 
                 AllowOverride All                 
                 Order allow,deny                 
                 allow from all         
        </Directory>
        DocumentRoot /var/www/www.domain.de
        CustomLog /var/log/apache-domain.de.log combined
</VirtualHost>

Freischaltung, Konfiguration und Anpassung laufender Dienste auf IPv6 ist super, jedoch sollte die Firewall nicht vergessen werden!

Postfix – Dual-Stack IPv4/IPv6

Postfix und Dovecot im Dual-stack mit IPv4 und IPv6.

$ vim /etc/postfix/main.cf
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
inet_interfaces = all
inet_protocols = ipv4,ipv6
$ /etc/init.d/postfix restart

$ vim /etc/dovecot/dovecot.conf
listen = *,[::]
$ /etc/init.d/dovecot restart

Mit einer Test-Mail an ipv6@test-ipv6.veznat.com lässt sich die Konfiguration prüfen. Hier erhält man relativ zeitnah einen autoresponder mit Mailheader und DNS Auflösung zurück.

Freischaltung, Konfiguration und Anpassung laufender Dienste auf IPv6 ist super, jedoch sollte die Firewall nicht vergessen werden!

IPv6 Firewall – Demo

ipv6_logoWer 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.

IPv4 / IPv6 Testseite

ipv6_logoLebst du noch oder IPv6’st du schon :-}

Unsere Testseite: http://www.baebeca.de/six