dubzland.shorewall
Dubzland: Shorewall
Installiert und konfiguriert den Shorewall-Firewall-Builder.
Voraussetzungen
Ansible Version 2.0 oder höher. Benötigt das netaddr
Python-Paket.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit ihren Standardwerten (siehe defaults/main.yml
für weitere Informationen):
dubzland_shorewall_conf
dubzland_shorewall_conf:
startup_enabled: "Ja"
verbosity: 1
log_level: '"info"'
log_martians: "Ja"
log_verbosity: 2
log_zone: Beide
logfile: /var/log/shorewall
logformat: '"%s(%d) %s "'
Optionen, die in /etc/shorewall/shorewall.conf
gesetzt werden. Die Optionen können in Groß- oder Kleinbuchstaben angegeben werden (sie werden in Großbuchstaben in die Datei geschrieben). Siehe die shorewall.conf Man-Seite für weitere Informationen.
dubzland_shorewall_params
dubzland_shorewall_params: []
Liste von Schlüssel-Werte-Paaren, die in /etc/shorewall/params
geschrieben werden. Weitere Informationen zur Verwendung von Params finden Sie in der Params Man-Seite.
dubzland_shorewall_zones
dubzland_shorewall_zones:
- name: fw
type: firewall
- name: net
type: ipv4
- name: lan
type: ipv4
Zonen, die in /etc/shorewall/zones
deklariert werden. Siehe die Zonen Man-Seite für weitere Informationen.
dubzland_shorewall_interfaces
dubzland_shorewall_interfaces:
- name: eth0
zone: net
options:
- tcpflags
- nosmurfs
- routefilter
- "sourceroute=0"
- name: eth1
zone: lan
options:
- tcpflags
- nosmurfs
- routefilter
Liste der Schnittstellen, für die Shorewall konfiguriert werden soll in /etc/shorewall/interfaces
. Siehe die Schnittstellen Man-Seite für weitere Informationen.
dubzland_shorewall_hosts
dubzland_shorewall_hosts: []
Gibt Hosts an, die routbar, aber nicht direkt von der Firewall-Maschine aus zugänglich sind.
dubzland_shorewall_policies
dubzland_shorewall_policies:
- source: "$FW"
dest: alle
policy: AKZEPTIEREN
- source: net
dest: alle
policy: ABLEHNEN
- source: alle
dest: alle
policy: ABLEHNEN
log_level: info
Richtlinien, die von Shorewall verwendet werden, um die Standardaktion für ein bestimmtes Paket basierend auf seiner Zonenüberquerung zu bestimmen. Siehe die Richtlinien Man-Seite für weitere Informationen.
dubzland_shorewall_snat
dubzland_shorewall_snat:
- action: MASKIEREN
dest: eth0
Konfiguriert SNAT/Masquerading für iptables. Notwendig, wenn Sie eine Netzwerkadressübersetzung (NAT) für ausgehenden Datenverkehr durchführen möchten. Siehe die SNAT Man-Seite für weitere Informationen.
dubzland_shorewall_rules
dubzland_shorewall_rules:
- section: NEU
rulesets:
- comment: PINGS
rules:
- action: Ping(AKZEPTIEREN)
source: alle
dest: alle
- comment: Webverkehr
rules:
- action: Web(AKZEPTIEREN)
source: $FW,lan
dest: net
Der Kern dieser Rolle. Konfiguriert die Regeln, die Shorewall verwenden wird, um zu bestimmen, wie Pakete behandelt werden, die über seine überwachten Schnittstellen laufen. Siehe die Regeln Man-Seite für weitere Informationen.
Abhängigkeiten
Keine.
Beispiel Playbook
Gegeben eine Maschine mit 2 Netzwerkkarten (eth0
im Internet, eth1
im LAN):
- hosts: firewall
become: ja
roles:
- role: dubzland-shorewall
vars:
dubzland_shorewall_zones:
- name: fw
type: firewall
- name: net
type: ipv4
- name: lan
type: ipv4
dubzland_shorewall_interfaces:
- name: eth0
zone: net
options:
- tcpflags
- nosmurfs
- routefilter
- "sourceroute=0"
- name: eth1
zone: lan
options:
- tcpflags
- nosmurfs
- routefilter
dubzland_shorewall_policies:
- source: "$FW"
dest: alle
policy: AKZEPTIEREN
- source: net
dest: alle
policy: ABLEHNEN
- source: alle
dest: alle
policy: ABLEHNEN
log_level: info
dubzland_shorewall_snat:
- action: MASKIEREN
dest: eth0
dubzland_shorewall_rules:
- section: NEU
rulesets:
- comment: Pings
rules:
- action: Ping(AKZEPTIEREN)
source: alle
dest: alle
- comment: Surfen im Web
rules:
- action: Web(AKZEPTIEREN)
source: lan
dest: net
- action: AKZEPTIEREN
source: lan
dest: net
proto: udp
dest_ports:
- 80
- 443
Dies würde jedem ermöglichen, die Firewall-Maschine anzupingen, und LAN-Clients könnten Hosts im Internet anpingen. Alle LAN-Clients könnten außerdem im Internet surfen.
Lizenz
MIT