trombik.argus

trombik.argus

Build-Status

ansible Rolle für argus.

Hinweise für alle Benutzer

Die Rolle geht davon aus, dass der Pfad zum Log-Verzeichnis, in dem die erfasste ra-Datei aufgezeichnet wird, /var/log/argus ist und es dem Benutzer argus gehört.

Hinweise für alle Benutzer außer OpenBSD-Benutzern

Die Rolle erstellt die Gruppe argus und den Benutzer argus.

Hinweise für Ubuntu- und CentOS-Benutzer

Die systemd-Einheitendatei für argus(8) wird geändert, damit /etc/default/argus oder /etc/sysconfig/argus von systemd gelesen wird.

Anforderungen

Rollen-Variablen

Variable Beschreibung Standard
argus_package Paketname von argus {{ __argus_package }}
argus_service Dienstname von argus {{ __argus_service }}
argus_extra_packages Eine Liste von zusätzlichen Paketen zur Installation []
argus_user Benutzername von argus {{ __argus_user }}
argus_group Gruppenname von argus {{ __argus_group }}
argus_extra_groups Eine Liste zusätzlicher Gruppen für argus_user []
argus_log_dir Pfad zum Log-Verzeichnis /var/log/argus
argus_config_dir Pfad zum Konfigurationsverzeichnis {{ __argus_config_dir }}
argus_config_file Pfad zu argus.conf {{ argus_config_dir }}/argus.conf
argus_config Der Inhalt von argus.conf ""
argus_flags Siehe unten ""

argus_flags

Diese Variable wird verwendet, um die Standardwerte für Startskripte zu überschreiben. In Debian-Varianten ist der Wert der Inhalt von /etc/default/argus. In RedHat-Varianten ist es der Inhalt von /etc/sysconfig/argus. In FreeBSD ist es der Inhalt von /etc/rc.conf.d/argus. In OpenBSD wird der Wert an rcctl set argus übergeben.

Debian

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

RedHat

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

Abhängigkeiten

Beispiel-Playbook

---
- hosts: localhost
  roles:
    - role: trombik.redhat_repo
      when:
        - ansible_os_family == 'RedHat'
    - name: trombik.argus_clients
    - name: ansible-role-argus
  pre_tasks:
    - name: Alle Hostvariablen ausgeben
      debug:
        var: hostvars[inventory_hostname]
  post_tasks:
    - name: Liste aller Dienste (systemd)
      # Umgehung für ansible-lint: [303] Dienst anstelle des Dienstmoduls verwendet
      shell: "echo; systemctl list-units --type service"
      changed_when: false
      when:
        # in Docker ist init nicht systemd
        - ansible_virtualization_type != 'docker'
        - ansible_os_family == 'RedHat' oder ansible_os_family == 'Debian'
    - name: Liste aller Dienste (FreeBSD-Dienst)
      # Umgehung für ansible-lint: [303] Dienst anstelle des Dienstmoduls verwendet
      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="Bidirektional"
      ARGUS_FLOW_KEY="CLASSIC_5_TUPLE"
      {% if ansible_os_family != 'Debian' und ansible_os_family != 'RedHat' %}
      # XXX die Einheitendatei erwartet, dass der Befehl nicht forked
      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: ja
        enabled: ja

Lizenz

Copyright (c) 2016 Tomoyuki Sakurai <y@trombik.org>

Die Erlaubnis zur Nutzung, Kopie, Änderung und Verbreitung dieser Software für jeden
Zweck, mit oder ohne Gebühr, wird hiermit gewährt, vorausgesetzt, dass der obige 
Copyright-Hinweis und dieser Erlaubnis-Hinweis in allen Kopien enthalten sind.

DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT UND DER AUTOR SCHLIESST ALLE GARANTIEN
IM ZUSAMMENHANG MIT DIESER SOFTWARE AUS, EINSCHLIESSLICH ALLER IMPLICIERTEN GARANTIEN DER
MARKTGÄNGIGKEIT UND FITNESS. IN KEINEM FALL IST DER AUTOR FÜR BESONDERE, DIREKTE, INDIREKTE
ODER FOLGESCHÄDEN ODER FÜR IRGENDEINE SCHÄDEN HAFTBAR, DIE AUS DEM VERLUST DER NUTZUNG,
DATEN ODER GEWINNE RESULTIEREN, OB IN EINER KLAUSEL AUFVERTRAG, FAHRLÄSSIGKEIT ODER ANDERER
ENTEIGEN MITEINANDER HINGEROTZENE IN VERBINDUNG MIT DER NUTZUNG ODER DER LEISTUNG DIESER SOFTWARE 
RESULTIEREN.

Autoreninformation

Tomoyuki Sakurai y@trombik.org

Über das Projekt

Ansible role for argus

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