trombik.argus

trombik.argus

Status budowy

Rola ansible dla argus.

Uwagi dla wszystkich użytkowników

Rola zakłada, że ścieżka do katalogu logów, w którym zapisywany jest plik ra, to /var/log/argus, a jego właścicielem jest użytkownik argus.

Uwagi dla wszystkich użytkowników z wyjątkiem użytkowników OpenBSD

Rola tworzy grupę argus oraz użytkownika argus.

Uwagi dla użytkowników Ubuntu i CentOS

Plik jednostki systemd dla argus(8) zostanie zmodyfikowany tak, aby systemd odczytywał /etc/default/argus lub /etc/sysconfig/argus.

Wymagania

Zmienne roli

Zmienna Opis Domyślna wartość
argus_package Nazwa pakietu argus {{ __argus_package }}
argus_service Nazwa usługi argus {{ __argus_service }}
argus_extra_packages Lista dodatkowych pakietów do zainstalowania []
argus_user Nazwa użytkownika argus {{ __argus_user }}
argus_group Nazwa grupy argus {{ __argus_group }}
argus_extra_groups Lista dodatkowych grup dla argus_user []
argus_log_dir Ścieżka do katalogu logów /var/log/argus
argus_config_dir Ścieżka do katalogu konfiguracji {{ __argus_config_dir }}
argus_config_file Ścieżka do argus.conf {{ argus_config_dir }}/argus.conf
argus_config Zawartość argus.conf ""
argus_flags Zobacz poniżej ""

argus_flags

Ta zmienna jest używana do nadpisywania domyślnych ustawień dla skryptów uruchamiania. W wariantach Debiana wartość to zawartość /etc/default/argus. W wariantach RedHat jest to zawartość /etc/sysconfig/argus. W FreeBSD to zawartość /etc/rc.conf.d/argus. W OpenBSD wartość jest przekazywana do rcctl set argus.

Debian

Zmienna Domyślna wartość
__argus_service argus
__argus_package argus-server
__argus_config_dir /etc
__argus_user argus
__argus_group argus
__argus_log_dir /var/log/argus

FreeBSD

Zmienna Domyślna wartość
__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

Zmienna Domyślna wartość
__argus_service argus
__argus_package argus
__argus_config_dir /etc
__argus_user _argus
__argus_group _argus
__argus_log_dir /var/log/argus

RedHat

Zmienna Domyślna wartość
__argus_service argus
__argus_package argus
__argus_config_dir /etc
__argus_user argus
__argus_group argus
__argus_log_dir /var/log/argus

Zależności

Przykład Playbook

---
- hosts: localhost
  roles:
    - role: trombik.redhat_repo
      when:
        - ansible_os_family == 'RedHat'
    - name: trombik.argus_clients
    - name: ansible-role-argus
  pre_tasks:
    - name: Wyświetl wszystkie hostvars
      debug:
        var: hostvars[inventory_hostname]
  post_tasks:
    - name: Lista wszystkich usług (systemd)
      # obejście ansible-lint: [303] usługa używana w miejscu modułu usługi
      shell: "echo; systemctl list-units --type service"
      changed_when: false
      when:
        # w dockerze init nie jest systemd
        - ansible_virtualization_type != 'docker'
        - ansible_os_family == 'RedHat' lub ansible_os_family == 'Debian'
    - name: lista wszystkich usług (serwis FreeBSD)
      # obejście ansible-lint: [303] usługa używana w miejscu modułu usługi
      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 plik jednostki wymaga, aby polecenie nie było forkowane
      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

Licencja

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

Zezwolenie na użycie, kopiowanie, modyfikowanie i rozpowszechnianie tego oprogramowania w dowolnym celu, z lub bez opłaty, zostaje niniejszym udzielone, pod warunkiem, że powyższa informacja o prawach autorskich oraz niniejsze zezwolenie pojawią się we wszystkich kopiach.

oprogramowanie jest dostarczane "tak jak jest" i autor zrzeka się wszelkich gwarancji w związku z tym oprogramowaniem, w tym wszelkich dorozumianych gwarancji handlowych i przydatności do określonego celu. W ŻADNYM WYPADKU autor nie ponosi odpowiedzialności za jakiekolwiek szczególne, bezpośrednie, pośrednie ani wynikowe szkody ani za jakiekolwiek szkody wynikające z utraty użytkowania, danych lub zysków, niezależnie od tego, w wyniku działań umowy, zaniedbania lub innego deliktu, wynikających z lub w związku z używaniem lub wydajnością tego oprogramowania.

Informacje o autorze

Tomoyuki Sakurai y@trombik.org

O projekcie

Ansible role for argus

Zainstaluj
ansible-galaxy install trombik.argus
Licencja
isc
Pobrania
134
Właściciel
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577 Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/