Aisbergg.beats

Rol de Ansible: aisbergg.beats

Este rol de Ansible puede instalar y configurar diferentes enviadores de datos Beats de la familia oficial de beats. Los siguientes Beats son compatibles con este rol:

Requisitos

Ninguno.

Variables del Rol

Variable Predeterminado Comentarios
beats_manage_repository true Habilitar la gestión del repositorio de paquetes Elastic Beat.
beats_rhel_repo_url https://artifacts.elastic.co/
packages/7.x/yum
URL del repositorio RPM para la instalación.
beats_debian_repo_url https://artifacts.elastic.co/
packages/7.x/apt
URL del repositorio APT para la instalación.
auditbeat_install_state absent Estado de instalación de Auditbeat (present, latest, absent).
auditbeat_service_enabled false Habilitar el servicio de Auditbeat al iniciar.
auditbeat_service_state stopped Estado de ejecución del servicio de Auditbeat (started, stopped, restarted).
auditbeat_service_restart_on_change true Reiniciar el servicio del demonio Docker ante cambios de configuración.
filebeat_install_state absent Estado de instalación de Filebeat (present, latest, absent).
filebeat_service_enabled false Habilitar el servicio de Filebeat al iniciar.
filebeat_service_state stopped Estado de ejecución del servicio de Filebeat (started, stopped, restarted).
filebeat_service_restart_on_change true Reiniciar el servicio del demonio Docker ante cambios de configuración.
functionbeat_install_state absent Estado de instalación de Functionbeat (present, latest, absent).
functionbeat_service_enabled false Habilitar el servicio de Functionbeat al iniciar.
functionbeat_service_state stopped Estado de ejecución del servicio de Functionbeat (started, stopped, restarted).
functionbeat_service_restart_on_change true Reiniciar el servicio del demonio Docker ante cambios de configuración.
heartbeat_install_state absent Estado de instalación de Heartbeat (present, latest, absent).
heartbeat_service_enabled false Habilitar el servicio de Heartbeat al iniciar.
heartbeat_service_state stopped Estado de ejecución del servicio de Heartbeat (started, stopped, restarted).
heartbeat_service_restart_on_change true Reiniciar el servicio del demonio Docker ante cambios de configuración.
metricbeat_install_state absent Estado de instalación de Metricbeat (present, latest, absent).
metricbeat_service_enabled false Habilitar el servicio de Metricbeat al iniciar.
metricbeat_service_state stopped Estado de ejecución del servicio de Metricbeat (started, stopped, restarted).
metricbeat_service_restart_on_change true Reiniciar el servicio del demonio Docker ante cambios de configuración.
packetbeat_install_state absent Estado de instalación de Packetbeat (present, latest, absent).
packetbeat_service_enabled false Habilitar el servicio de Packetbeat al iniciar.
packetbeat_service_state stopped Estado de ejecución del servicio de Packetbeat (started, stopped, restarted).
packetbeat_service_restart_on_change true Reiniciar el servicio del demonio Docker ante cambios de configuración.
auditbeat_config {} Configuración de Auditbeat. (Referencia)
filebeat_config {} Configuración de Filebeat. (Referencia)
functionbeat_config {} Configuración de Functionbeat. (Referencia)
heartbeat_config {} Configuración de Heartbeat. (Referencia)
metricbeat_config {} Configuración de Metricbeat. (Referencia)
packetbeat_config {} Configuración de Packetbeat. (Referencia)

Dependencias

Ninguna.

Ejemplo de Playbook

- hosts: all
  vars:
    # instalar y gestionar el servicio de Auditbeat
    auditbeat_install_state: present
    auditbeat_service_enabled: true
    auditbeat_service_state: started

    auditbeat_config:
      # transferir logs al recolector central
      output.logstash:
        hosts:
          - graylog1.example.org:5555
          - graylog2.example.org:5555
        loadbalance: true
        slow_start: true

      logging.level: warning
      logging.to_files: false
      logging.metrics.enabled: false

      auditbeat.modules:
        # https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-auditd.html
        # este reemplaza el programa Auditd (no debe ejecutarse en paralelo con Auditd)
        - module: auditd
          resolve_ids: true
          failure_mode: silent
          backlog_limit: 8196
          rate_limit: 0
          include_raw_message: false
          include_warnings: false
          audit_rule_files: [ '${path.config}/audit.rules.d/*.conf' ]
          # tomado de: https://github.com/Neo23x0/auditd/blob/master/audit.rules
          audit_rules: |
            # Auto Auditoría -------------------------------------------------------------

            ## Auditar los logs de auditoría
            ### Intentos exitosos y no exitosos de leer información de los registros de auditoría
            -w /var/log/audit/ -k auditlog

            ## Configuración de Auditd
            ### Modificaciones a la configuración de auditoría que ocurren mientras las funciones de recopilación de auditoría están operando
            -w /etc/audit/ -p wa -k auditconfig
            -w /etc/libaudit.conf -p wa -k auditconfig
            -w /etc/audisp/ -p wa -k audispconfig

            ## Monitorear el uso de herramientas de gestión de auditoría
            -w /sbin/auditctl -p x -k audittools
            -w /sbin/auditd -p x -k audittools
            -w /usr/sbin/augenrules -p x -k audittools

            # Filtros --------------------------------------------------------------------

            ### Los ponemos al principio porque la auditoría es un sistema que gana con la primera coincidencia.

            ## Ignorar registros de AVC de SELinux
            -a always,exclude -F msgtype=AVC

            ## Ignorar registros del directorio de trabajo actual
            -a always,exclude -F msgtype=CWD

            ## Ignorar registros EOE (End Of E)

        # https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-file_integrity.html
        - module: file_integrity
          paths:
            - /bin
            - /usr/bin
            - /sbin
            - /usr/sbin
            - /etc
          exclude_files:
            - '(?i)\.sw[nop]$'
            - '~$'
            - '/\.git($|/)'
            - '/etc/mtab'
          scan_at_start: true
          scan_rate_per_sec: 50 MiB
          max_file_size: 300 MiB
          hash_types: [blake2b_256]
          recursive: true

        # https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-system.html
        - module: system
          datasets:
            - package # Paquetes instalados, actualizados y eliminados
          period: 30m # La frecuencia con la que los conjuntos de datos comprueban cambios

        - module: system
          datasets:
            - host    # Información general del host, por ejemplo, tiempo de actividad, IPs.
            - login   # Inicios de sesión, cierres de sesión y arranques del sistema.
            - process # Procesos iniciados y detenidos
            - user    # Información del usuario
          state.period: 6h
          user.detect_password_changes: true
          # Patrones de archivo de los archivos de registro de inicio de sesión.
          login.wtmp_file_pattern: /var/log/wtmp*
          login.btmp_file_pattern: /var/log/btmp*

  roles:
    - aisbergg.beats

Licencia

MIT

Información del Autor

Andre Lehmann (aisberg@posteo.de)

Acerca del proyecto

Install and configure Beats from the official Elastic Beats family.

Instalar
ansible-galaxy install Aisbergg.beats
Licencia
mit
Descargas
3.2k
Propietario
DevOps, Go, Python, Bash, Ansible, Docker, GitLab-CI, Linux, MariaDB, PostgreSQL, Open Source, Communication Design, Running