j91321.auditbeat
ansible-role-auditbeat
Un rôle Ansible qui remplace auditd par Auditbeat. Version modifiée des règles provenant de bfuzzy1/auditd-attack.
Veuillez tester les règles correctement avant de les utiliser en production. Certaines règles peuvent affecter les performances selon votre configuration. Pour plus d'informations sur Auditbeat, veuillez consulter la documentation officielle.
Plateformes prises en charge :
- 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 devrait également fonctionner sur Oracle Enterprise Linux mais uniquement avec RHCK.
* Auditbeat sur Windows prend en charge un ensemble de fonctionnalités différent. Si vous souhaitez obtenir une fonctionnalité similaire, utilisez Sysmon + Winlogbeat.
** Si vous souhaitez exécuter Auditbeat sur Gentoo, vous devrez créer votre propre ebuild. Si vous voulez utiliser le métrique system
, vous devrez construire Auditbeat avec le dossier x-pack avec la licence Elastic. Si vous voulez utiliser les Sockets, le Kprobe doit être activé dans le menu de configuration de votre noyau.
Si vous souhaitez exécuter Auditbeat à partir d'un conteneur Docker, utilisez l'image officielle fournie par Elastic.
Exigences
Aucune
Variables de rôle
Variables Ansible dans 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
La variable auditbeat_service.install_rules
peut être modifiée à false si vous ne souhaitez pas utiliser les règles incluses.
La variable auditbeat_service.download
affecte uniquement les installations Windows. Si vous ne souhaitez pas que les clients téléchargent le package zip Windows depuis Internet, vous pouvez la définir sur false
et placer le zip Windows dans le dossier files/
. Veuillez conserver le nom du fichier zip, par exemple files/auditbeat-7.6.2-windows-x86.zip
.
Spécifie la configuration de sortie vers Elasticsearch sans sécurité activée.
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"
Spécifie la configuration de sortie vers Elasticsearch avec sécurité activée, l'autorité de certification doit être présente sur le serveur.
La variable auditbeat_output.type
prend trois valeurs : logstash
, elasticsearch
ou redis
. Cela est dû au fait que si vous avez le hash_behaviour
d'ansible réglé sur merge
, le rôle installerait à la fois les sorties elasticsearch et logstash lors de l'utilisation du type de sortie logstash, ce qui est incorrect.
Exemple de sortie Redis :
auditbeat_output:
type: redis
redis:
hosts:
- 192.168.100.4
password: "redis_password"
key: "auditbeat"
Exemple de filtrage des journaux à volume élevé en utilisant des processeurs.
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"
Variables Ansible dans 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:\Program Files
- C:\Program Files (x86)
system:
enabled: true
datasets:
- host
- process
Ces variables sont les valeurs par défaut d'auditbeat et conviennent à la plupart des cas d'utilisation courants.
Dépendances
Aucune
Exemple de Playbook
- name: Installer 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
Dans le dossier extras, vous pouvez trouver plusieurs recherches enregistrées Kibana préparées basées sur les règles Sigma auditd. Ces recherches enregistrées fonctionneront avec le modèle d'index par défaut auditbeat-*. Si vous utilisez un modèle d'index différent, vous devez modifier les objets sauvegardés avec le modèle d'index approprié et les noms de champs.
Étapes d'installation :
- Allez à Kibana->Gestion->Modèles d'index
- Cliquez sur Créer un modèle d'index
- Dans le champ Modèle d'index, écrivez auditbeat- et cliquez sur Étape suivante
- Sélectionnez @timestamp comme Nom du champ de filtre de temps
- Cliquez sur Afficher les options avancées
- Définissez l'ID Modèle d'index personnalisé sur auditbeat-
- Cliquez sur Créer un modèle d'index
Ensuite, importez les recherches enregistrées de ce dépôt :
- Allez à Kibana->Gestion->Objets enregistrés
- Cliquez sur Importer
- Sélectionnez le fichier json de recherche enregistrée que vous souhaitez importer
- Cliquez sur Importer
- Répétez pour toutes les recherches enregistrées
Licence
MIT
Informations sur l'auteur
j91321
Règles par : bfuzzy
Remarques
Les tests nécessitent encore quelques améliorations. En attente de la résolution du problème des beats #8280 pour de meilleurs tests.
Install Auditbeat for security monitoring, supplied ruleset.
ansible-galaxy install j91321.auditbeat