Update für die TAOFirewall und IpV6

In einem vorangehenden Beitrag haben wir unser Skript präsentiert, das aus ein paar recht einfach aufgebauten Konfigurationsdateien Instruktionen für die Firewall des Linux-Kernels ableitet. Dabei gab es vor allem noch ein Problem, dass den Einsatz auf einem Xen Dom0 betraf: Durch den Aufbau des Skripts konnte es dazu kommen, dass eine DomU vollständig auf eine andere DomU zugreifen konnte, obwohl diese das verbot. Dieser Fehler wurde nun behoben. Statt, wie zuvor, gleich während der Abarbeitung der Regeln für eine DomU dieser einen Freifahrtschein für ausgehende Verbindungen zu verpassen, wird ihre IP nun auf einen Stapel gepackt, der erst nach Einfügen aller anderen Regeln abgearbeitet wird. Die betreffenden Codezeilen sind:

 CARTE_BLANCHE[${#CARTE_BLANCHE[@]}]=$SELF

und

# Allow the DomUs to connect everywhere
#(if other rules didn't match beforehand)
for DOMU in ${CARTE_BLANCHE[@]}
do
    $DAEMON -A FORWARD -s $DOMU -j ACCEPT
done

Außerdem wurde es durch die Umstellung der Standard-Shell von der Bash (nein, bash.org ist ausnahmsweise falsch) auf die Dash im kommenden Debian-Release “Squeeze” notwendig, explizit die Bash als gewünschten Interpreter aufzurufen.

Zu guter Letzt haben wir außerdem die IPv6-Variante des Scripts online gestellt, das sich nur marginal von der Variante für IPv4 unterscheidet, aber der Teufel steckt wie immer im Detail; es sei hier auf “icmpv6” verwiesen. Die Konfigurationsdateien der beiden Firewalls sind zwar syntaktisch identisch, müssen aber getrennt geführt werden. Abgesehen von der Verwendung von IPv6-IP-Adressen ändert sich in den Konfigurationsdateien also nichts. Womöglich führen wir die beiden Skripte in Zukunft noch zusammen, derzeit sehen wir dazu aber keinen Grund.