Wie für IPv4 wird auch für IPv6-Netzwerke eine Firewall benötigt, damit nicht
jeder von außen jeden Rechner im lokalen Netz erreichen kann. Dies ist um so
wichtiger, als dass jeder Rechner im Normalfall eine weltweit eindeutige
IPv6-Adresse erhält, die dem Rechner permanent zugeordnet werden kann, da sie
auf der MAC-Adresse der verwendeten Netzwerkkarte aufbaut.3.8 Deshalb verbietet die Firewall erst einmal jegliche Zugriffe von
außen und kann dann durch entsprechende Einträge in diesem Abschnitt Stück für
Stück – je nach Bedarf – geöffnet werden.
Die Konfiguration der IPv6-Firewall entspricht im Großen und Ganzen der
Konfiguration der IPv4-Firewall. Auf Besonderheiten und Unterschiede wird
gesondert eingegangen.
- PF6_LOG_LEVEL
- Für alle folgenden
Ketten gilt die in PF6_LOG_LEVEL vorgenommene Einstellung der
Protokoll-Stufe, deren Inhalt auf einen der folgenden Werte gesetzt werden
kann: debug, info, notice, warning, err, crit, alert, emerg.
- PF6_INPUT_POLICY
- Diese Variable legt die Standard-Strategie für auf dem Router eingehende Pakete
fest (INPUT-Kette). Mögliche Werte sind “REJECT” (Standard, weist alle Pakete
ab), “DROP” (verwirft klammheimlich alle Pakete) und “ACCEPT” (akzeptiert
alle Pakete). Für eine genauere Beschreibung siehe die Dokumentation der
Variable PF_INPUT_POLICY.
Standard-Einstellung:
PF6_INPUT_POLICY='REJECT'
- PF6_INPUT_ACCEPT_DEF
- Diese Variable aktiviert die voreingestellten Regeln für die INPUT-Kette der
IPv6-Firewall. Mögliche Werte sind “yes” und “no”.
Die voreingestellten Regeln öffnen die Firewall für eingehende ICMPv6-Pings
(ein Ping pro Sekunde als Limit) sowie für NDP-Pakete (Neighbour Discovery
Procotol), das zur zustandslosen Selbstkonfiguration von IPv6-Netzen benötigt
wird. Verbindungen von localhost sowie Antwortpakete zu lokal initiierten
Verbindungen werden ebenfalls erlaubt. Schließlich wird die IPv4-Firewall
dahingehend angepasst, dass für jeden Tunnel gekapselte IPv6-in-IPv4-Pakete
vom Tunnelendpunkt akzeptiert werden.
Standard-Einstellung:
PF6_INPUT_ACCEPT_DEF='yes'
- PF6_INPUT_LOG
- Diese Variable aktiviert das Logging aller zurückgewiesenen eingehenden Pakete.
Mögliche Werte sind “yes” und “no”. Für eine genauere Beschreibung siehe
die Dokumentation der Variable PF_INPUT_LOG.
Standard-Einstellung:
PF6_INPUT_LOG='no'
- PF6_INPUT_LOG_LIMIT
- Diese Variable konfiguriert das Log-Limit der INPUT-Kette der IPv6-Firewall,
um die Log-Datei lesbar zu halten. Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_INPUT_LOG_LIMIT.
Standard-Einstellung:
PF6_INPUT_LOG_LIMIT='3/minute:5'
- PF6_INPUT_REJ_LIMIT
- Diese Variable stellt das Limit für das Zurückweisen von eingehenden
TCP-Paketen ein. Überschreitet ein solches Paket dieses Limit, wird das Paket
klammheimlich verworfen (DROP). Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_INPUT_REJ_LIMIT.
Standard-Einstellung:
PF6_INPUT_REJ_LIMIT='1/second:5'
- PF6_INPUT_UDP_REJ_LIMIT
- Diese Variable stellt das Limit für das Zurückweisen von eingehenden
UDP-Paketen ein. Überschreitet ein solches UDP-Paket dieses Limit, wird es
klammheimlich verworfen (DROP). Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_INPUT_UDP_REJ_LIMIT.
Standard-Einstellung:
PF6_INPUT_UDP_REJ_LIMIT='1/second:5'
- PF6_INPUT_ICMP_ECHO_REQ_LIMIT
- Definiert, wie häufig auf eine ICMPv6-Echo-Anfrage reagiert werden soll.
Die Häufigkeit wird analog zur Limit-Einschränkung als `n/Zeiteinheit'
mit Bursts beschrieben, also z.B. '3/minute:5'. Ist das
Limit überschritten, wird das Paket einfach ignoriert (DROP). Ist dieser
Eintrag leer, wird der Standardwert '1/second:5' verwendet; enhält er
'none', wird keine Limitierung durchgeführt.
Standard-Einstellung:
PF6_INPUT_ICMP_ECHO_REQ_LIMIT='1/second:5'
- PF6_INPUT_ICMP_ECHO_REQ_SIZE
- Definiert, wie groß eine empfangene ICMPv6-Echo-Anfrage sein darf (in Bytes). In
dieser Angabe sind neben den “Nutzdaten” auch die Paket-Header mit zu
berücksichtigen. Der Standard-Wert liegt bei 150 Bytes.
Standard-Einstellung:
PF6_INPUT_ICMP_ECHO_REQ_SIZE='150'
- PF6_INPUT_N
- Diese Variable enthält die Anzahl der IPv6-Firewallregeln für eingehende
Pakete (INPUT-Kette). Standardmäßig werden zwei Regeln aktiviert: Die erste
erlaubt allen lokalen Hosts Zugriff auf den Router über so genannte
Link-Level-Adressen, und die zweite erlaubt die Kommunikation von Hosts aus dem
ersten definierten IPv6-Subnetz mit dem Router.
Falls mehrere lokale IPv6-Subnetze definiert werden, muss die zweite Regel
entsprechend oft vervielfältigt werden. Siehe hierzu die Konfigurationsdatei.
Beispiel:
PF6_INPUT_N='2'
- PF6_INPUT_x
- Diese Variable spezifiziert eine Regel für die INPUT-Kette der IPv6-Firewall.
Für eine genauere Beschreibung siehe die Dokumentation der Variable
PF_INPUT_x.
Unterschiede zur IPv4-Firewall:
- Anstatt IP_NET_x wird hier IPV6_NET_x benutzt.
- Anstatt IP_ROUTE_x wird hier IPV6_ROUTE_x benutzt.
- IPv6-Adressen müssen in eckigen Klammern eingeschlossen werden (inklusive
der Netzmaske, falls vorhanden).
- Alle IPv6-Adressangaben (also auch IPV6_NET_x etc.) müssen in
eckigen Klammern eingeschlossen werden, falls ein Port oder ein Portbereich
folgt.
Beispiele:
PF6_INPUT_1='[fe80::0/10] ACCEPT'
PF6_INPUT_2='IPV6_NET_1 ACCEPT'
PF6_INPUT_3='tmpl:samba DROP NOLOG'
- PF6_INPUT_x_COMMENT
- Diese Variable enthält eine Beschreibung bzw. einen Kommentar zur zugehörigen
INPUT-Regel.
Beispiel:
PF6_INPUT_3_COMMENT='no samba traffic allowed'
- PF6_FORWARD_POLICY
- Diese Variable legt die Standard-Strategie für von dem Router weiterzuleitenden
Pakete fest (FORWARD-Kette). Mögliche Werte sind “REJECT” (Standard, weist
alle Pakete ab), “DROP” (verwirft klammheimlich alle Pakete) und “ACCEPT”
(akzeptiert alle Pakete). Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_FORWARD_POLICY.
Standard-Einstellung:
PF6_FORWARD_POLICY='REJECT'
- PF6_FORWARD_ACCEPT_DEF
- Diese Variable aktiviert die voreingestellten Regeln für die FORWARD-Kette der
IPv6-Firewall. Mögliche Werte sind “yes” und “no”.
Die voreingestellten Regeln öffnen die Firewall für ausgehende ICMPv6-Pings
(ein Ping pro Sekunde als Limit). Antwortpakete zu bereits erlaubten
Verbindungen werden ebenfalls erlaubt.
Standard-Einstellung:
PF6_FORWARD_ACCEPT_DEF='yes'
- PF6_FORWARD_LOG
- Diese Variable aktiviert das Logging aller zurückgewiesenen weterzuleitenden
Pakete. Mögliche Werte sind “yes” und “no”. Für eine genauere Beschreibung
siehe die Dokumentation der Variable PF_FORWARD_LOG.
Standard-Einstellung:
PF6_FORWARD_LOG='no'
- PF6_FORWARD_LOG_LIMIT
- Diese Variable konfiguriert das Log-Limit der FORWARD-Kette der IPv6-Firewall,
um die Log-Datei lesbar zu halten. Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_FORWARD_LOG_LIMIT.
Standard-Einstellung:
PF6_FORWARD_LOG_LIMIT='3/minute:5'
- PF6_FORWARD_REJ_LIMIT
- Diese Variable stellt das Limit für das Zurückweisen von weiterzuleitenden
TCP-Paketen ein. Überschreitet ein solches TCP-Paket dieses Limit, wird es
klammheimlich verworfen (DROP). Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_FORWARD_REJ_LIMIT.
Standard-Einstellung:
PF6_FORWARD_REJ_LIMIT='1/second:5'
- PF6_FORWARD_UDP_REJ_LIMIT
- Diese Variable stellt das Limit für das Zurückweisen von weiterzuleitenden
UDP-Paketen ein. Überschreitet ein solches UDP-Paket dieses Limit, wird es
klammheimlich verworfen (DROP). Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_FORWARD_UDP_REJ_LIMIT.
Standard-Einstellung:
PF6_FORWARD_UDP_REJ_LIMIT='1/second:5'
- PF6_FORWARD_N
- Diese Variable enthält die Anzahl der IPv6-Firewallregeln für weiterzuleitende
Pakete (FORWARD-Kette). Standardmäßig werden zwei Regeln aktiviert: Die erste
verhindert die Weiterleitung aller lokalen Samba-Pakete in nicht-lokale Netze,
und die zweite erlaubt letzteres für alle anderen lokalen Pakete aus dem
ersten definierten IPv6-Subnetz.
Falls mehrere lokale IPv6-Subnetze definiert werden, muss die letzte Regel
entsprechend oft vervielfältigt werden. Siehe hierzu die Konfigurationsdatei.
Beispiel:
PF6_FORWARD_N='2'
- PF6_FORWARD_x
- Diese Variable spezifiziert eine Regel für die FORWARD-Kette der
IPv6-Firewall. Für eine genauere Beschreibung siehe die Dokumentation der
Variable PF_FORWARD_x.
Unterschiede zur IPv4-Firewall:
- Anstatt IP_NET_x wird hier IPV6_NET_x benutzt.
- Anstatt IP_ROUTE_x wird hier IPV6_ROUTE_x benutzt.
- IPv6-Adressen müssen in eckigen Klammern eingeschlossen werden (inklusive
der Netzmaske, falls vorhanden).
- Alle IPv6-Adressangaben (also auch IPV6_NET_x etc.) müssen in
eckigen Klammern eingeschlossen werden, falls ein Port oder ein Portbereich
folgt.
Beispiele:
PF6_FORWARD_1='tmpl:samba DROP'
PF6_FORWARD_2='IPV6_NET_1 ACCEPT'
- PF6_FORWARD_x_COMMENT
- Diese Variable enthält eine Beschreibung bzw. einen Kommentar zur zugehörigen
FORWARD-Regel.
Beispiel:
PF6_FORWARD_1_COMMENT='no samba traffic allowed'
- PF6_OUTPUT_POLICY
- Diese Variable legt die Standard-Strategie für vom Router ausgehende Pakete
fest (OUTPUT-Kette). Mögliche Werte sind “REJECT” (Standard, weist alle Pakete
ab), “DROP” (verwirft klammheimlich alle Pakete) und “ACCEPT” (akzeptiert
alle Pakete). Für eine genauere Beschreibung siehe die Dokumentation der
Variable PF_OUTPUT_POLICY.
Standard-Einstellung:
PF6_OUTPUT_POLICY='REJECT'
- PF6_OUTPUT_ACCEPT_DEF
- Diese Variable aktiviert die voreingestellten Regeln für die OUTPUT-Kette der
IPv6-Firewall. Mögliche Werte sind “yes” und “no”. Momentan existieren keine
voreingestellten Regeln.
Standard-Einstellung:
PF6_OUTPUT_ACCEPT_DEF='yes'
- PF6_OUTPUT_LOG
- Diese Variable aktiviert das Logging aller zurückgewiesenen ausgehenden Pakete.
Mögliche Werte sind “yes” und “no”. Für eine genauere Beschreibung siehe
die Dokumentation der Variable PF_OUTPUT_LOG.
Standard-Einstellung:
PF6_OUTPUT_LOG='no'
- PF6_OUTPUT_LOG_LIMIT
- Diese Variable konfiguriert das Log-Limit der OUTPUT-Kette der IPv6-Firewall,
um die Log-Datei lesbar zu halten. Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_OUTPUT_LOG_LIMIT.
Standard-Einstellung:
PF6_OUTPUT_LOG_LIMIT='3/minute:5'
- PF6_OUTPUT_REJ_LIMIT
- Diese Variable stellt das Limit für das Zurückweisen von ausgehenden
TCP-Paketen ein. Überschreitet ein solches Paket dieses Limit, wird das Paket
klammheimlich verworfen (DROP). Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_OUTPUT_REJ_LIMIT.
Standard-Einstellung:
PF6_OUTPUT_REJ_LIMIT='1/second:5'
- PF6_OUTPUT_UDP_REJ_LIMIT
- Diese Variable stellt das Limit für das Zurückweisen von ausgehenden
UDP-Paketen ein. Überschreitet ein solches UDP-Paket dieses Limit, wird es
klammheimlich verworfen (DROP). Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_OUTPUT_UDP_REJ_LIMIT.
Standard-Einstellung:
PF6_OUTPUT_UDP_REJ_LIMIT='1/second:5'
- PF6_OUTPUT_N
- Diese Variable enthält die Anzahl der IPv6-Firewallregeln für eingehende
Pakete (OUTPUT-Kette). Standardmäßig werden zwei Regeln aktiviert: Die erste
erlaubt allen lokalen Hosts Zugriff auf den Router über so genannte
Link-Level-Adressen, und die zweite erlaubt die Kommunikation von Hosts aus dem
ersten definierten IPv6-Subnetz mit dem Router.
Falls mehrere lokale IPv6-Subnetze definiert werden, muss die zweite Regel
entsprechend oft vervielfältigt werden. Siehe hierzu die Konfigurationsdatei.
Beispiel:
PF6_OUTPUT_N='1'
- PF6_OUTPUT_x
- Diese Variable spezifiziert eine Regel für die OUTPUT-Kette der IPv6-Firewall.
Für eine genauere Beschreibung siehe die Dokumentation der Variable
PF_OUTPUT_x.
Unterschiede zur IPv4-Firewall:
- Anstatt IP_NET_x wird hier IPV6_NET_x benutzt.
- Anstatt IP_ROUTE_x wird hier IPV6_ROUTE_x benutzt.
- IPv6-Adressen müssen in eckigen Klammern eingeschlossen werden (inklusive
der Netzmaske, falls vorhanden).
- Alle IPv6-Adressangaben (also auch IPV6_NET_x etc.) müssen in
eckigen Klammern eingeschlossen werden, falls ein Port oder ein Portbereich
folgt.
Beispiele:
PF6_OUTPUT_1='tmpl:ftp IPV6_NET_1 ACCEPT HELPER:ftp'
- PF6_OUTPUT_x_COMMENT
- Diese Variable enthält eine Beschreibung bzw. einen Kommentar zur zugehörigen
OUTPUT-Regel.
Beispiel:
PF6_OUTPUT_3_COMMENT='no samba traffic allowed'
- PF6_USR_CHAIN_N
- Diese Variable enthält die Anzahl der vom Benutzer definierten
IPv6-Firewall-Tabellen. Für eine genauere Beschreibung siehe die Dokumentation
der Variable PF_USR_CHAIN_N.
Standard-Einstellung:
PF6_USR_CHAIN_N='0'
- PF6_USR_CHAIN_x_NAME
- Diese Variable enthält den Namen der entsprechenden benutzerdefinierten
IPv6-Firewall-Tabelle. Für eine genauere Beschreibung siehe die Dokumentation
der Variable PF_USR_CHAIN_x_NAME.
Beispiel:
PF6_USR_CHAIN_1_NAME='usr-myvpn'
- PF6_USR_CHAIN_x_RULE_N
- Diese Variable enthält die Anzahl der IPv6-Firewallregeln in der zugehörigen
benutzerdefinierten IPv6-Firewall-Tabelle. Für eine genauere Beschreibung siehe
die Dokumentation der Variable PF_USR_CHAIN_x_RULE_N.
Beispiel:
PF6_USR_CHAIN_1_RULE_N='0'
- PF6_USR_CHAIN_x_RULE_x
- Diese Variable spezifiziert eine Regel für die benutzerdefinierte
IPv6-Firewall-Tabelle. Für eine genauere Beschreibung siehe die Dokumentation
der Variable PF_USR_CHAIN_x_RULE_x.
Unterschiede zur IPv4-Firewall:
- Anstatt IP_NET_x wird hier IPV6_NET_x benutzt.
- Anstatt IP_ROUTE_x wird hier IPV6_ROUTE_x benutzt.
- IPv6-Adressen müssen in eckigen Klammern eingeschlossen werden (inklusive
der Netzmaske, falls vorhanden).
- Alle IPv6-Adressangaben (also auch IPV6_NET_x etc.) müssen in
eckigen Klammern eingeschlossen werden, falls ein Port oder ein Portbereich
folgt.
- PF6_USR_CHAIN_x_RULE_x_COMMENT
- Diese Variable enthält eine Beschreibung bzw. einen Kommentar zur zugehörigen
Regel.
Beispiel:
PF6_USR_CHAIN_1_RULE_1_COMMENT='some user-defined rule'
- PF6_POSTROUTING_N
- Diese Variable enthält die Anzahl der IPv6-Firewallregeln fürs Maskieren
(POSTROUTING-Kette). Für eine genauere Beschreibung siehe die Dokumentation der
Variable PF_POSTROUTING_N.
Beispiel:
PF6_POSTROUTING_N='2'
- PF6_POSTROUTING_x PF6_POSTROUTING_x_COMMENT
-
Eine Liste der Regeln, die beschreiben, welche IPv6-Pakete vom Router maskiert
werden (bzw. unmaskiert weitergeleitet werden). Für eine genauere Beschreibung
siehe die Dokumentation der Variable PF_POSTROUTING_x.
- PF6_PREROUTING_N
- Diese Variable enthält die Anzahl der IPv6-Firewallregeln fürs Weiterleiten an
ein anderes Ziel (PREROUTING-Kette). Für eine genauere Beschreibung siehe die
Dokumentation der Variable PF_PREROUTING_N.
Beispiel:
PF6_PREROUTING_N='2'
- PF6_PREROUTING_x PF6_PREROUTING_x_COMMENT
-
Eine Liste der Regeln, die beschreiben, welche IPv6-Pakete vom Router an ein
anderes Ziel weitergeleitet werden sollen. Für eine genauere Beschreibung
siehe die Dokumentation der Variable PF_PREROUTING_x.
<