securCom.nftables
nftables Verwaltung
Diese Rolle verwaltet die nftables.
Da es sehr schwierig ist, eine generische nftables-Vorlage zu schreiben, verschiebt diese Rolle einfach benutzerdefinierte nftables-Konfigurationsschnipsel auf den Server und führt sie aus. Du musst die nftables-Syntax dennoch verstehen.
Anforderungen
- ansible: 2.4
Rollenvariablen
OS-basierte Variablen
Einige Variablen basieren auf dem Betriebssystem. Diese Variablen befinden sich in den vars/os-<OS>.yml
Dateien.
Generische Variablen
nftables_dir
: Verzeichnis für die nftables-Konfiguration, standardmäßig /etc/nftablesnftables_service_state
: ob der Dienst gestartet werden sollnftables_service_enabled
: ob der Dienst im Boot-Vorgang aktiviert werden soll
Firewall-Regeln
nftables_rules_directory
: wo nach den Firewall-Regeln-Dateien gesucht werden soll, standardmäßig im Vorlagenverzeichnis des Playbooksnftables_families
: für welche IP-Version die Regeln generiert werden sollen, standardmäßig IPv4 und IPv6nftables_rules
: Liste der anzuwendenden Regeln. Standardmäßig werden nur SSH und ICMP erlaubt, siehe Beispielregeln im templates/rules Verzeichnis
Diese Rolle verwendet die Template-Engine zur Generierung der Regeln. Die harte Arbeit beim Schreiben der Regeln liegt immer noch bei dir, aber du hast es vollständig unter Kontrolle.
Beispiel
Host-/Gruppenvariablen
nftables_rules_directory: {{ playbook_dir }}/files/nftables
nftables_rules:
- default_rules
- connection_tracking
- input_icmp
- managment
In diesem Fall solltest du folgende Dateien erstellen:
{{ playbook_dir }}/files/nftables/rules/default_rules.conf.j2
{{ playbook_dir }}/files/nftables/rules/connection_tracking.conf.j2
...
Du solltest die nftables_rules
in group_var oder host_vars für jede Gruppe oder jeden Server nach Bedarf umschreiben.
Playbook
- hosts: ferm
roles:
- securcom.nftables
Abhängigkeiten
Keine
Lizenz
BSD
Autoreninformation
Peter Hudec (@hudecof)
ansible-galaxy install securCom.nftables