Oefenweb.fail2ban

fail2ban

CI Ansible Galaxy

Debian系のシステムでfail2banを設定します。

要件

特になし

変数

  • fail2ban_loglevel: [デフォルト: 3、または新しいバージョンではINFO]: ログレベルの出力を設定します(例: 1 = ERROR, 2 = WARN, 3 = INFO, 4 = DEBUG

  • fail2ban_logtarget: [デフォルト: /var/log/fail2ban.log]: ログの出力先を設定します。ファイル、SYSLOG、STDERR、STDOUTのいずれか可能です

  • fail2ban_syslog_target: [デフォルト: /var/log/fail2ban.log]:

  • fail2ban_syslog_facility: [デフォルト: 1]:

  • fail2ban_socket: [デフォルト: /var/run/fail2ban/fail2ban.sock]: デーモンと通信するためのソケットファイルを設定します

  • fail2ban_pidfile: [デフォルト: /var/run/fail2ban/fail2ban.pid]: デーモンのプロセスIDを保存するためのPIDファイルを設定します(fail2ban >= 0.8.9のみに対応)

  • fail2ban_dbpurgeage: [デフォルト: 86400]: バンがデータベースから削除される年齢を設定します

  • fail2ban_ignoreips: [デフォルト: [127.0.0.1/8]]: fail2banのアクションから無視されるIPアドレス/CIDRマスク/DNSホスト

  • fail2ban_bantime: [デフォルト: 600]: バンの期間を設定します

  • fail2ban_maxretry: [デフォルト: 3]: ホストが監禁される前の最大再試行回数

  • fail2ban_findtime: [デフォルト: 600]: ホストは、過去fail2ban_findtimeの間にfail2ban_maxretryを生成した場合にバンされます

  • fail2ban_backend: [デフォルト: auto]: ファイルの変更を取得するために使用されるバックエンドを指定します。Debian 12ではsystemdが必要です

  • fail2ban_banaction: [デフォルト: iptables-multiport]: グローバル/デフォルトのバナクションを設定します

  • fail2ban_banaction_allports: [デフォルト: iptables-allports]: すべてのポートのグローバル/デフォルトのバナクションを設定します

  • fail2ban_mta: [デフォルト: sendmail]: メールアクション

  • fail2ban_protocol: [デフォルト: tcp]: デフォルトのプロトコルを設定します

  • fail2ban_chain: [デフォルト: INPUT]: iptables-*アクションでジャンプを追加するチェーンを指定します

  • fail2ban_action: [デフォルト: %(action_)s]: デフォルトアクション。変数(設定ファイル内で定義されたアクションを含む)は、Pythonスタイルの%()sで囲む必要があります。

  • fail2ban_sendername: [デフォルト: Fail2ban]: MTAアクションによって送信されるメールの「送信者」名。メールアドレスを設定するにはfail2ban_senderを使用します。

  • fail2ban_sender: [オプション]: MTAアクションによって送信されるメールの「送信者」アドレス。

  • fail2ban_filterd_path: [オプション]: コピーするフィルタが含まれるディレクトリへのパス(末尾のスラッシュに注意

  • fail2ban_actiond_path: [オプション]: コピーするアクションが含まれるディレクトリへのパス(末尾のスラッシュに注意

  • fail2ban_jaild_path: [オプション]: コピーする監獄が含まれるディレクトリへのパス(末尾のスラッシュに注意

  • fail2ban_services: [デフォルトdefaults/main.ymlを参照]: サービス定義

  • fail2ban_services.{n}.name: [必須]: サービス名(例: ssh

  • fail2ban_services.{n}.enabled: [デフォルト: true]: 有効かどうか

  • fail2ban_services.{n}.*: [オプション]: オプションの名前

  • fail2ban_services.{n}.*.*: [オプション]: オプションの値

バージョン >= 0.11.1 の場合

  • fail2ban_bantime_increment: [デフォルト: true]: 以前にバンされた後にバンの時間を増加させます
  • fail2ban_bantime_factor: [デフォルト: 1]: bantime_formulaまたはbantime_multipliersのためのバン時間増加係数
  • fail2ban_bantime_formula: [デフォルト: 'ban.Time * (1<<(ban.Count if ban.Count<20 else 20)) * banFactor']: 増加したバン時間を計算するために使用される式。**bantime_formulaまたはbantime_multipliersのどちらかを使用できますが、bantime_multipliersが優先されます。**
  • fail2ban_bantime_overalljails: [デフォルト: false]: 複数の監獄が定義されている場合、すべての監獄に対してIPをバンします
  • fail2ban_bantime_rndtime: [オプション]: バン時間後にすぐアクセスしようとするスマートボットのためのオプション
  • fail2ban_bantime_multipliers: [オプション]: bantime_formulaの代わりに使用される乗数。例えば、1 2 4 8 16 32 64バン時間 = 600かつバン時間係数=1の場合、これは600*1*1, 600*1*2...となります。

依存関係

特になし

シンプルな例

---
- hosts: all
  roles:
    - oefenweb.fail2ban

sshdフィルタを有効にする(デフォルト設定以外)

---
- hosts: all
  roles:
    - oefenweb.fail2ban
  vars:
    fail2ban_services:
      - name: sshd
        port: 2222
        maxretry: 5
        bantime: -1

カスタムフィルタを追加する(ロールの外部から)

---
- hosts: all
  roles:
    - oefenweb.fail2ban
  vars:
    fail2ban_filterd_path: ../../../files/fail2ban/etc/fail2ban/filter.d/
    fail2ban_services:
      - name: apache-wordpress-logins
        port: http,https
        filter: apache-wordpress-logins
        logpath: /var/log/apache2/access.log
        maxretry: 5
        findtime: 120

ライセンス

MIT

著者情報

Mischa ter Smitten(ANXSの作業に基づく)

フィードバック、バグレポート、リクエストなど…

歓迎します!

プロジェクトについて

Set up fail2ban in Debian-like systems

インストール
ansible-galaxy install Oefenweb.fail2ban
ライセンス
mit
ダウンロード
358.8k
所有者