j91321.auditbeat

ansible-role-auditbeat

GitHub-Lizenz Letzte GitHub-Änderung Build Twitter

Eine Ansible-Rolle, die auditd durch Auditbeat ersetzt. Enthält modifizierte Versionen von Regeln aus bfuzzy1/auditd-attack.

Mitre ATT&CK Framework Zuordnung

Bitte testen Sie die Regeln gründlich, bevor Sie sie in der Produktion verwenden. Einige Regeln können je nach Einrichtung die Leistung beeinträchtigen. Für weitere Informationen zu Auditbeat besuchen Sie bitte die offizielle Dokumentation.

Unterstützte Plattformen:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04
  • CentOS 8
  • CentOS 7
  • CentOS 6
  • Debian 10
  • Debian 9
  • Debian 8
  • Gentoo **
  • Windows 10*
  • Windows Server 2019*
  • Windows Server 2016*

Auditbeat sollte auch auf Oracle Enterprise Linux funktionieren, jedoch nur mit RHCK.

* Auditbeat auf Windows unterstützt eine andere Funktionalität. Wenn Sie ähnliche Funktionen benötigen, verwenden Sie Sysmon + Winlogbeat.

** Wenn Sie Auditbeat auf Gentoo ausführen möchten, müssen Sie Ihr eigenes Ebuild erstellen. Wenn Sie das system-Metrikset verwenden möchten, müssen Sie Auditbeat mit dem x-pack-Ordner mit der Lizenz von Elastic erstellen. Wenn Sie Sockets verwenden möchten, müssen Sie Kprobe in der Kernel-Konfiguration aktivieren.

Wenn Sie Auditbeat aus einem Docker-Container ausführen möchten, verwenden Sie das offizielle Docker- Image, das von Elastic bereitgestellt wird.

Anforderungen

Keine

Rollenvariablen

Ansible-Variablen aus defaults/main.yml

auditbeat_service:
  install_path_windows64: "C:\\Program Files\\Elastic\\auditbeat"
  install_path_windows32: "C:\\Program Files\\Elastic\\auditbeat"
  version: "7.13.1"
  download: true
  config_path: /etc/auditbeat
  install_rules: true
  rule_file: auditd-attack.conf 

auditbeat_output:
  type: "elasticsearch"
  elasticsearch:
    hosts:
      - "localhost:9200"
    security:
      enabled: false
auditbeat_processors: |
  - add_host_metadata: ~
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
auditbeat_portage:
  package: =auditbeat-{{ auditbeat_service.version }}
  getbinpkg: no

Die Variable auditbeat_service.install_rules kann auf false gesetzt werden, wenn Sie die enthaltenen Regeln nicht verwenden möchten.

Die Variable auditbeat_service.download betrifft nur Windows-Installationen. Wenn Sie nicht möchten, dass die Clients das Windows-Zip-Paket aus dem Internet herunterladen, können Sie sie auf false setzen und die Windows-Zip-Datei in den files/-Ordner legen. Bitte behalten Sie den Namen der Zip-Datei bei, z.B. files/auditbeat-7.6.2-windows-x86.zip.

Gibt die Ausgabe-Konfiguration zu Elasticsearch ohne aktivierte Sicherheit an.

auditbeat_output:
  type: elasticsearch
  elasticsearch:
    hosts:
      - "localhost:9200"
    security:
      enabled: true
      username: auditbeat_writer
      password: pa$$word
      protocol: https
      ssl_verification_mode: certificate
      ssl_certificate_authorities:
        - "/etc/ca/my_ca.crt"

Gibt die Ausgabe-Konfiguration zu Elasticsearch mit aktivierter Sicherheit an, eine Zertifizierungsstelle muss auf dem Server vorhanden sein.

Die Variable auditbeat_output.type kann drei Werte annehmen: entweder logstash, elasticsearch oder redis. Dies liegt daran, dass bei festgelegtem Ansible hash_behaviour auf merge die Rolle sowohl elasticsearch als auch logstash-Ausgaben installiert, wenn der Ausgabe-Typ logstash verwendet wird, was nicht korrekt ist.

