foreman_scap_client
Ansible роль для клиента Foreman SCAP
Ansible роль для клиента Foreman SCAP настраивает foreman_scap_client для выполнения сканирований и загрузки результатов на прокси-сервер Foreman.
Настройка
Эта роль автоматически установит foreman_scap_client (если он не установлен), настроит файл /etc/foreman_scap_client/config.yaml с необходимыми для работы параметрами и создаст cron-задачу для планирования выполнения клиента.
Переменные
- 'foreman_scap_client_state': состояние пакета rubygem-foreman_scap_client
- 'foreman_scap_client_package': имя пакета, если оно отличается от стандартного (rubygem-foreman_scap_client для el7/suse или ruby-foreman-scap-client для debian/ubuntu)
- 'foreman_scap_client_server': настройка прокси-сервера
- 'foreman_scap_client_port': настройка порта прокси-сервера
- 'foreman_scap_client_policies': Массив политик, которые необходимо настроить
- 'foreman_scap_client_ca_cert_path': путь к файлу удостоверяющего центра, который выдал сертификат клиента
- 'foreman_scap_client_host_cert_path': путь к сертификату хоста, может быть сертификатом агента Puppet или сертификатом Katello
- 'foreman_scap_client_host_private_key_path': путь к закрытому ключу хоста, может быть закрытым ключом агента Puppet или Katello
- 'foreman_scap_client_release': Для какой версии настраивается репозиторий
- 'foreman_scap_client_repo_url': URL для репозитория с rubygem-foreman_scap_client
- 'foreman_scap_client_apt_repo_url': Репозиторий для Debian, предоставляющий scap-client и subscription-manager
- 'foreman_scap_client_repo_state': состояние репозитория
- 'foreman_scap_client_repo_key': файл ключа RPM для репозитория foreman-plugins. Примечание: В настоящее время пакеты не подписаны. Если не задан альтернативный источник файла, будет использоваться URL.
- 'foreman_scap_client_repo_gpg': Включить/выключить проверки GPG
- 'foreman_scap_client_cron_template': путь к шаблону cron
- 'foreman_scap_client_cron_splay_seed': начальное значение для случайного, но идемпотентного времени срабатывания cron
- 'foreman_scap_client_cron_splay': верхний предел для времени срабатывания cron задач
- 'foreman_scap_client_fetch_remote_resources': Нужно ли загружать ссылочные ресурсы из удаленного местоположения
- 'foreman_scap_client_http_proxy_server': HTTP прокси-сервер
- 'foreman_scap_client_http_proxy_port': Порт HTTP прокси
- 'foreman_scap_client_ciphers': Опциональный список шифров для переговоров о соединении. Например: ["AES256-SHA:AES128-SHA:DES-CBC3-SHA"]
Пример использования
Следующий пример обеспечивает выполнение SCAP аудита каждую неделю, после чего результаты отправляются на прокси-сервер proxy.example.com:9090. Пример автоматически попытается установить foreman_scap_client на систему. Если вы не хотите использовать свой файл адаптации с политикой, просто передайте пустые строки переменным адаптации.
---
- 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"
}]
}
Использование с foreman_openscap
При использовании этой роли вместе с foreman_openscap дополнительная настройка обычно не требуется, так как значения приходят из ENC Foreman. Однако проверьте значения для сервера, порта и политик после импорта роли; они должны иметь включенные переопределения, а политики должны быть <%= @host.policies_enc %>
.
Тестирование
Тесты настроены для запуска в Docker с использованием Molecule и Testinfra. Убедитесь, что установлены зависимости:
pip install -r requirements.txt
Проверьте, может ли ваш текущий пользователь подключаться к Docker без sudo. Если нет, создайте группу docker и добавьте своего пользователя. Для запуска тестов:
molecule test
Выпуск на ansible-galaxy
Galaxy импортирует содержимое из GitHub и использует теги git для версионирования. Galaxy ожидает, что теги будут иметь семантический формат версий.
ansible-galaxy install theforeman/ansible-foreman_scap_client