fail2ban multi-line check

fail2ban mulit-line (regex on multiple lines) check 機能を追加してみました。
If you are alien,please check this doc-txt -> how-to-patch-to-src.rpm.txt

フィルターのサンプル(/etc/fail2ban/filter.d/sendmail.conf)には、2行にまたがるチェック例が記載されているのに、実際は、1行ずつの読込みバッファリングしかしていない様でした。

とりあえず、epel で公開されている fail2ban-0.8.4-29.el5.src.rpm をベースにして
failregex の行に 改行(\n)が有れば、その場合は、2行ずつでのチェックが、できる様にプログラムを修正してみました。

修正モジュールは、下記の3ファイルです。
fail2ban-regx
server/filter.py
server/failregex.py

修正の概要は、
1)failregex の行に 改行(\n)が有れば、常にダブルバッファリングでチェックします。
2)failregex の行に 改行(\n)が無ければ、シングルラインでのチェックをします。

修正個所は、fail2ban-0.8.4-multi-line-check2.patch を参照してください。
注)check1 → check2 に処理内容を少し変更しました。(2013.4.14)
ファイルのダウンロードは、こちらのフォルダーになります。


注)なほ、ご利用に関しては、自己責任でお願いします。

rpmbuild の手順は、こちら!


又、2行のチェックの方法は、元のサンプルに誤りがあるので、 下記の様に変更します。


今回の機能追加で、上記の フィルターを使用すると、下記のログパターンがチェックできる様になります。


あと、fail2banに於いて、正規表現(Python)でのチェックの対象は、実際のログから "日付時刻" を取り除いた部分がチェックの対象になるみたいです。
正規表現を記述するには、"日付時刻"部分が無いつもりで書けばOKです。
但し、元のログの、"日付時刻"の前後に 空白が有れば、それは、対象に残ります。

>2015.5.9.. fail2ban-0.8.4-29.2.el5.noarch.rpm 公開
unbanip fucntion を fail2ban-0.8.14-1.el5_10 からバックポートしました。

#fail2ban-client set <JAIL> unbanip <xx.xx.xx.xx> がOK になります。

>2015.5.18.. fail2ban-0.8.4-29.2.el5_1.noarch.rpm 公開
banip fucntion をバグ修正(fail2ban-0.8.14-1.el5_10 からバックポート)しました。

#fail2ban-client set <JAIL> banip <xx.xx.xx.xx> がOK になります。

>2015.5.18.. fail2ban-0.8.4-29.2.el5_2.noarch.rpm 公開
filter ignoreregex バグ修正しました。

ignoreregex = 192\.168\.1\.155  がOKになります。

このブログ記事について

このページは、おんちゃんが2013年4月 9日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「CentOS5.8 smtp auth での不正アタック対策」です。

次のブログ記事は「山桃の白い虫」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