URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

fail2banでログオンページへの連続アクセスを遮断

 WordPressなんかもそうですが、Webページの片隅に管理者ログインページへのリンクがあったりする場合があります。このブログも右下にアイコンがありますね。
 ごく稀になんですが、ログオンページへ繰り返しアクセスをしているようなログがありました。おそらくは適当なユーザーとパスワードでログインを試みているのではないかなと。
 なので、同一のIPアドレスから一定回数のアクセスがあった場合はアクセスを遮断するように"fail2ban"を設定してみました。

 環境はCentOS 6.xです("yum"で最新にアップデートしています)。

 fai2banの基本的な動作は、指定したログファイルでフィルタに引っかかったものがあった場合にアクションを起こします。
 なので、まずはログの出力を確認してフィルタを作成します。

 今回の対象とする環境でログインを試みた場合、Webサーバ(Apache 2.2)のアクセスログには以下のように出力されていました。

xxx.xxx.xxx.xxx - - [26/Dec/2015:23:51:21 +0900] "POST /login/ HTTP/1.1" 200 1364 "http://www.example.com/login/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"

 これにマッチするような正規表現を考えて、フィルタを作成します。
 新規フィルタファイル"/etc/fail2ban/filter.d/apache-weblogin.conf"を作成し、以下のように記述しました。

[Definition] failregex = ^<HOST> .* \"POST \/login.* HTTP.*$ ignoreregex =

 "failregex"の部分がログをマッチさせる正規表現ですが、この時に「遮断対象となるIPアドレス」にあたる部分を<HOST>として指定します。

 続いて、"/etc/fail2ban/jail.conf"に実際のアクションを追記します。

[weblogin-iptables] enabled = true filter = apache-weblogin action = iptables[name=HTTP, port=http, protocol=tcp] sendmail-whois[name=HTTPS-weblogin, dest=admin@example.com, sender=fail2ban@example.com, sendername="Fail2Ban"] logpath = /var/log/httpd/access_log bantime = 3600 maxretry = 3

 各パラメータは以下の通りです。

enabledアクションの有効/無効(有能にする場合は"true")
filter仕様するフィルタ(フィルタファイル名から".conf"を除いたもの)
action条件にマッチした場合のアクション(ここではiptablesでhttpを遮断し、管理者にメール通知)
logpath管理するログ(ここではApacheのアクセスログ)
bantime遮断したときの継続時間(秒)
maxretryアクションを実行するまでの繰り返し回数(ここでは3回フィルタに引っかかるとアクションを実行)

 ここまで設定したらfail2banサービスを再起動して完了です。
 気休め程度ではありますが、多少はマシになったかと思います。パスワードを何度か間違えると自分自身も弾かれてしまいますが、気にしないということで。


    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

プロフィール

1020@管理人

都内を彷徨っているインフラエンジニアとかいう雑用係。いつだって眠い…。

最近のつぶやき

@umkn1020 (07/03-18:57)
RT @kamo_hiroyasu: 「人口の1割は複文が処理できないのだから、そのつもりで行動しろ」と助言することが時々あるのですが、「何もしなければ、42万人死亡する」を「42万人死亡する」と誤読して「外した」と煽る人がわらわらと湧いてきたことで、説得力が増しました。
@umkn1020 (07/03-18:49)
RT @taijijiji: 外資企業が日本市場でhiring難しいとは聞いていましたがこれほどとは。。日本人の転職の心理的ハードルの高さ、英語ポジションへの苦手意識が伺える。。英語は実質的な語学スキルよりも「やっていける自信がない」「怖い」「どうせ落とされる」というメンタリテ…
@umkn1020 (07/03-13:03)
RT @yuutosi_hiyuu: 声だして笑った https://t.co/EjqAUuT3z0
@umkn1020 (07/02-16:02)
Smart LifeでIFTTT使えなくなっていたのか…
@umkn1020 (07/01-17:23)
RT @rioriost: だーかーらー、HAクラスタをすぐ組もうとしない!w オンプレの発想をそのまま持ってくるんじゃなく、クラウドに合ったやり方を学びましょうよ。 できるよ、IaaSでHAクラスタも組めるよ。 でも、スタンバイノードのコストを払い続けるの、なんかおかし…

エントリーリスト

カテゴリーリスト

タグ