paloaltonetworks.spatula

spatula

Rola Ansible zastosowuje szablony najlepszych praktyk zabezpieczeń do urządzeń Palo Alto Networks.

Cel

Celem tej roli jest wykorzystanie najlepszych praktyk zawartych w Iron Skillet do zapewnienia, że zapory PAN-OS są skonfigurowane zgodnie z zaleceniami najlepszych praktyk firmy Palo Alto Networks. Szablony te są pobierane z poniższego repozytorium GitHub podczas wykonywania playbooka i stosowane do każdego urządzenia lub konsoli zarządzającej Panorama.

Po zastosowaniu tych szablonów można przeprowadzić Oceny Najlepszych Praktyk, aby ocenić skuteczność otrzymanej konfiguracji.

Wymagania

Ta rola wykorzystuje poniżej wymienione biblioteki Pythona. Wszystkie są dostępne przez PyPI i mogą być zainstalowane za pomocą instalatora pip. Zaleca się korzystanie z virtualenv, aby uniknąć konfliktów z bibliotekami w systemie.

  • pandevice - Framework do interakcji z urządzeniami Palo Alto Networks za pośrednictwem API
  • pan-python - Zestaw narzędzi do Palo Alto Networks PAN-OS, Panorama, WildFire i AutoFocus
  • xmltodict - Konwertowanie między łańcuchem XML a słownikiem Pythona
  • passlib - Wszechstronny framework do haszowania haseł, wspierający ponad 30 schematów

Zmienne roli

Zmienne używane w tej roli są wymienione w tabeli poniżej, wraz z wartościami domyślnymi (patrz defaults/main.yml). Zmienne w małych literach to zmienne playbooka, podczas gdy zmienne DUŻYMI LITERAMI są używane do podstawienia zmiennych Jinja2 w szablonach konfiguracyjnych. Niektóre zmienne są oznaczone jako tylko dla Panorama, inne są stosowane zarówno dla Panorama, jak i zapór.

Zmienna Typ Domyślna Panorama Panos Opis
device_type panorama,panos panorama x x Konfiguracja Panorama lub zapory
template_version panos_v9.0,panos_v8.1,panos_v8.0 panos_v9.0 x x Wersja szablonu
CONFIG_PANORAMA_IP tak,nie tak x Konfiguracja interfejsu zarządzania Panorama
PANORAMA_TYPE stałe,chmurowe stałe x Typ IP zarządzania Panorama
PANORAMA_NAME tekst panorama01 x Nazwa hosta Panorama
PANORAMA_IP tekst 192.168.55.7 x Adres IP Panorama
PANORAMA_MASK tekst 255.255.255.0 x Maska podsieci Panorama
PANORAMA_DG tekst 192.168.55.2 x Domyślny brama Panorama
CONFIG_EXPORT_IP tekst 192.0.2.3 x Adres IP do eksportu konfiguracji w harmonogramie
STACK tekst sample_stack x Szablon stosu dla Panorama
DEVICE_GROUP tekst sample_devicegroup x Nazwa grupy urządzeń dla Panorama
FW_NAME tekst panos-01 x x Nazwa hosta zapory
MGMT_TYPE dhcp-client,stałe dhcp-client x x Typ IP zarządzania zapory
MGMT_IP tekst 192.0.2.6 x x Adres IP zarządzania zapory
MGMT_MASK tekst 255.255.255.0 x x Maska podsieci zarządzania zapory
MGMT_DG tekst 192.0.2.7 x x Domyślny brama zarządzania zapory
NTP_1 tekst 0.pool.ntp.org x x Serwer protokołu czasu sieciowego
NTP_2 tekst 1.pool.ntp.org x x Serwer protokołu czasu sieciowego 2
ADMINISTRATOR_USERNAME tekst admin x x Nazwa użytkownika administratora
ADMINISTRATOR_PASSWORD hasło admin x x Hasło administratora
DNS_1 tekst 8.8.8.8 x x Serwer DNS główny
DNS_2 tekst 8.8.4.4 x x Serwer DNS zapasowy
SINKHOLE_IPV4 tekst 72.5.65.111 x x Adres sinkhole IPv4
SINKHOLE_IPV6 tekst 2600:5200::1 x x Adres sinkhole IPv6
INTERNET_ZONE tekst untrust x x Strefa Untrust do filtrowania w raportach
EMAIL_PROFILE_GATEWAY tekst 192.0.2.1 x x Adres bramy e-mail do krytycznych alertów
EMAIL_PROFILE_FROM tekst sentfrom@yourdomain.com x x Adres nadawcy w alertach e-mail
EMAIL_PROFILE_TO tekst sendto@yourdomain.com x x Adres odbiorcy w alertach e-mail
SYSLOG_SERVER tekst 192.0.2.2 x x Adres IP serwera Syslog
API_KEY_LIFETIME tekst 525600 x x Czas życia klucza API w minutach
INCLUDE_PAN_EDL tak,nie tak x x Uwzględnij zdefiniowane przez Palo Alto Networks reguły zabezpieczeń zewnętrznych

Zależności

Ta rola jest zależna od oficjalnych modułów Ansible firmy Palo Alto Networks, które są zawarte w następującej roli Galaxy:

Moduły Ansible firmy Palo Alto Networks wykorzystują słownik dict do przekazywania danych inwentarza i poświadczeń uwierzytelniających. Ten dict można zdefiniować raz w playbooku, z wartościami dla zmiennych ip_address, username oraz password, przekazanymi w dowolny obsługiwany sposób.

vars:
  credentials:
    ip_address: '{{ ip_address }}'
    username: '{{ username }}'
    password: '{{ password }}'

Przykłady Playbooków

Poniżej znajdują się przykłady playbooków Ansible, które wykorzystują tę rolę do stosowania szablonów najlepszych praktyk zabezpieczeń do Panorama i zapory:

Panorama:

---
- name: Przykład Panorama z szablonami najlepszych praktyk dla PAN-OS 9.0
  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

Zapora:

---
- name: Przykład zapory z szablonami najlepszych praktyk dla PAN-OS 8.1
  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

Licencja

Apache 2.0

Informacje o autorze

Rola stworzona przez Roberta Hagena (@stealthllama).

O projekcie

Applies security best practice templates to Palo Alto Networks devices

Zainstaluj
ansible-galaxy install paloaltonetworks.spatula
Licencja
apache-2.0
Pobrania
4.5k
Właściciel
We ensure each day is safer and more secure than the one before.