CentOS7(SELinuxなし)でfail2banを実行しようとしていますが、firewalldを使用しています。私の目標は、アスタリスクのパスワードの失敗を禁止するように設定することです。
セットアップはデフォルトでしたyuminstall fail2ban
構成に関しては、次のようにjail.localのみを追加しました。
[DEFAULT]
backend = systemd
banaction = firewallcmd-ipset
destemail = [email protected]
sender = [email protected]
[asterisk]
enabled = true
#filter = asterisk
#logpath = /var/log/asterisk/messages
maxretry = 5
bantime = 86400
これで、fail2banサービスを再起動すると、次のようなfail2ban.logエントリが表示されます。
2015-04-26 13:35:18,149 fail2ban.server [2820]: INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.1
2015-04-26 13:35:18,151 fail2ban.database [2820]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
2015-04-26 13:35:18,158 fail2ban.jail [2820]: INFO Creating new jail 'asterisk'
2015-04-26 13:35:18,182 fail2ban.jail [2820]: INFO Jail 'asterisk' uses systemd
2015-04-26 13:35:18,213 fail2ban.jail [2820]: INFO Initiated 'systemd' backend
2015-04-26 13:35:18,220 fail2ban.filter [2820]: INFO Set maxRetry = 5
2015-04-26 13:35:18,222 fail2ban.actions [2820]: INFO Set banTime = 86400
2015-04-26 13:35:18,223 fail2ban.filter [2820]: INFO Set findtime = 600
2015-04-26 13:35:18,309 fail2ban.filtersystemd [2820]: NOTICE Jail started without 'journalmatch' set. Jail regexs will be checked against all journal entries, which is not advised for performance reasons.
2015-04-26 13:35:18,331 fail2ban.jail [2820]: INFO Jail 'asterisk' started
2015-04-26 13:35:18,488 fail2ban [2820]: CRITICAL Unhandled exception in Fail2Ban:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/fail2ban/server/jailthread.py", line 64, in run_with_except_hook
run(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fail2ban/server/filtersystemd.py", line 244, in run
*self.formatJournalEntry(logentry))
File "/usr/lib/python2.7/site-packages/fail2ban/server/filtersystemd.py", line 172, in formatJournalEntry
'SYSLOG_PID', logentry['_PID']))
KeyError: '_PID'
2015-04-26 13:35:19,211 fail2ban.actions [2820]: NOTICE [asterisk] Ban 212.129.1.26
2015-04-26 13:35:19,534 fail2ban.actions [2820]: NOTICE [asterisk] Ban 212.83.187.182
何が足りないのかわかりません。ログ内のこれらの2つの「禁止」アクションは実際には発生していません(アスタリスクログ内のこれらのIPからの試行はまだ見られます)
あなたはここで間違った道を進んでいると思います。アスタリスクは、単純なセキュリティイベントログから(フラットファイルに)移行し、代わりにAMIを介したセキュリティイベントに移行しています。セキュリティログではなく、AMIイベントに基づくブロッキングを検討します。 fail2banの無料の代替手段がいくつかあります(例については http://www.voip-info.org/wiki/view/Asterisk+security を参照してください)。
さらに重要なことに、アスタリスクがSIPからPJSIPに変更されると、ログメッセージが変更された(そしてまだ変更されている)ため、定期的に正規表現エントリを更新し続ける必要があります。そうしないと、セキュリティイベントがfail2banを通過する可能性があります。設定。これはモグラたたきアプローチです...
asterisk
構成ブロックには、filter
およびlogpath
オプションがマークアウトされています。それがアプリが不平を言っている理由である可能性があります。パスを確認し、これら2つのブロックのマークを外します。