auditd
Ansible роль auditd
Установите и настройте auditd на вашей системе.
GitHub | GitLab | Скачивания | Версия |
---|---|---|---|
Пример плейбука
Этот пример взят из molecule/default/converge.yml
и тестируется при каждом пуше, запросе на слияние и выпуске.
---
- name: Converge
hosts: all
become: true
gather_facts: true
roles:
- role: robertdebock.auditd
auditd_start_service: false
auditd_local_events: "no"
auditd_rules:
- file: /var/log/audit/
keyname: auditlog
- file: /etc/audit/
permissions:
- write
- attribute_change
keyname: auditconfig
- file: /etc/libaudit.conf
permissions:
- write
- attribute_change
keyname: auditconfig
- file: /etc/audisp/
permissions:
- write
- attribute_change
keyname: audispconfig
- file: /sbin/auditctl
permissions:
- execute
keyname: audittools
- file: /sbin/auditd
permissions:
- execute
keyname: audittools
- syscall: open
action: always
filter: exit
filters:
- auid!=4294967295
- auid!=unset
keyname: my_keyname
arch: b32
- syscall: adjtimex
action: always
filter: exit
keyname: time_change
- syscall: settimeofday
action: always
filter: exit
keyname: time_change
- action: always
filter: exit
filters:
- path=/bin/ping
- perm=x
- auid>=500
- auid!=4294967295
keyname: privileged
Машину нужно подготовить. В CI это делается с помощью molecule/default/prepare.yml
:
---
- name: Prepare
hosts: all
become: true
gather_facts: false
roles:
- role: robertdebock.bootstrap
Также смотрите полное объяснение и пример о том, как использовать эти роли.
Переменные роли
Значения по умолчанию для переменных установлены в defaults/main.yml
:
---
# файл по умолчанию для auditd
# Ниже перечисленные переменные задокументированы в мануале для auditd.conf
# https://linux.die.net/man/5/auditd.conf
auditd_buffer_size: 32768
auditd_fail_mode: 1
auditd_maximum_rate: 60
auditd_enable_flag: 1
auditd_local_events: "yes"
auditd_write_logs: "yes"
auditd_log_file: /var/log/audit/audit.log
auditd_log_group: root
auditd_log_format: RAW
auditd_flush: incremental_async
auditd_freq: 50
auditd_max_log_file: 8
auditd_num_logs: 5
auditd_priority_boost: 4
auditd_disp_qos: lossy
auditd_dispatcher: /sbin/audispd
auditd_name_format: none
auditd_max_log_file_action: rotate
auditd_space_left: "75" # Это может быть число ('25') или процент. ('25%')
auditd_space_left_action: syslog
auditd_verify_email: "yes"
auditd_action_mail_acct: root
auditd_admin_space_left: 50
auditd_admin_space_left_action: suspend
auditd_disk_full_action: suspend
auditd_disk_error_action: suspend
auditd_use_libwrap: "yes"
auditd_tcp_listen_queue: 5
auditd_tcp_max_per_addr: 1
auditd_tcp_client_max_idle: 0
auditd_enable_krb5: "no"
auditd_krb5_principal: auditd
auditd_distribute_network: "no"
# Вы можете управлять правилами с помощью этой роли или нет.
# Установка auditd_manage_rules в false не будет управлять правилами.
auditd_manage_rules: true
# Некоторые правила требуют, чтобы была установлена конкретная архитектура.
auditd_default_arch: b64
# Вы можете выбрать, запускать службу auditd или нет.
# В основном это полезно в CI, чтобы избежать запуска службы.
auditd_start_service: true
Требования
- pip пакеты, перечисленные в requirements.txt.
Состояние используемых ролей
Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.
Требование | GitHub | GitLab |
---|---|---|
robertdebock.bootstrap |
Контекст
Эта роль является частью многих совместимых ролей. Посмотрите документацию этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:
Совместимость
Эта роль тестировалась на следующих образах контейнеров:
контейнер | теги |
---|---|
EL | 9 |
Debian | все |
Fedora | все |
Ubuntu | все |
Минимальная версия Ansible, требуемая для работы, - 2.12, тесты были проведены на:
- Предыдущей версии.
- Текущей версии.
- Версии для разработчиков.
Если вы найдете проблемы, пожалуйста, зарегистрируйте их в GitHub.
Лицензия
Информация об авторе
Пожалуйста, рассмотрите возможность спонсирования меня.
ansible-galaxy install robertdebock/ansible-role-auditd