Beispiel für Redis-Ausgabe:

auditbeat_output:
  type: redis
  redis:
    hosts:
      - 192.168.100.4
    password: "redis_password"
    key: "auditbeat"

Beispiel zur Filterung von hochvolumigen Protokollen mithilfe von Prozessoren:

auditbeat_processors: |
  - add_host_metadata: ~
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - drop_event.when.and:
    - equals.event.action: "network_flow"
    - equals.server.port: 10050
    - equals.process.name: "zabbix_agentd"

Ansible-Variablen aus vars/main.yml

auditbeat_module:
  auditd:
    enabled: true
  file_integrity:
    enabled: true
    paths:
      - /bin
      - /usr/bin
      - /sbin
      - /usr/sbin
      - /etc
  system:
    enabled: true
    datasets:
      - host
      - login
      - package
      - process
      - socket
      - user
auditbeat_module_windows:
  file_integrity:
    enabled: true
    paths:
      - C:\windows
      - C:\windows\system32
      - C:\Programme
      - C:\Programme (x86)
  system:
    enabled: true
    datasets:
      - host
      - process

Diese Variablen sind die Standardwerte von Auditbeat und passen zu den meisten gängigen Anwendungsfällen.

Abhängigkeiten

Keine

Beispiel-Playbook

- name: Installiere auditbeat
  hosts:
    - linux
    - windows
  become: yes
  vars:
    auditbeat_service:
      install_path_windows32: "C:\\Program Files\\monitoring\\auditbeat"
      install_path_windows64: "C:\\Program Files\\monitoring\\auditbeat"
      version: "7.13.1"
      download: true
      install_rules: true
      rule_file: auditd-attack.conf
    auditbeat_template:
      enabled: false
    auditbeat_general:
      tags:
        - "auditbeat"
    auditbeat_output:
      type: "elasticsearch"
      elasticsearch:
        hosts:
          - "172.16.0.11:9200"
          - "172.16.0.12:9200"
          - "172.16.0.13:9200"
        security:
          enabled: true
          username: auditbeat
          password: auditbeatpassword
          protocol: http
  roles:
  - ansible-role-auditbeat

Extras

Im Extras-Ordner finden Sie mehrere vorbereitete Kibana-Suchanfragen basierend auf Sigma auditd rules. Diese gespeicherten Suchen funktionieren mit dem Standard-Indexmuster auditbeat-*. Wenn Sie ein anderes Indexmuster verwenden, müssen Sie die gespeicherten Objekte mit dem entsprechenden Indexmuster und den Feldnamen ändern.

Installationsschritte:

  1. Gehen Sie zu Kibana->Management->Indexmuster
  2. Klicken Sie auf Indexmuster erstellen
  3. Geben Sie im Feld Indexmuster auditbeat- ein und klicken Sie auf Nächster Schritt
  4. Wählen Sie @timestamp als Zeitfilterfeldname
  5. Klicken Sie auf Erweiterte Optionen anzeigen
  6. Setzen Sie die Benutzerdefinierte Indexmuster-ID auf auditbeat-
  7. Klicken Sie auf Indexmuster erstellen

Importieren Sie als Nächstes die gespeicherten Suchen aus diesem Repository:

  1. Gehen Sie zu Kibana->Management->Gespeicherte Objekte
  2. Klicken Sie auf Importieren
  3. Wählen Sie die JSON-Datei der gespeicherten Suche aus, die Sie importieren möchten
  4. Klicken Sie auf Importieren
  5. Wiederholen Sie das für alle gespeicherten Suchen

Lizenz

MIT

Autoreninformation

j91321

Regeln von: bfuzzy

Hinweise

Tests benötigen einige weitere Verbesserungen. Wir warten darauf, dass das Beats-Problem #8280 gelöst wird, um bessere Tests zu erhalten.

Über das Projekt

Install Auditbeat for security monitoring, supplied ruleset.

Installieren
ansible-galaxy install j91321.auditbeat
Lizenz
mit
Downloads
299