メールサーバへの総当たり攻撃(辞書攻撃/ブルートフォースアタック)への対処

スポンサーリンク
スポンサーリンク

IDやパスワードを変えて何度も接続を試みる総当たり攻撃(辞書攻撃/ブルートフォースアタック)は、ssh以外にメールサーバにも行われます。
sshへの攻撃の対策は、先の 記事 で説明しましたが、同様に SSHGuard を利用して、メールサーバへの攻撃にも対処できます。

以下ではその設定を説明します。なお、対象は CentOS6 + dovecot です。

先に、SSHGuard をインストール・設定しておく必要があります。インストール・設定については、 SSH総当たり攻撃(辞書攻撃/ブルートフォースアタック)の対策とその効果 を参照してください。

設定

以下は root で作業します。

perlを使います。無い場合は、下記でインストールします。

yum install perl

次のファイルを作成します。
/usr/local/sbin/log2sshguardsig.pl

#! /usr/bin/perl
use IO::Handle;
STDOUT->autoflush(1);
while( 1 ){
    $line = <STDIN>;
    if( $line =~ /authentication failure; .+ruser=(.+?) rhost=([0-9\.]+)[\r\n\s]/ ){
        # dovecot2.0
        $user = $1;
        $ip = $2;
        print "Invalid user $user from $ip\n";
    }elsif( $line =~ /Aborted login: user=<(.+?)>, method=PLAIN, rip=(.+?),/ ){
        # dovecot1.0
        $user = $1;
        $ip = $2;
        print "Invalid user $user from $ip\n";
    }else{
        print "$line";
    }
}

rc.localは以下のように修正します。
/etc/rc.local

変更前
    /usr/local/sbin/sshguard -l /var/log/secure
変更後
    /usr/bin/tail -n0 -F /var/log/secure | /usr/bin/perl /usr/local/sbin/log2sshguardsig.pl | /usr/local/sbin/sshguard -l - >/dev/null 2>&1 &

dovecotの認証エラー時のログを、SSHGuard が認識する形式に変換して、SSHGuardに渡します。
これで、sshへの攻撃と同様に、メールサーバへの攻撃に対しても SSHGuard が反応します。

なお、iptablesへの設定変更は必要ありません。
SSH総当たり攻撃(辞書攻撃/ブルートフォースアタック)の対策とその効果に従ったインストール・設定で、メールサーバにも対応できます。

参考

SSH総当たり攻撃(辞書攻撃/ブルートフォースアタック)の対策とその効果 パソコン鳥のブログ
iptablesサンプル パソコン鳥のブログ

コメント

タイトルとURLをコピーしました