LinuCレベル2 202試験の例題と解説
2.12.4セキュリティ業務
LinuC 202試験の試験範囲から「2.12.4 セキュリティ業務」についての例題を解いてみます。進入検知システム(IDS)の一つであるfail2banにはどんなことができるか、確認しておきましょう。
例題
進入検知システム(IDS)の一つであるfail2banについての説明として、誤っているものを選択してください。
- リモートからのブルートフォース攻撃を防ぐことができるプログラムである
- 設定ファイルに指定したログを解析して攻撃検出を行うことができる
- 攻撃を検出すると、設定に従って接続元からのパケットを遮断することができる
- 攻撃検出時に管理者へメール通知する機能はない
※この例題は実際の試験問題とは異なります。
回答と解説
答えは「4. 攻撃検出時に管理者へメール通知する機能はない」です。
fail2ban は、認証を必要とする様々なサービスに対するリモートからのブルートフォース攻撃(総当たり攻撃)を検出して、接続元からの接続禁止措置を取ることができます。
接続禁止措置では、firewalld, iptables, nftablesといったソフトウェアと連携してパケットフィルタリングを行ったり、管理者にメール通知を行ったりすることができます。
以下は、fail2banのjail.confの設定例です。
[/etc/fail2ban/jail.conf]
[sshd]
filter = sshd
enabled = true
bantime = 3600
findtime = 60
maxretry = 5
banaction = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest=admin@linuc.example,
sender=fail2ban@linuc.example, sendername="Fail2Ban"]
logpath = /var/log/messages
上記の設定項目について解説します。
filter
この jail に適用する攻撃検出フィルタ名を記述します
enabled
true または false を設定することで、セクション[sshd]の定義を有効または無効にします
bantime
接続禁止する期間(秒)を指定します
maxretry
ここに指定した回数だけ、連続で認証失敗した場合に接続禁止されます
findtime
最初の認証失敗を検出してから、失敗のカウントを終了するまでの時間(秒)を指定します
banaction
接続禁止となった際の具体的な動作を設定します。iptables による接続の遮断や、メール通知の送信者と受信者などの設定ができます
logpath
攻撃検出フィルタを適用するログファイルのパスを指定します
このため、上記のjail設定は、以下の動作となります。
STEP1)
接続元の認証失敗を検出すると、60秒の間、失敗をカウントする
STEP2)
接続元の認証失敗が、連続5回数に達した場合、接続禁止措置を取る
STEP3)
接続禁止措置を取る場合には、iptablesで接続元からの接続を遮断し、fail2ban@linuc.example から admin@linuc.example 宛てにメールを通知する
STEP4)
接続元は、3600秒の間、接続禁止措置を受ける
選択肢を一つずつ見ていきましょう。
[1. リモートからのブルートフォース攻撃を防ぐことができるプログラムである]
正しいです。fail2banは連続して認証失敗を繰り返す接続元を遮断することができます。
[2. 設定ファイルに指定したログを解析して攻撃検出を行うことができる]
正しいです。jail.confのlogpathに、解析対象のログを指定することができます。
[3. 攻撃を検出すると、設定に従って接続元からのパケットを遮断することができる]
正しいです。jail.confのbanaction に、firewalld, iptablesなどのパケットフィルタを指定することで接続元からのパケットを遮断できます。
[4. 攻撃検出時に管理者へメール通知する機能はない]
誤りです。banactionにsendmail-whoisアクションを指定することで、攻撃検出時に管理者にメールを通知することができます。
例題作成者
株式会社デージーネット OSS研究室 後藤 慎司