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).

Über das Projekt

Applies security best practice templates to Palo Alto Networks devices

Installieren
ansible-galaxy install paloaltonetworks.spatula
GitHub Repository
Lizenz
apache-2.0
Downloads
4.5k
Besitzer
We ensure each day is safer and more secure than the one before.