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 role for argus

Установить
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/