robertdebock.auditd

Rôle Ansible auditd

Installez et configurez auditd sur votre système.

GitHub GitLab Téléchargements Version
github gitlab downloads Version

Exemple de Playbook

Cet exemple est tiré de molecule/default/converge.yml et est testé à chaque push, demande de tirage et version.

---
- 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

La machine doit être préparée. Dans CI, cela se fait en utilisant molecule/default/prepare.yml :

---
- name: Préparer
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap

Vous pouvez également consulter une explication complète et un exemple sur la façon d'utiliser ces rôles.

Variables du Rôle

Les valeurs par défaut des variables sont définies dans defaults/main.yml :

---
# fichier par défaut pour auditd

# Les variables ci-dessous sont documentées dans la page de manuel pour 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"  # Cela peut être un nombre ('25') ou un pourcentage. ('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"

# Vous pouvez choisir de gérer les règles avec ce rôle ou non.
# Définir auditd_manage_rules sur false ne gérera pas les règles.
auditd_manage_rules: true

# Certaines règles nécessitent qu'une architecture spécifique soit définie.
auditd_default_arch: b64

# Vous pouvez choisir de démarrer le service auditd ou non.
# Utile principalement dans CI, pour éviter de démarrer le service.
auditd_start_service: true

Exigences

État des rôles utilisés

Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.

Exigence GitHub GitLab
robertdebock.bootstrap État de la build GitHub État de la build GitLab

Contexte

Ce rôle fait partie de nombreux rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.

Voici un aperçu des rôles liés : dépendances

Compatibilité

Ce rôle a été testé sur ces images de conteneurs :

conteneur tags
EL 9
Debian tous
Fedora tous
Ubuntu tous

La version minimale requise d'Ansible est 2.12, des tests ont été effectués sur :

  • La version précédente.
  • La version actuelle.
  • La version de développement.

Si vous rencontrez des problèmes, veuillez les signaler sur GitHub.

Licence

Apache-2.0.

Informations sur l'auteur

robertdebock

Veuillez envisager de me soutenir.

À propos du projet

Install and configure auditd on your system.

Installer
ansible-galaxy install robertdebock.auditd
Licence
apache-2.0
Téléchargements
61.5k
Propriétaire
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.