13:10→‎ステータス確認IAXでのFail2banは'''[[IAX-Fail2ban]]'''を参照してください。==fail2ban==ログファイルとiptablesを利用したファイアウォールの一種。Forceアタックの対策に使いやすい。<br>:http://www.fail2ban.org/:http://sourceforge.net/projects/fail2ban/==動作条件==iptablesおよびpythonを必要とします。最新のFail2banではAsteriskにも対応しています。pythonとiptablesが必要。iptablesなどで入れておいて下さい。==インストールCentOS==まずSFからfail2banをダウンロードし、展開します。CentOSではeaplからyumでインストールすることが可能です。epel-0.8.4.tar.bz2展開したディレクトリでインストールを実行します。./setup.pyスタートアップ・スクリプトをコピーしておきます(CentOSなどRedHat系の場合の例)。fail2ban==設定=====Asteriskのログフォーマットを変更する===Fail2banはそのままではAsteriskのログの日付を認識できないため、Asteriskのログフォーマットを変更します。yumでインストールした最新のFail2BanはAsteriskのログフォーマットを変更し、ローカル設定ファイルを作成するだけで使用することができます。<brBR>/etc/asterisk/loggerまずAsteriskのlogger.confを編集し、日付のフォーマット変更を行います。%Tのコメントを外すか、もしこのエントリがなければ記述します。設定を変更したら、Asteriskを再起動するか、loggerモジュールのリロードを行って、変更を有効にします。これによりAsteriskのログの日付形式が以下のように変わりますので、確認してください。chan_sip.c:.....===Asterisk用の定義ファイルを作る===dateformatの箇所のコメント(;)を外して有効にし、Asteriskを再起動します。いう名前で以下のようなファイルを作ります。<br>localというファイルを作成します。ファイルがある場合には修正します。truefail2banを起動すると監視が始まります。-Lでiptablesの状態を確認するとfail2banでbanされたIPアドレス等が確認できます。anywhereデフォルトではban時間は1時間です。force攻撃も確認されています。この攻撃時に出力されるログメッセージは以下のようなものになります。このログメッセージの攻撃元IPアドレスが、FROMヘッダに記載されているIPアドレスになっています。このままでは、NAT配下のサーバーからの攻撃や、FROMヘッダが偽装された場合にfail2banで対応することができません。そこで、Asteriskへパッチを当てて、実際の攻撃元IPアドレスを表示するように修正します。次のようなパッチをAsteriskに適用します。このパッチはAsterisk-1.4.40を対象にしていますが、1.6系、1.8系にも同様の修正で対応できます。同じコードが使えます。11.23.1用パッチです。パッチを当てて、Asteriskをコンパイルし直し、再起動します。すると、先ほどの攻撃時のログは以下のように出力されるようになります。)内に攻撃元の実IPアドレスが表示されるようになり、これを元にfail2banで攻撃を検知することができます。修正したログに合わせたフィルタ設定をfail2banに追加します。項目に以下を追加します。フィルタ追加後、fail2banを再起動し設定完了です。securityを追加(コメント解除)して、/var/log/asterisk/securityにできるログをfail2banに監視させる方法もあります。コマンドで問い合わせるのがいいです。'banされてることになっていても、actionが正しく書けていないと実際にはfirewalldやiptablesなどに反映されず、攻撃されっぱなしもあり得るので、挙動確認が大事です。1.8とそれ以前ではログのホスト部分にポート番号を含む、含まないの違いがあるためfailregexの記述を変える必要がありますので注意してください。この部分に合致するメッセージが、ログファイルに現れたならばBAN基準になりますので注意して記述します。これ意外にも、引っかけたいメッセージがある場合にはそれも記述するとよいでしょう。コマンドは直接叩いてはいけないようです。/UDPの5060ポート、つまりSIPだけをBAN対象としたいためアクションをSIP用に作成します。以下のようにしてアクションを作成します。iptables-sip.confを行って、全ポート用のアクションをコピーします。編集し、以下のようにBANとUNBANのエントリを修正します。ファイルの最後に以下を追加します。ハックユーザ登録ログイン/登録ツール特別ページ印刷用バージョンプライバシー・ポリシーVoIP-Info.jpについて免責事項モバイルビュ。