beats

Ansible Роль: aisbergg.beats

Эта роль Ansible может установить и настроить различные шиперы данных Beats из официальной семьи beats. Данная роль поддерживает следующие Beats:

Требования

Нет.

Переменные Роли

Переменная Значение по умолчанию Комментарии
beats_manage_repository true Включить управление репозиторием пакетов Elastic Beat.
beats_rhel_repo_url https://artifacts.elastic.co/
packages/7.x/yum
URL RPM репозитория для установки
beats_debian_repo_url https://artifacts.elastic.co/
packages/7.x/apt
URL APT репозитория для установки
auditbeat_install_state absent Состояние установки Auditbeat (present, latest, absent)
auditbeat_service_enabled false Включить сервис Auditbeat при загрузке
auditbeat_service_state stopped Состояние работы сервиса Auditbeat (started, stopped, restarted)
auditbeat_service_restart_on_change true Перезапустить службу Docker при изменении конфигурации.
filebeat_install_state absent Состояние установки Filebeat (present, latest, absent)
filebeat_service_enabled false Включить сервис Filebeat при загрузке
filebeat_service_state stopped Состояние работы сервиса Filebeat (started, stopped, restarted)
filebeat_service_restart_on_change true Перезапустить службу Docker при изменении конфигурации.
functionbeat_install_state absent Состояние установки Functionbeat (present, latest, absent)
functionbeat_service_enabled false Включить сервис Functionbeat при загрузке
functionbeat_service_state stopped Состояние работы сервиса Functionbeat (started, stopped, restarted)
functionbeat_service_restart_on_change true Перезапустить службу Docker при изменении конфигурации.
heartbeat_install_state absent Состояние установки Heartbeat (present, latest, absent)
heartbeat_service_enabled false Включить сервис Heartbeat при загрузке
heartbeat_service_state stopped Состояние работы сервиса Heartbeat (started, stopped, restarted)
heartbeat_service_restart_on_change true Перезапустить службу Docker при изменении конфигурации.
metricbeat_install_state absent Состояние установки Metricbeat (present, latest, absent)
metricbeat_service_enabled false Включить сервис Metricbeat при загрузке
metricbeat_service_state stopped Состояние работы сервиса Metricbeat (started, stopped, restarted)
metricbeat_service_restart_on_change true Перезапустить службу Docker при изменении конфигурации.
packetbeat_install_state absent Состояние установки Packetbeat (present, latest, absent)
packetbeat_service_enabled false Включить сервис Packetbeat при загрузке
packetbeat_service_state stopped Состояние работы сервиса Packetbeat (started, stopped, restarted)
packetbeat_service_restart_on_change true Перезапустить службу Docker при изменении конфигурации.
auditbeat_config {} Конфигурация Auditbeat. (Ссылка)
filebeat_config {} Конфигурация Filebeat. (Ссылка)
functionbeat_config {} Конфигурация Functionbeat. (Ссылка)
heartbeat_config {} Конфигурация Heartbeat. (Ссылка)
metricbeat_config {} Конфигурация Metricbeat. (Ссылка)
packetbeat_config {} Конфигурация Packetbeat. (Ссылка)

Зависимости

Нет.

Пример Playbook

- hosts: all
  vars:
    # установить и управлять сервисом Auditbeat
    auditbeat_install_state: present
    auditbeat_service_enabled: true
    auditbeat_service_state: started

    auditbeat_config:
      # передавать логи в центральный сборщик логов
      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
        # это заменяет программу Auditd (не должно работать параллельно с 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' ]
          # взято из: https://github.com/Neo23x0/auditd/blob/master/audit.rules
          audit_rules: |
            # Самоаудит ---------------------------------------------------------------

            ## Аудит журналов аудита
            ### Успешные и неуспешные попытки прочитать информацию из журналов аудита
            -w /var/log/audit/ -k auditlog

            ## Конфигурация Auditd
            ### Изменения конфигурации аудита, происходящие во время работы функции сбора аудита
            -w /etc/audit/ -p wa -k auditconfig
            -w /etc/libaudit.conf -p wa -k auditconfig
            -w /etc/audisp/ -p wa -k audispconfig

            ## Мониторинг использования инструментов управления аудитом
            -w /sbin/auditctl -p x -k audittools
            -w /sbin/auditd -p x -k audittools
            -w /usr/sbin/augenrules -p x -k audittools

            # Фильтры ---------------------------------------------------------------------

            ### Мы ставим это первым, потому что аудит - это система первого совпадения.

            ## Игнорировать записи SELinux AVC
            -a always,exclude -F msgtype=AVC

            ## Игнорировать записи текущего рабочего каталога
            -a always,exclude -F msgtype=CWD

            ## Игнорировать записи EOE (конец окончания)

        # 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 # Установлены, обновлены и удалены пакеты
          period: 30m # Частота, с которой наборы данных проверяют изменения

        - module: system
          datasets:
            - host    # Общая информация о хосте, например, время работы, IP-адреса
            - login   # Входы, выходы пользователей и загрузки системы.
            - process # Запущенные и остановленные процессы
            - user    # Информация о пользователе
          state.period: 6h
          user.detect_password_changes: true
          # Шаблоны файлов журнала входа.
          login.wtmp_file_pattern: /var/log/wtmp*
          login.btmp_file_pattern: /var/log/btmp*

  roles:
    - aisbergg.beats

Лицензия

MIT

Информация об авторе

Андре Леманн (aisberg@posteo.de)

О проекте

Install and configure Beats from the official Elastic Beats family.

Установить
ansible-galaxy install aisbergg/ansible-role-beats
Лицензия
mit
Загрузки
3183
Владелец
DevOps, Go, Python, Bash, Ansible, Docker, GitLab-CI, Linux, MariaDB, PostgreSQL, Open Source, Communication Design, Running