trombik.argus
trombik.argus
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
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/