trombik.argus
trombik.argus
Rôle ansible
pour argus
.
Remarques pour tous les utilisateurs
Le rôle suppose que le chemin vers le répertoire de journaux, où le fichier ra
capturé est enregistré, est /var/log/argus
, et qu'il est la propriété de l'utilisateur argus
.
Remarques pour tous les utilisateurs sauf ceux d'OpenBSD
Le rôle crée le groupe argus
et l'utilisateur argus
.
Remarques pour les utilisateurs d'Ubuntu et CentOS
Le fichier d'unité systemd
pour argus(8)
sera modifié afin que /etc/default/argus
, ou /etc/sysconfig/argus
, soit lu par systemd
.
Exigences
Variables de rôle
Variable | Description | Par défaut |
---|---|---|
argus_package |
Nom du paquet argus |
{{ __argus_package }} |
argus_service |
Nom du service argus |
{{ __argus_service }} |
argus_extra_packages |
Liste de paquets supplémentaires à installer | [] |
argus_user |
Nom de l'utilisateur argus |
{{ __argus_user }} |
argus_group |
Nom du groupe argus |
{{ __argus_group }} |
argus_extra_groups |
Liste de groupes supplémentaires pour argus_user |
[] |
argus_log_dir |
Chemin vers le répertoire de journaux | /var/log/argus |
argus_config_dir |
Chemin vers le répertoire de configuration | {{ __argus_config_dir }} |
argus_config_file |
Chemin vers argus.conf |
{{ argus_config_dir }}/argus.conf |
argus_config |
Le contenu de argus.conf |
"" |
argus_flags |
Voir ci-dessous | "" |
argus_flags
Cette variable est utilisée pour remplacer les valeurs par défaut des scripts de démarrage. Dans les variantes Debian, la valeur est le contenu de /etc/default/argus
. Dans les variantes RedHat, c'est le contenu de /etc/sysconfig/argus
. Dans FreeBSD, c'est le contenu de /etc/rc.conf.d/argus
. Dans OpenBSD, la valeur est transmise à rcctl set argus
.
Debian
Variable | Par défaut |
---|---|
__argus_service |
argus |
__argus_package |
argus-server |
__argus_config_dir |
/etc |
__argus_user |
argus |
__argus_group |
argus |
__argus_log_dir |
/var/log/argus |
FreeBSD
Variable | Par défaut |
---|---|
__argus_service |
argus |
__argus_package |
net-mgmt/argus3 |
__argus_config_dir |
/usr/local/etc |
__argus_user |
argus |
__argus_group |
argus |
__argus_log_dir |
/var/log/argus |
OpenBSD
Variable | Par défaut |
---|---|
__argus_service |
argus |
__argus_package |
argus |
__argus_config_dir |
/etc |
__argus_user |
_argus |
__argus_group |
_argus |
__argus_log_dir |
/var/log/argus |
RedHat
Variable | Par défaut |
---|---|
__argus_service |
argus |
__argus_package |
argus |
__argus_config_dir |
/etc |
__argus_user |
argus |
__argus_group |
argus |
__argus_log_dir |
/var/log/argus |
Dépendances
Exemple de playbook
---
- hôtes: localhost
rôles:
- rôle: trombik.redhat_repo
quand:
- ansible_os_family == 'RedHat'
- nom: trombik.argus_clients
- nom: ansible-role-argus
pré_tâches:
- nom: Dump de toutes les variables d'hôtes
debug:
var: hostvars[inventory_hostname]
post_tâches:
- nom: Liste tous les services (systemd)
# contournement de ansible-lint: [303] service utilisé à la place du module service
shell: "echo; systemctl list-units --type service"
changed_when: false
quand:
# dans docker, init n'est pas systemd
- ansible_virtualization_type != 'docker'
- ansible_os_family == 'RedHat' ou ansible_os_family == 'Debian'
- nom: liste tous les services (service FreeBSD)
# contournement de ansible-lint: [303] service utilisé à la place du module service
shell: "echo; service -l"
changed_when: false
quand:
- ansible_os_family == 'FreeBSD'
vars:
os_argus_flags:
OpenBSD: "-F {{ argus_config_file }}"
FreeBSD: |
argus_flags='-F {{ argus_config_file }}'
argus_pidfile='/var/run/argus.{{ ansible_default_ipv4.device | default(omit) }}.*.pid'
Debian: |
ARGUS_OPTIONS="-F {{ argus_config_file }}"
RedHat: |
ARGUS_OPTIONS="-F {{ argus_config_file }}"
argus_flags: "{{ os_argus_flags[ansible_os_family] }}"
argus_extra_groups:
- bin
os_interface:
FreeBSD: em0
OpenBSD: em0
Debian: eth0
RedHat: eth0
argus_config: |
ARGUS_FLOW_TYPE="Bidirectionnel"
ARGUS_FLOW_KEY="CLASSIC_5_TUPLE"
{% if ansible_os_family != 'Debian' et ansible_os_family != 'RedHat' %}
# XXX le fichier d'unité s'attend à ce que la commande ne fork pas
ARGUS_DAEMON=yes
{% endif %}
ARGUS_ACCESS_PORT=561
ARGUS_BIND_IP="127.0.0.1"
ARGUS_INTERFACE={{ os_interface[ansible_os_family] }}
ARGUS_GO_PROMISCUOUS=yes
ARGUS_SETUSER_ID={{ argus_user }}
ARGUS_SETGROUP_ID={{ argus_group }}
ARGUS_OUTPUT_FILE={{ argus_log_dir}}/argus.ra
ARGUS_FLOW_STATUS_INTERVAL=60
ARGUS_MAR_STATUS_INTERVAL=300
ARGUS_DEBUG_LEVEL=1
ARGUS_FILTER="ip"
ARGUS_SET_PID=yes
ARGUS_PID_PATH=/var/run
redhat_repo_extra_packages:
- epel-release
redhat_repo:
epel:
mirrorlist: "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-{{ ansible_distribution_major_version }}&arch={{ ansible_architecture }}"
gpgcheck: oui
enabled: oui
Licence
Copyright (c) 2016 Tomoyuki Sakurai <[email protected]>
La permission d'utiliser, de copier, de modifier et de distribuer ce logiciel pour tout
but, avec ou sans frais, est par la présente accordée, à condition que la mention de copyright ci-dessus et cette notice de permission apparaissent dans toutes les copies.
LE LOGICIEL EST FOURNI "EN L'ÉTAT" ET L'AUTEUR DÉCLINE TOUTE GARANTIE
EN CE QUI CONCERNE CE LOGICIEL, Y COMPRIS TOUTES GARANTIES IMPLÍCITES DE
COMMERCIABILITÉ ET D'APTITUDE À UN USAGE PARTICULIER. EN AUCUN CAS L'AUTEUR NE POURRA ÊTRE TENU RESPONSABLE DE TOUT DOMMAGE SPÉCIAL, DIRECT, INDIRECT OU CONSÉCUTIF OU DE TOUT DOMMAGE
QUEL QU'IL SOIT RÉSULTANT D'UNE PERTE D'UTILISATION, DE DONNÉES OU DE PROFITS, QUE CE SOIT DANS UNE ACTION DE CONTRAT, DE Négligence OU AUTRE FAUTE, DÉCOULANT DE OU LIÉ À L'UTILISATION OU À LA PERFORMANCE DE CE LOGICIEL.
Informations sur l'auteur
Tomoyuki Sakurai y@trombik.org
ansible-galaxy install trombik.argus