paloaltonetworks.spatula
spatel
Diese Ansible-Rolle wendet Sicherheits-Best-Practice-Vorlagen auf Geräte von Palo Alto Networks an.
Zweck
Diese Rolle verwendet die Iron Skillet Best-Practice-Vorlagen, um sicherzustellen, dass die PAN-OS-Firewalls gemäß den Best-Practice-Empfehlungen von Palo Alto Networks konfiguriert sind. Diese Vorlagen werden während der Ausführung des Playbooks aus dem folgenden GitHub-Repo heruntergeladen und auf jedes Gerät oder auf eine Panorama-Verwaltungskonsole angewendet.
Eine Best Practices Bewertung kann nach der Anwendung dieser Vorlagen durchgeführt werden, um die Effektivität der resultierenden Konfiguration zu messen.
Voraussetzungen
Diese Rolle verwendet die unten aufgeführten Python-Bibliotheken. Alle sind über PyPI verfügbar und können mit dem pip
-Installer installiert werden. Die Verwendung von virtualenv
wird empfohlen, um Konflikte mit Systembibliotheken zu vermeiden.
- pandevice - Framework zur Interaktion mit Geräten von Palo Alto Networks über API
- pan-python - Werkzeugset für Palo Alto Networks PAN-OS, Panorama, WildFire und AutoFocus
- xmltodict - Umwandlung zwischen XML-String und Python-Dictionary
- passlib - Umfassendes Passwort-Hashing-Framework mit Unterstützung für über 30 Verfahren
Rollenvariablen
Die in dieser Rolle verwendeten Variablen sind in der Tabelle unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml). Variablen in kleinen Buchstaben sind Playbook-Variablen, während GROSSBUCHSTABEN-Variablen für die Jinja2-Variablenersetzung in den Konfigurationsvorlagen verwendet werden. Einige Variablen sind als nur für Panorama gekennzeichnet, während andere für Panorama und Firewalls gelten.
Variable | Typ | Standard | Panorama | Panos | Beschreibung |
---|---|---|---|---|---|
device_type | panorama,panos | panorama | x | x | Panorama oder Firewall-Konfiguration |
template_version | panos_v9.0,panos_v8.1,panos_v8.0 | panos_v9.0 | x | x | Vorlagenversion |
CONFIG_PANORAMA_IP | ja,nein | ja | x | Konfiguration der Panorama-Verwaltungsoberfläche | |
PANORAMA_TYPE | statisch,cloud | statisch | x | IP-Typ der Panorama-Verwaltung | |
PANORAMA_NAME | zeichenfolge | panorama01 | x | Hostname des Panorama | |
PANORAMA_IP | zeichenfolge | 192.168.55.7 | x | Panorama IP | |
PANORAMA_MASK | zeichenfolge | 255.255.255.0 | x | Panorama Netzmaske | |
PANORAMA_DG | zeichenfolge | 192.168.55.2 | x | Standard-Gateway von Panorama | |
CONFIG_EXPORT_IP | zeichenfolge | 192.0.2.3 | x | IP-Adresse für geplante Konfigurationsexporte | |
STACK | zeichenfolge | sample_stack | x | Vorlage-Stack für Panorama | |
DEVICE_GROUP | zeichenfolge | sample_devicegroup | x | Gerätegruppenname für Panorama | |
FW_NAME | zeichenfolge | panos-01 | x | x | Hostname der Firewall |
MGMT_TYPE | dhcp-client,statisch | dhcp-client | x | x | IP-Typ der Firewall-Verwaltung |
MGMT_IP | zeichenfolge | 192.0.2.6 | x | x | IP der Firewall-Verwaltung |
MGMT_MASK | zeichenfolge | 255.255.255.0 | x | x | Netzmaske der Firewall-Verwaltung |
MGMT_DG | zeichenfolge | 192.0.2.7 | x | x | Standard-Gateway der Firewall-Verwaltung |
NTP_1 | zeichenfolge | 0.pool.ntp.org | x | x | Network Time Protocol-Server |
NTP_2 | zeichenfolge | 1.pool.ntp.org | x | x | Network Time Protocol-Server 2 |
ADMINISTRATOR_USERNAME | zeichenfolge | admin | x | x | Admin-Benutzername |
ADMINISTRATOR_PASSWORD | passwort | admin | x | x | Admin-Passwort |
DNS_1 | zeichenfolge | 8.8.8.8 | x | x | Primärer DNS-Server |
DNS_2 | zeichenfolge | 8.8.4.4 | x | x | Sekundärer DNS-Server |
SINKHOLE_IPV4 | zeichenfolge | 72.5.65.111 | x | x | Sinkhole-Adresse IPv4 |
SINKHOLE_IPV6 | zeichenfolge | 2600:5200::1 | x | x | Sinkhole-Adresse IPv6 |
INTERNET_ZONE | zeichenfolge | untrust | x | x | Unsichere Zone, um sie in Berichten herauszufiltern |
EMAIL_PROFILE_GATEWAY | zeichenfolge | 192.0.2.1 | x | x | E-Mail-Gateway-Adresse für kritische Warnungen |
EMAIL_PROFILE_FROM | zeichenfolge | sentfrom@yourdomain.com | x | x | Absenderadresse in E-Mail-Warnungen |
EMAIL_PROFILE_TO | zeichenfolge | sendto@yourdomain.com | x | x | Empfängeradresse in E-Mail-Warnungen |
SYSLOG_SERVER | zeichenfolge | 192.0.2.2 | x | x | IP-Adresse des Syslog-Servers |
API_KEY_LIFETIME | zeichenfolge | 525600 | x | x | Lebensdauer des API-Schlüssels in Minuten |
INCLUDE_PAN_EDL | ja,nein | ja | x | x | Die vordefinierten Sicherheitsregeln von Palo Alto Networks externen Listen einbeziehen |
Abhängigkeiten
Diese Rolle ist von den offiziellen Ansible-Modulen von Palo Alto Networks abhängig, die in der folgenden Galaxy-Rolle enthalten sind:
Die Ansible-Module von Palo Alto Networks verwenden ein dict
, um Inventar- und Authentifizierungsdaten zu übergeben. Dieses dict
kann einmal im Playbook definiert werden, wobei die Werte für die Variablen ip_address
, username
und password
auf jede unterstützte Weise übergeben werden können.
vars:
credentials:
ip_address: '{{ ip_address }}'
username: '{{ username }}'
password: '{{ password }}'
Beispiel-Playbooks
Die folgenden Beispiele von Ansible-Playbooks nutzen diese Rolle, um Sicherheits-Best-Practice-Vorlagen auf Panorama und eine Firewall anzuwenden:
Panorama:
---
- name: Panorama mit Best-Practice-Vorlagen für PAN-OS 9.0 bereitstellen
hosts: all
connection: local
gather_facts: False
vars:
credentials:
ip_address: '{{ ip_address }}'
username: '{{ username }}'
password: '{{ password }}'
device_type: 'panorama'
template_version: 'panos_v9.0'
vars_files:
- panorama_vars.yml
roles:
- role: PaloAltoNetworks.spatula
Firewall:
---
- name: Firewall mit Best-Practice-Vorlagen für PAN-OS 8.1 bereitstellen
hosts: all
connection: local
gather_facts: False
vars:
credentials:
ip_address: '{{ ip_address }}'
username: '{{ admin }}'
password: '{{ password }}'
device_type: 'panos'
template_version: 'panos_v8.1'
vars_files:
- fw_vars.yml
roles:
- role: PaloAltoNetworks.spatula
Lizenz
Apache 2.0
Autoreninformationen
Rolle erstellt von Robert Hagen (@stealthllama).
Applies security best practice templates to Palo Alto Networks devices
ansible-galaxy install paloaltonetworks.spatula