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