trombik.argus

trombik.argus

Estado de construcción

Rol de ansible para argus.

Notas para todos los usuarios

El rol asume que la ruta al directorio de registro, donde se graba el archivo ra capturado, es /var/log/argus, y es propiedad del usuario argus.

Notas para todos los usuarios excepto los de OpenBSD

El rol crea el grupo argus y el usuario argus.

Notas para usuarios de Ubuntu y CentOS

El archivo de unidad systemd para argus(8) será modificado para que systemd lea /etc/default/argus o /etc/sysconfig/argus.

Requisitos

Variables del rol

Variable Descripción Predeterminado
argus_package Nombre del paquete de argus {{ __argus_package }}
argus_service Nombre del servicio de argus {{ __argus_service }}
argus_extra_packages Lista de paquetes adicionales a instalar []
argus_user Nombre de usuario de argus {{ __argus_user }}
argus_group Nombre del grupo de argus {{ __argus_group }}
argus_extra_groups Lista de grupos adicionales para argus_user []
argus_log_dir Ruta al directorio de registro /var/log/argus
argus_config_dir Ruta al directorio de configuración {{ __argus_config_dir }}
argus_config_file Ruta a argus.conf {{ argus_config_dir }}/argus.conf
argus_config Contenido de argus.conf ""
argus_flags Ver abajo ""

argus_flags

Esta variable se utiliza para anular los valores predeterminados de los scripts de inicio. En las variantes de Debian, el valor es el contenido de /etc/default/argus. En las variantes de RedHat, es el contenido de /etc/sysconfig/argus. En FreeBSD, es el contenido de /etc/rc.conf.d/argus. En OpenBSD, el valor se pasa a rcctl set argus.

Debian

Variable Predeterminado
__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 Predeterminado
__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 Predeterminado
__argus_service argus
__argus_package argus
__argus_config_dir /etc
__argus_user _argus
__argus_group _argus
__argus_log_dir /var/log/argus

RedHat

Variable Predeterminado
__argus_service argus
__argus_package argus
__argus_config_dir /etc
__argus_user argus
__argus_group argus
__argus_log_dir /var/log/argus

Dependencias

Ejemplo de Playbook

---
- hosts: localhost
  roles:
    - role: trombik.redhat_repo
      when:
        - ansible_os_family == 'RedHat'
    - name: trombik.argus_clients
    - name: ansible-role-argus
  pre_tasks:
    - name: Volcar todas las variables de host
      debug:
        var: hostvars[inventory_hostname]
  post_tasks:
    - name: Listar todos los servicios (systemd)
      # solución alternativa a ansible-lint: [303] servicio utilizado en lugar del módulo de servicio
      shell: "echo; systemctl list-units --type service"
      changed_when: false
      when:
        # en docker, init no es systemd
        - ansible_virtualization_type != 'docker'
        - ansible_os_family == 'RedHat' o ansible_os_family == 'Debian'
    - name: listar todos los servicios (servicio FreeBSD)
      # solución alternativa a ansible-lint: [303] servicio utilizado en lugar del módulo de servicio
      shell: "echo; service -l"
      changed_when: false
      when:
        - 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="Bidirectional"
      ARGUS_FLOW_KEY="CLASSIC_5_TUPLE"
      {% if ansible_os_family != 'Debian' and ansible_os_family != 'RedHat' %}
      # XXX el archivo de unidad espera que el comando no fork
      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: yes
        enabled: yes

Licencia

Copyright (c) 2016 Tomoyuki Sakurai <[email protected]>

Se concede permiso para usar, copiar, modificar y distribuir este software para cualquier
propósito, con o sin cargo, siempre que el aviso de copyright anterior y este aviso
de permiso aparezcan en todas las copias.

EL SOFTWARE SE PROPORCIONA "TAL CUAL" Y EL AUTOR RENUNCIA A TODAS LAS GARANTÍAS
EN RELACIÓN CON ESTE SOFTWARE, INCLUYENDO TODAS LAS GARANTÍAS IMPLÍCITAS DE
COMERCIALIZACIÓN Y ADECUACIÓN. EN NINGÚN CASO EL AUTOR SERÁ RESPONSABLE DE CUALQUIER DAÑO ESPECIAL, DIRECTO, INDIRECTO O CONSECUENTE O CUALQUIER DAÑO
QUE RESULTEN DE LA PÉRDIDA DE USO, DATOS O BENEFICIOS, YA SEA EN UNA ACCIÓN DE CONTRATO, NEGLIGENCIA O CUALQUIER OTRA ACCIÓN LEGISLATIVA, QUE SURJA O DE OTRA MANERA
EN RELACIÓN CON EL USO O RENDIMIENTO DE ESTE SOFTWARE.

Información del autor

Tomoyuki Sakurai y@trombik.org

Acerca del proyecto

Ansible role for argus

Instalar
ansible-galaxy install trombik.argus
Licencia
isc
Descargas
134
Propietario
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577 Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/