= fail2ban on FreeBSD with pf = SSHへの攻撃ログがあまりにも長すぎて読む気が起きないのでfail2banを設定してログの削減を図った<>。 fail2banとファイルの更新を検知するgaminライブラリをインストールした。 {{{ $ sudo portmaster -P devel/py-gamin security/py-fail2ban }}} `/var/run/fail2ban`ディレクトリが存在せずに起動に失敗するので作成。 {{{ $ sudo mkdir /var/run/fail2ban }}} http://www.fail2ban.org/wiki/index.php/Talk:Features#Support_for_BSD_ip_or_pf を参考にpf用のアクションを`/usr/local/etc/fail2ban/action.d/`に追加した。さらにpfの設定が必要なので次の設定を行った。 {{{ table persist ban_ports = "{ssh}" block in quick on $ext_if proto {tcp udp} from to port $ban_ports }}} そして`/usr/local/etc/fail2ban/jail.conf`にルールを追加した。 {{{ [ssh-pf] enabled = true filter = sshd action = pf logpath = /var/log/auth.log }}} 最後に`rc.conf`に自動的に起動するように設定して {{{ fail2ban_enable="YES" }}} 起動 {{{ $ sudo fail2ban start }}} ところで操作はfail2ban-clientコマンドをrootで実行すると行うことが出来る。