j91321.auditbeat
ansible-role-auditbeat
Eine Ansible-Rolle, die auditd durch Auditbeat ersetzt. Enthält modifizierte Versionen von Regeln aus bfuzzy1/auditd-attack.
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:
- Gehen Sie zu Kibana->Management->Indexmuster
- Klicken Sie auf Indexmuster erstellen
- Geben Sie im Feld Indexmuster auditbeat- ein und klicken Sie auf Nächster Schritt
- Wählen Sie @timestamp als Zeitfilterfeldname
- Klicken Sie auf Erweiterte Optionen anzeigen
- Setzen Sie die Benutzerdefinierte Indexmuster-ID auf auditbeat-
- Klicken Sie auf Indexmuster erstellen
Importieren Sie als Nächstes die gespeicherten Suchen aus diesem Repository:
- Gehen Sie zu Kibana->Management->Gespeicherte Objekte
- Klicken Sie auf Importieren
- Wählen Sie die JSON-Datei der gespeicherten Suche aus, die Sie importieren möchten
- Klicken Sie auf Importieren
- 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.
Install Auditbeat for security monitoring, supplied ruleset.
ansible-galaxy install j91321.auditbeat