SMTP認証へ辞書攻撃されるのでメールサーバをSMTPS-AUTH のみ利用にする で SMTPS-AUTH の設定方法について説明しました。
SSHGuard を使用している場合は、SMTPS-AUTH への辞書攻撃へ対処できるようにする設定を説明します。
SSHGuard については、下記を参照して下さい。
SSH総当たり攻撃(辞書攻撃/ブルートフォースアタック)の対策とその効果
SSHGuard使用時の iptables再起動の注意点と、SSHGuard起動・停止スクリプト
root で以下のファイルを修正して下さい。
/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"; }elsif( $line =~ /postfix\/smtpd.+\[(.+)\]: SASL .+ authentication failed: authentication failure/ ){ # smtps+auth $user = "unknown"; $ip = $1; print "Invalid user $user from $ip\n"; }elsif( $line =~ /([0-9\.]+) \- (.+?) .+? "GET.+?HTTP.+?" 401/ ){ # apache basic/digest認証 $user = $2; $ip = $1; print "Invalid user $user from $ip\n"; }else{ print "$line"; } }
/usr/local/sbin/exec_sshguard.sh
/usr/bin/tail -n0 -F /var/log/secure /var/log/httpd/access_log /var/log/httpd/ssl_access_log /var/log/maillog | /usr/bin/perl /usr/local/sbin/log2sshguardsig.pl | /usr/local/sbin/sshguard -l - >/dev/null 2>&1 exit 0
修正後、次のコマンドを実行して、SSHGuard を再起動して下さい。
/etc/init.d/iptables stop /etc/init.d/sshguard stop /etc/init.d/iptables start /etc/init.d/sshguard start
これで、SMTPS-AUTH への辞書攻撃でも SSHGuard が反応するようになります。
コメント
CentOSでyum-cronの設定をする
yum-cronのデフォルトだとkernelのアップデートやsecurity updateでないup