theforeman.foreman_scap_client
Rol de Ansible para el cliente SCAP de Foreman 
El rol de Ansible para el cliente SCAP de Foreman configura foreman_scap_client
para realizar escaneos y subir los resultados al proxy de Foreman.
Configuración
Este rol instalará automáticamente foreman_scap_client
(si no está instalado), configurará /etc/foreman_scap_client/config.yaml
con los parámetros necesarios para el funcionamiento de foreman_scap_client
y creará un cron que programa la ejecución del cliente.
Variables
'foreman_scap_client_state'
: estado del paqueterubygem-foreman_scap_client
'foreman_scap_client_package'
: nombre del paquete si difiere del predeterminado (rubygem-foreman_scap_client para el7/suse o ruby-foreman-scap-client para debian/ubuntu)'foreman_scap_client_server'
: configura el servidor proxy'foreman_scap_client_port'
: configura el puerto del servidor proxy'foreman_scap_client_policies'
: Array de políticas que deben configurarse'foreman_scap_client_ca_cert_path'
: ruta al archivo de la autoridad certificadora que emitió el certificado del cliente'foreman_scap_client_host_cert_path'
: ruta al certificado del host, puede ser el certificado del agente Puppet o el certificado de Katello'foreman_scap_client_host_private_key_path'
: ruta a la clave privada del host, puede ser la clave privada del agente Puppet o la clave privada de Katello'foreman_scap_client_release'
: qué versión configurar para un repositorio'foreman_scap_client_repo_url'
: URL para el repositorio conrubygem-foreman_scap_client
'foreman_scap_client_apt_repo_url'
: Repositorio basado en Debian que proporciona elscap-client
y elsubscription-manager
'foreman_scap_client_repo_state'
: estado del repositorio'foreman_scap_client_repo_key'
: archivo fuente de la clave RPM para el repositorio de plugins de Foreman. Nota: Actualmente, los paquetes no están firmados. A menos que se configure un archivo fuente alternativo, se usará la URL.'foreman_scap_client_repo_gpg'
: Habilitar/deshabilitar las comprobaciones GPG'foreman_scap_client_cron_template'
: ruta a la plantilla de cron'foreman_scap_client_cron_splay_seed'
: semilla para el tiempo de retraso de las tareas cron para generar números aleatorios pero idempotentes'foreman_scap_client_cron_splay'
: límite superior para el tiempo de retraso de las tareas cron'foreman_scap_client_fetch_remote_resources'
: Si se deben obtener recursos referenciados desde una ubicación remota'foreman_scap_client_http_proxy_server'
: servidor proxy HTTP'foreman_scap_client_http_proxy_port'
: puerto del proxy HTTP'foreman_scap_client_ciphers'
: Lista opcional de cifrados para la negociación de conexión. Ejemplo: ["AES256-SHA:AES128-SHA:DES-CBC3-SHA"]
Ejemplo de Uso
El siguiente ejemplo garantiza que cada semana se ejecute una auditoría SCAP y que los resultados se envíen al proxy en proxy.example.com:9090
. El ejemplo intentará instalar automáticamente foreman_scap_client
en el sistema. Si no desea usar su archivo de adaptación con políticas, simplemente pase cadenas vacías a las variables de adaptación.
---
- 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"
}]
}
Uso con foreman_openscap
Cuando se usa este rol junto con foreman_openscap, no debería ser necesaria más configuración, ya que los valores provienen del ENC de Foreman. Sin embargo, verifique los valores para el servidor, el puerto y las políticas después de importar el rol; deberían tener sobreescrituras habilitadas y las políticas deberían ser <%= @host.policies_enc %>
Pruebas
Se han configurado pruebas para ejecutarse en Docker utilizando Molecule y Testinfra. Asegúrese de instalar las dependencias:
pip install -r requirements.txt
Verifique si su usuario actual puede conectarse a Docker sin sudo. Si no, cree un grupo docker y añada su usuario. Para ejecutar pruebas:
molecule test
Publicación en ansible-galaxy
Galaxy importa contenido de GitHub y utiliza etiquetas git para versionado. Galaxy espera que las etiquetas tengan formato de versión semántica.
Installs and configures foreman_scap_client
ansible-galaxy install theforeman.foreman_scap_client