trombik.argus

trombik.argus

ビルドステータス

argusのためのansibleロールです。

すべてのユーザーへの注意

このロールは、キャプチャされた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' %}
      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 <y@trombik.org>

本ソフトウェアを使用、コピー、改変、配布する権利が無償で与えられます。ただし、上記の著作権表示とこの許可通知がすべてのコピーに表示されることが条件です。

本ソフトウェアは「現状のまま」提供され、作者は本ソフトウェアに関するすべての保証を放棄します。いかなる場合においても、作者は本ソフトウェアの使用または性能に起因する特別、直接、間接、または結果的損害に対して責任を負いません。

著者情報

Tomoyuki Sakurai y@trombik.org

プロジェクトについて

Ansible role for argus

インストール
ansible-galaxy install trombik.argus
ライセンス
isc
ダウンロード
134
所有者
PGP finger print: 03EB 3D97 5E04 9B0C AB21 93A2 D693 42A9 EFBC 3577 Makerspace and Coliving in Siem Reap, Cambodia: http://info.mkrsgh.org/