theforeman.foreman_scap_client
Rola Ansible dla klienta SCAP Foreman 
Rola Ansible dla klienta SCAP Foreman konfiguruje foreman_scap_client do przeprowadzania skanów i przesyłania wyników do proxy Foreman.
Konfiguracja
Ta rola automatycznie zainstaluje foreman_scap_client (jeśli nie jest zainstalowany), skonfiguruje plik /etc/foreman_scap_client/config.yaml z parametrami potrzebnymi do działania foreman_scap_client i utworzy zadanie Cron służące do planowania wykonania klienta.
Zmienne
- 'foreman_scap_client_state': stan pakietu rubygem-foreman_scap_client
- 'foreman_scap_client_package': nazwa pakietu, jeśli różni się od domyślnej (rubygem-foreman_scap_client dla el7/suse lub ruby-foreman-scap-client dla debian/ubuntu)
- 'foreman_scap_client_server': konfiguracja serwera proxy
- 'foreman_scap_client_port': konfiguracja portu serwera proxy
- 'foreman_scap_client_policies': Tablica polityk, które powinny zostać skonfigurowane
- 'foreman_scap_client_ca_cert_path': ścieżka do pliku certyfikatu urzędnika certyfikacji, który wydał certyfikat klienta
- 'foreman_scap_client_host_cert_path': ścieżka do certyfikatu hosta, może to być certyfikat agenta puppet lub certyfikat katello
- 'foreman_scap_client_host_private_key_path': ścieżka do prywatnego klucza hosta, może to być prywatny klucz agenta puppet lub prywatny klucz katello
- 'foreman_scap_client_release': Która wersja ma być skonfigurowana w repozytorium
- 'foreman_scap_client_repo_url': URL repozytorium z rubygem-foreman_scap_client
- 'foreman_scap_client_apt_repo_url': Repozytorium oparte na Debiana dostarczające scap-client i subscription-manager
- 'foreman_scap_client_repo_state': stan repozytorium
- 'foreman_scap_client_repo_key': Plik źródłowy klucza RPM dla repozytorium foreman-plugins. Uwaga: Obecnie pakiety nie są podpisywane. Jeśli nie ustawiono innego źródła pliku, użyty zostanie URL.
- 'foreman_scap_client_repo_gpg': Włącz/wyłącz kontrole GPG
- 'foreman_scap_client_cron_template': ścieżka do szablonu crona
- 'foreman_scap_client_cron_splay_seed': ziarno dla czasu splay zadania cron, aby generować losowe, ale idempotentne liczby
- 'foreman_scap_client_cron_splay': górny limit dla czasu splay zadań cron
- 'foreman_scap_client_fetch_remote_resources': Czy pobierać zdalne zasoby
- 'foreman_scap_client_http_proxy_server': serwer proxy HTTP
- 'foreman_scap_client_http_proxy_port': port proxy HTTP
- 'foreman_scap_client_ciphers': Opcjonalna lista szyfrów do negocjacji połączenia. Przykład: ["AES256-SHA:AES128-SHA:DES-CBC3-SHA"]
Przykład użycia
Poniższy przykład zapewnia, że co tydzień wykonywane jest audyt SCAP i wyniki są przesyłane do proxy na proxy.example.com:9090. Przykład automatycznie spróbuje zainstalować foreman_scap_client na systemie. Jeśli nie chcesz używać pliku dostosowującego z polityką, po prostu przekaż puste ciągi do zmiennych dostosowujących.
---
- hosts: all
become: true
roles:
- theforeman.foreman_scap_client
vars:
foreman_scap_client_server: https://proxy.example.com
foreman_scap_client_port: 9090
foreman_scap_client_policies: [{
"id": "1",
"hour": "12",
"minute": "1",
"month": "*",
"monthday": "*",
"weekday": "1",
"profile_id": "",
"content_path": "/usr/share/xml/scap/ssg/fedora/ssg-fedora-ds.xml",
"download_path": "/compliance/policies/1/content",
"tailoring_path": "/var/lib/openscap/ssg-fedora-ds-tailored.xml",
"tailoring_download_path": "/compliance/policies/1/tailoring"
}]
}
Użycie z foreman_openscap
Podczas korzystania z tej roli razem z foreman_openscap, nie powinno być konieczne dalsze konfigurowanie, ponieważ wartości pochodzą z ENC Foremana. Należy jednak zweryfikować wartości dla serwera, portu i polityk po zaimportowaniu roli; powinny mieć włączone nadpisania, a polityki powinny być <%= @host.policies_enc %>
Testowanie
Testy są skonfigurowane do uruchamiania w Dockerze przy użyciu Molecule i Testinfra. Upewnij się, że masz zainstalowane zależności:
pip install -r requirements.txt
Sprawdź, czy twój aktualny użytkownik może łączyć się z Dockerem bez sudo. Jeśli nie, utwórz grupę docker i dodaj swojego użytkownika. Aby uruchomić testy:
molecule test
Publikowanie na ansible-galaxy
Galaxy importuje zawartość z GitHub i używa tagów git do wersjonowania. Galaxy oczekuje, że tagi będą miały semantyczny format wersji.
ansible-galaxy install theforeman.foreman_scap_client