argus
trombik.argus
Роль ansible
для argus
.
Заметки для всех пользователей
Роль предполагает, что путь к директории логов, где хранится файл ra
, — это /var/log/argus
, и он принадлежит пользователю argus
.
Заметки для всех пользователей, кроме пользователей OpenBSD
Роль создает группу argus
и пользователя argus
.
Заметки для пользователей Ubuntu и CentOS
Файл блока systemd
для argus(8)
будет изменен, чтобы systemd
мог прочитать /etc/default/argus
или /etc/sysconfig/argus
.
Требования
Переменные роли
Переменная | Описание | По умолчанию |
---|---|---|
argus_package |
Название пакета argus |
{{ __argus_package }} |
argus_service |
Название сервиса argus |
{{ __argus_service }} |
argus_extra_packages |
Список дополнительных пакетов для установки | [] |
argus_user |
Имя пользователя argus |
{{ __argus_user }} |
argus_group |
Название группы argus |
{{ __argus_group }} |
argus_extra_groups |
Список дополнительных групп для argus_user |
[] |
argus_log_dir |
Путь к директории логов | /var/log/argus |
argus_config_dir |
Путь к директории конфигурации | {{ __argus_config_dir }} |
argus_config_file |
Путь к argus.conf |
{{ argus_config_dir }}/argus.conf |
argus_config |
Содержимое argus.conf |
"" |
argus_flags |
См. ниже | "" |
argus_flags
Эта переменная используется для переопределения значений по умолчанию для скриптов запуска. В вариантах Debian значение соответствует содержимому /etc/default/argus
. В вариантах RedHat это содержимое /etc/sysconfig/argus
. В FreeBSD — это содержимое /etc/rc.conf.d/argus
. В OpenBSD значение передается в rcctl set argus
.
Debian
Переменная | По умолчанию |
---|---|
__argus_service |
argus |
__argus_package |
argus-server |
__argus_config_dir |
/etc |
__argus_user |
argus |
__argus_group |
argus |
__argus_log_dir |
/var/log/argus |
FreeBSD
Переменная | По умолчанию |
---|---|
__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
Переменная | По умолчанию |
---|---|
__argus_service |
argus |
__argus_package |
argus |
__argus_config_dir |
/etc |
__argus_user |
_argus |
__argus_group |
_argus |
__argus_log_dir |
/var/log/argus |
RedHat
Переменная | По умолчанию |
---|---|
__argus_service |
argus |
__argus_package |
argus |
__argus_config_dir |
/etc |
__argus_user |
argus |
__argus_group |
argus |
__argus_log_dir |
/var/log/argus |
Зависимости
Пример плейбука
---
- hosts: localhost
roles:
- role: trombik.redhat_repo
when:
- ansible_os_family == 'RedHat'
- name: trombik.argus_clients
- name: ansible-role-argus
pre_tasks:
- name: Вывести все переменные хоста
debug:
var: hostvars[inventory_hostname]
post_tasks:
- name: Перечислить все сервисы (systemd)
shell: "echo; systemctl list-units --type service"
changed_when: false
when:
- ansible_virtualization_type != 'docker'
- ansible_os_family == 'RedHat' or ansible_os_family == 'Debian'
- name: Перечислить все сервисы (FreeBSD service)
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 файл юнита ожидает, что команда не будет переходить в фоновый режим
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
Лицензия
Copyright (c) 2016 Tomoyuki Sakurai <[email protected]>
Разрешение на использование, копирование, модификацию и распространение этого программного обеспечения для любых
целей с или без оплаты предоставляется при условии, что вышеуказанное
авторское право и это разрешение появятся во всех копиях.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ", И АВТОР ОТКАЗЫВАЕТСЯ ОТ ВСЕХ ГАРАНТИЙ,
СВЯЗАННЫХ С ЭТИМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ, ВКЛЮЧАЯ ВСЕ НЕЯВНЫЕ ГАРАНТИИ
ТОВАРНОГО КАЧЕСТВА И ПРИГОДНОСТИ. В НИККОМ СЛУЧАЕ АВТОР НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА
ЛЮБЫЕ ОСОБЫЕ, ПРЯМЫЕ, НЕПРЯМЫЕ ИЛИ ПОСЛЕДУЮЩИЕ УБЫТКИ ИЛИ ЛЮБЫЕ УБЫТКИ,
ВЫТЕКАЮЩИЕ ИЗ ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ, В НЕЗАВИСИМОСТИ ОТ ТОГО,
ЯВЛЯЕТСЯ ЛИ ЭТО РЕЗУЛЬТАТОМ ДЕЙСТВИЯ КОНТРАКТА, ХАЛАТНОСТИ ИЛИ ИНОГО,
ВЫТЕКАЮЩИМ ИЗ ИЛИ В СВЯЗИ С ИСПОЛЬЗОВАНИЕМ ИЛИ ЭФФЕКТИВНОСТЬЮ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
Информация об авторе
Томоюки Сакуurai y@trombik.org
Установить
ansible-galaxy install trombik/ansible-role-argus
Лицензия
isc
Загрузки
122
Владелец
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577
Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/