Oefenweb.fail2ban
fail2ban
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の作業に基づく)
フィードバック、バグレポート、リクエストなど…
ansible-galaxy install Oefenweb.fail2ban