私はfail2banを初めて使用し、セットアップを考えているさまざまな構成のパフォーマンスに関する考慮事項を理解するのに苦労しています。これはラズベリー パイ ボード上で実行されているため、パフォーマンスが懸念されます。
私が考えることができる明らかな最適化は、効率的な正規表現を使用し、必要な刑務所の数を最小限に抑えることです。私の具体的な質問は次のとおりだと思います。
- findtime 値に関して、リソース使用量はどのように増加しますか? 非常に小さい値と非常に大きい値の両方が、RAM と CPU に関してさまざまな方法でサーバーに影響を与える可能性があると思います。
- 同様に、ログ ファイルのサイズと、fail2ban によって監視されるさまざまなログ ファイルの数は、全体的なリソースの使用にどのように影響しますか?
例として、この監獄では、誰かが fail2ban 構成を見つけ出し、スクリプトのタイミングを調整して対応した場合、1 日に 3,600 の SSH ログイン パスワードを試すことができます。
[ssh]
enabled = true
action = iptables-allports[name=ssh]
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
findtime = 120
findtime を別の極端な 86400 (1 日) に変更すると、1 日に 5 回しか試行できなくなりますが、ログ ファイルの大部分を監視するようになります。これはリソースの使用にどのように影響しますか?
別の例として、POST フラッド攻撃の刑務所:
[apache-post-flood]
enabled = true
action = iptables-allports[name=apache-post-flood]
filter = apache-post-flood
logpath = /var/log/apache2/*access.log
maxretry = 10
findtime = 10
ここでは逆で、findtime カウンターが 10 秒ごとにリセットされます。また、すべての *アクセス ログを監視しています (これも初めてのことだと思います)。これは、access.log、other_vhosts_access.log、およびおそらくサイトの https 部分の https_access.log を監視していることを意味している可能性があります。忙しい 1 日で、これらのファイルがすべて 10 ~ 20 MB の場合はどうでしょうか。
これが私の心にあることを説明するのに役立つことを願っています. よろしくお願いします。