theforeman.foreman_scap_client
Ansible-Rolle für den Foreman SCAP-Client 
Die Ansible-Rolle für den Foreman SCAP-Client konfiguriert foreman_scap_client
, um Scans durchzuführen und die Ergebnisse an den Foreman-Proxy hochzuladen.
Konfiguration
Diese Rolle installiert automatisch foreman_scap_client
(falls nicht installiert) und konfiguriert /etc/foreman_scap_client/config.yaml
mit den Parametern, die für den Betrieb von foreman_scap_client
erforderlich sind. Zudem wird ein Cron-Job erstellt, der die Ausführung des Clients plant.
Variablen
foreman_scap_client_state
: Zustand des Paketsrubygem-foreman_scap_client
foreman_scap_client_package
: Name des Pakets, falls er von der Standardeinstellung abweicht (z.B.rubygem-foreman_scap_client
für el7/suse oderruby-foreman-scap-client
für debian/ubuntu)foreman_scap_client_server
: konfiguriert den Proxy-Serverforeman_scap_client_port
: konfiguriert den Port des Proxy-Serversforeman_scap_client_policies
: Array von Richtlinien, die konfiguriert werden sollenforeman_scap_client_ca_cert_path
: Pfad zur Datei der Zertifizierungsstelle, die das Zertifikat des Clients ausgestellt hatforeman_scap_client_host_cert_path
: Pfad zum Hostzertifikat, kann das Zertifikat des Puppet-Agenten oder das Katello-Zertifikat seinforeman_scap_client_host_private_key_path
: Pfad zum privaten Schlüssel des Hosts, kann der private Schlüssel des Puppet-Agenten oder der private Schlüssel von Katello seinforeman_scap_client_release
: Welche Version für ein Repository konfiguriert werden sollforeman_scap_client_repo_url
: URL für das Repository mitrubygem-foreman_scap_client
foreman_scap_client_apt_repo_url
: Debian-basiertes Repository, das den SCAP-Client und den Subscription-Manager bereitstelltforeman_scap_client_repo_state
: Zustand des Repositoriesforeman_scap_client_repo_key
: RPM-Schlüsseldatenquelle für dasforeman-plugins
-Repository. Hinweis: Aktuell sind die Pakete nicht signiert. Wenn nicht auf eine alternative Quelldatei eingestellt, wird die URL verwendet.foreman_scap_client_repo_gpg
: GPG-Überprüfungen aktivieren/deaktivierenforeman_scap_client_cron_template
: Pfad zur Cron-Vorlageforeman_scap_client_cron_splay_seed
: Seed für die Splay-Zeit der Cron-Aufgabe, um zufällige aber idempotente Zahlen zu generierenforeman_scap_client_cron_splay
: obere Grenze für die Splay-Zeit der Cron-Aufgabenforeman_scap_client_fetch_remote_resources
: Ob remote referenzierte Ressourcen abgerufen werden sollenforeman_scap_client_http_proxy_server
: HTTP-Proxy-Serverforeman_scap_client_http_proxy_port
: HTTP-Proxy-Portforeman_scap_client_ciphers
: Optionale Liste von Chiffren für die Verbindungsverhandlung. Beispiel: ["AES256-SHA:AES128-SHA:DES-CBC3-SHA"]
Beispielanwendung
Das folgende Beispiel stellt sicher, dass einmal pro Woche ein SCAP-Audit durchgeführt wird und die Ergebnisse an den Proxy unter proxy.example.com:9090
gesendet werden. Das Beispiel versucht automatisch, foreman_scap_client
auf dem System zu installieren. Wenn Sie Ihre Anpassungsdatei mit Richtlinien nicht verwenden möchten, geben Sie einfach leere Strings für die Anpassungsvariablen an.
---
- 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"
}]
}
Verwendung mit foreman_openscap
Bei der Verwendung dieser Rolle zusammen mit foreman_openscap sollte keine zusätzliche Konfiguration erforderlich sein, da die Werte von Foreman’s ENC stammen. Überprüfen Sie jedoch die Werte für Server, Port und Richtlinien nach dem Import der Rolle; sie sollten überschreibbar sein und die Richtlinien sollten <%= @host.policies_enc %>
sein.
Testen
Tests sind eingerichtet, um in Docker mit Molecule und Testinfra ausgeführt zu werden. Stellen Sie sicher, dass Sie die Abhängigkeiten installiert haben:
pip install -r requirements.txt
Überprüfen Sie, ob Ihr aktueller Benutzer ohne Sudo auf Docker zugreifen kann. Wenn nicht, erstellen Sie eine Docker-Gruppe und fügen Sie Ihren Benutzer hinzu. Um Tests auszuführen:
molecule test
Veröffentlichung auf ansible-galaxy
Galaxy importiert Inhalte von GitHub und verwendet Git-Tags für Versionsverwaltung. Galaxy erwartet, dass die Tags im semantischen Versionsformat sind.
Installs and configures foreman_scap_client
ansible-galaxy install theforeman.foreman_scap_client