GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Fail2banを使用して誤ったISPConfigログインをブロックする

Fail2banを使用して誤ったISPConfigログインをブロックする

まず第一に、あなたがパラノイアでないなら、あなたはこれを必要としません。 ISPConfigは、1分間に5回以上失敗するユーザーログインをブロックするための優れた機能を果たします。

一方、これを少し微調整できるようにしたいと思うかもしれません。

このチュートリアルでは、失敗したログインをsyslogに記録し、rsyslogdを使用してそれらのエントリをフィルタリングし、fail2banルールを追加して悪意のあるユーザーのIPをブロックするISPConfigプラグインを作成します。

繰り返しますが、この部分も必要ありません。 ISPConfigのログレベルをDEBUGに設定すると、失敗したログインはとにかくログに記録されます。しかし、他のすべての雑然としたものは必要ありませんか?

したがって、最初に失敗したログインをsyslogに記録するプラグインが必要です:

〜ispconfig / interface / lib / plugins / login_fail2ban_plugin.inc.php

class login_fail2ban_plugin { 
var $plugin_name = 'login_fail2ban_plugin';
var $class_name = 'login_fail2ban_plugin';
function onLoad() {
global $app;
$app->plugin->registerEvent('login_failed',$this->plugin_name,'log_fail');
}
function log_fail($event_name,$data) {
openlog("ispconfig", LOG_PID | LOG_PERROR, LOG_LOCAL0);
syslog(LOG_WARNING, "Login failed for user ".$_POST['username']." on IP ".$_SERVER['REMOTE_ADDR']);
}
}

ISPConfigにはプラグインをキャッシュする奇妙な方法があるため、ドメインのブラウザキャッシュを今すぐクリアすることをお勧めします。

さて、/ var / log/syslogにはそれは必要ありません。サーバーが混雑している場合、そこには大量のログが記録され、fail2banはそのすべてのがらくたをフィルタリングする必要はありません。

そのためにrsyslogdを使用しましょう:

/etc/rsyslog.d/12-ispconfig.conf

if $programname == 'ispconfig' then /var/log/ispconfig.log

ここでrsyslogを再起動します

service rsyslog restart

fail2banフィルタールールを作成します:

/etc/fail2ban/filter.d/ispconfig.conf

[Definition]
failregex = (.*) Login failed for user (.*) on IP <HOST>
ignoreregex =
のユーザー(。*)のログインに失敗しました

テストします(何かを表示するには、偽のユーザー名/パスワードでログインしてみてください)。

fail2ban-regex /var/log/ispconfig.log /etc/fail2ban/filter.d/ispconfig.conf

/etc/fail2ban/jail.confにjailを追加します:

[ispconfig]
enabled = true
port = http,https
filter = ispconfig
logpath = /var/log/ispconfig.log

fail2banを再起動すれば完了です。

service fail2ban restart

楽しんでください!


Panels
  1. Linuxで通常のユーザーログインをブロックまたは無効にする方法

  2. ISPConfigを使用してドメインをパーキングする方法

  3. WindowsIPセキュリティポリシーを使用してIPまたはIP範囲をブロックする

  1. .htaccessを使用してIPアドレスと国をブロックする

  2. .htaccessファイルを使用してIPをブロックする方法は?

  3. sed を使用してテキスト ブロックを削除する

  1. Apache を使用して GeoIP ブロックを設定する方法

  2. Fail2Ban Howto:Fail2ban と IPTables を使用して IP アドレスをブロックする

  3. Fail2ban で悪いボットをブロックする