trombik.argus

trombik.argus

构建状态

用于 argusansible 角色。

针对所有用户的说明

该角色假设捕获的 ra 文件的日志目录路径为 /var/log/argus,并且它的所有者是 argus 用户。

针对所有用户的说明(不包括 OpenBSD 用户)

该角色创建了 argus 组和 argus 用户。

针对 Ubuntu 和 CentOS 用户的说明

该角色将修改 argus(8)systemd 单元文件,以便 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 服务)
      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

许可

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

许可使用、复制、修改和分发本软件的权利,且无论收费与否,均在此授予,只要上述版权声明和许可声明出现在所有复制品中。

本软件是“按原样”提供的,作者对此软件不做任何保证,包括所有隐含的适销性和适用性保证。在任何情况下,作者都不对因使用、数据丢失或利润损失而造成的任何特殊、直接、间接或后果性损害负责,无论是基于合同、过失或其他侵权行为,或因使用或性能造成的损害。

作者信息

Tomoyuki Sakurai y@trombik.org

关于项目

Ansible role for argus

安装
ansible-galaxy install trombik.argus
许可证
isc
下载
141
拥有者
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577 Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/