centOS:dovecot(受信サーバ)のアタック対策(denyhosts)

2018年10月12日

今まで出来なかったこと、"dovecot(受信サーバ)" のセキュリティ対策でした。
ブルートフォースアタックが1日に何回か起きていました。

受信サーバに長時間のアタックがありました。
何らかの対策を探したところ・・・

友人からdenyhostsを教えてもらいました。
しかし、 “dovecot"については全然出来ませんでした。

インターネットで “denyhosts dovecot" と、検索をしてみたところ幾つかヒットしました。
その設定で試したのですが・・・出来ませんでした。
自分の設定がいけないのかなぁ・・・と、"dovecot"・"denyhosts"を再インストールしてみたり、VPSサーバを初期化してやり直しをしたのですが・・・全然出来ませんでした。

それで、サイトを再度確認してみることにしました。

※サイトで書かれていた “/etc/denyhosts.conf " 追記した内容※

BLOCK_SERVICE = ALL 
SSHD_FORMAT_REGEX=.*(sshd.*:|\[sshd\]
|dovecot-auth.*:|vsftpd.*:) (?P<message>.*)
USERDEF_FAILED_ENTRY_REGEX=authentication failure.* 
ruser=(?P<user>\S+) rhost=(?P<host>\S+)
USERDEF_FAILED_ENTRY_REGEX=authentication failure.* 
rhost=(?P<host>\S+)\s+user=(?P<user>\S+).*
USERDEF_FAILED_ENTRY_REGEX=authentication failure.* 
rhost=(?P<host>\S+).*

※/var/log/secure の内容(自分のログ)※

Sep  1 00:26:35 [ホスト名] auth: pam_unix(dovecot:auth): 
authentication failure; logname= uid=0 euid=0 
tty=dovecot ruser=[user-name] rhost=[ip-address]

※[ ]については変更させて頂いています。

ずーと眺めてみたら・・・

Sep 1 00:26:35 “[host-name]" auth: pam_unix(dovecot:auth): authentication failure; logname= uid=0 euid=0 tty=dovecot ruser= “[user-name]" rhost= “[ip-address]"

の太字部分と、

BLOCK_SERVICE = ALL SSHD_FORMAT_REGEX=.*
(sshd.*:|\[sshd\]|dovecot-auth.*:|vsftpd.*:) (?P.*)

の太字部分が違うので以下の設定に変更する。
※警告:最後の部分が “(?p)" になっていますが、 “(?p≪message≫.)" なので注意して下さい。
wordpressの設定上だと思うのですが、 “と中身のmessage" の出力がされなかったので、二重かっこを使いました。

※変更:denyhosts.conf※

BLOCK_SERVICE = ALL 
SSHD_FORMAT_REGEX=.*(sshd.*:|\[sshd\]|
dovecot:auth.*:|vsftpd.*:) (?P<message>.*)
USERDEF_FAILED_ENTRY_REGEX=authentication failure.* 
ruser=(?P<user>\S+) rhost=(?P<host>\S+)
USERDEF_FAILED_ENTRY_REGEX=authentication failure.* 
rhost=(?P<host>\S+)\s+user=(?P<user>\S+).*
USERDEF_FAILED_ENTRY_REGEX=authentication failure.* 
rhost=(?P<host>\S+).*

この設定でテストしてみたところ、"hosts.deny" に追加されたことが確認されました。
ただ、まだ油断が出来ないので、様子をみたいと思います。

追記:2013-09-03
今のところ安定して動いていることが確認されています。
今後も油断しないように監視したいと思います。

追記:2013-10-04
テキスト形式で書き方を作成しました。
テキスト形式

追記:2013-10-11
“BLOCK_SERVICE = ALL" という部分がありますが、"denyhosts.conf" の最初部分あたりにもあります。
ブログ内のソースコードに “BLOCK_SERVICE = ALL" 書いてありますが、2つ記入する必要はありません。

追記:2013-10-12
“テキスト形式" の部分で、記述ミスをしていました。
本当にすみません。

追記:2014-12-20
タイトルの変更と文章の変更をします。
内容が違う部分があったので訂正させて頂きます。
centOS:dovecot(受信サーバ)のセキュリティ対策(denyhosts)→ centOS:dovecot(受信サーバ)のアタック対策(denyhosts)