fail2banで不正アクセスブロック

サーバを運用していると世界中からお客様が訪ねてきます。Blogを閲覧するお客様なら大歓迎ですが不正アクセスを試みるお客様はお断りしたいものです。特にメールサーバを導入し運用しているとSMTPポートへの不正中継や不正ログインのアタックが頻繁に発生します。

1.導入の経緯

postfix-pflogsummを導入して不正アクセスを監視していましたが延々と続くアタックに対してどうにかならないかと悩んでいました。IPアドレスを指定してFirewalldのDropゾーンに登録をしていましたがとても手間がかかり時間があるときでないとできませんでした。そこで見つけたのがこのfail2ban!

Fail2ban はSSHだけではなく、設定によってPostfixをはじめ様々な攻撃を防いでくれます。Fail2ban の仕組みは、アプリケーションのログを監視し不正なパターンにマッチしたものを iptables(CentOS7からはFirewalld) に追加して一定時間アクセスを拒否します。

fail2banがどのIPをブロックしたか、どこからアクセスがあったかは導入したLogWathの送ってくるメールで教えてくれます。素晴らしい!求めていたのはまさにこれでした。

2.インストール

前提:CentOS7,Systemd,ファイアウォールはFirewalld,PosfixはSASL認証

例によってEPELリポジトリからインストールします。

2.設定ファイルの編集

デフォルトの設定ファイルは以下にあります。

 /etc/fail2ban/jail.conf
拡張設定ファイルは以下のディレクトリにファイルを作成します。

 /etc/fail2ban/jail.local 

デフォルトではSSHしか有効になっていないのでPostfixを追加します。

以下を新規追加

上記設定ではportで指定したポートに対してアクセス監視を行いfindtimeで指定した時間(24H)内にmaxretryで指定した回数(4回)の不正アクセスがあるとBAN(ブロック)します。ブロックする期間はbantimeで指定した時間(7日)です。

4.起動設定と動作確認

起動して再起動後も起動するように設定します。

現在拒否されているリスト出力

# ipset –list (fail2ban-postfix-sasl)

フィルターの確認

# /etc/fail2ban/filter.d/postfix-sasl.conf

ログファイルはここに作成されます。

/var/log/fail2ban.log

5.参考にさせて頂いたサイト

CentOS7+fail2ban+firewalldで不正アクセス対策

CentOS7での fail2banのインストールと設定方法

倉金家のホームページ

スポンサーリンク
レクタングル大広告




レクタングル大広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大広告