Notiz: Basis ipv6 Firewall

damit ich nicht immer suchen muss:

Eine Basis Firewall für IPv6 mittels ip6tables. Kommentare willkommen:


#!/bin/sh
# Generische Firewall fuer IPv6 - Basic

### Wo liegt ip6tables?

IP6TABLES=`which ip6tables`

### Interface fuer Extern
INTERFACE_EXTERN=sixxs
netaddr=2a01:xxx:xxx:xxx::y

### Bestehende Regeln loeschen

$IP6TABLES -F INPUT
$IP6TABLES -F OUTPUT
$IP6TABLES -F FORWARD
$IP6TABLES -F

# Default POLICY DROP
$IP6TABLES -P INPUT DROP
$IP6TABLES -P FORWARD DROP
$IP6TABLES -P OUTPUT ACCEPT

# RH0 Pakete verwerfen, braucht man nicht, will man nicht
$IP6TABLES -A INPUT -m rt --rt-type 0 -j DROP
$IP6TABLES -A OUTPUT -m rt --rt-type 0 -j DROP
$IP6TABLES -A FORWARD -m rt --rt-type 0 -j DROP

# Lokale erlauben

$IP6TABLES -A INPUT -i lo -j ACCEPT
$IP6TABLES -A OUTPUT -o lo -j ACCEPT

# Link-Local
$IP6TABLES -A INPUT -s fe80::/10 -j ACCEPT
$IP6TABLES -A OUTPUT -s fe80::/10 -j ACCEPT

### ICMP erlauben

$IP6TABLES -A INPUT -p icmpv6 -j ACCEPT
$IP6TABLES -A OUTPUT -p icmpv6 -j ACCEPT
$IP6TABLES -A FORWARD -p icmpv6 -j ACCEPT

# Allow multicast
$IP6TABLES -A INPUT -s ff00::/8 -j ACCEPT
$IP6TABLES -A OUTPUT -s ff00::/8 -j ACCEPT

### Bestehende, eingehende Verbindungen erlauben

$IP6TABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

### Zugang von aussen auf Port 22 und 80 zulassen

$IP6TABLES -A INPUT -p tcp -i $INTERFACE_EXTERN -m multiport --dports 2016,80 -j ACCEPT

### Weiterleitungen von bestehenden Verbindungen zusallen

$IP6TABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Deine IP ist:
38.107.191.82

2 Kommentare

  • geschrieben am Mai 11, 2009 um 22:04 Uhr | Permalink

    Ähhm…ACCEPT? Wenn du anfangs die Grundpolicies auf Accept für alle Regelketten stellst, brauchst du weiter unten aber keine speziellen Regeln mehr für icmp, bestehende Verbindungen u.ä. ;-) Du erlaubst doch alles, was du aber sicherlich nicht willst, also schreib mal lieber n DROP in die Grundpolicies rein.

    Das andere ist natürlich einfacher ;-)

  • geschrieben am Mai 12, 2009 um 1:35 Uhr | Permalink

    Nunja, wir haben ja telefoniert und festgestellt, dass es sehr wohl dieser Regel bedurfte :-) Die Zeilen am Ende sorgen dafür, dass dann alle Pakete verworfen werden, welche wir nicht erlaubt haben. Wie dem auch sei, habe ich auf die Default Policy DROP umgestellt und noch ein paar weitere Sachen hinzugefügt. Mal schauen, welche Änderungen sich noch finden lassen.