trombik.argus

trombik.argus

Statut de construction

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

À propos du projet

Ansible role for argus

Installer
ansible-galaxy install trombik.argus
Licence
isc
Téléchargements
134
Propriétaire
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577 Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/