さくらのVPSで借りているサーバで、毎日logwatchを送信しているのだが、
ほぼ毎日、下記のようなログが延々と記録されている。
pam_unix(smtp:auth): check pass; user unknown
pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
pam_succeed_if(smtp:auth): error retrieving information about user test
これはsmtpサーバの認証をユーザー名を変えて手当たり次第におこなっているもので、
幸い認証は成功していないし特にサーバがダウンするとかパフォーマンスが低下するとかいう事態にもなっていないのでそんなに深刻なことではないのだが、ウザい。
25番ポートを閉じれば停められるのだが、それをやると外部からのメールが転送できない。
実際、ついこないだまで25番は閉じていたのだが、そうするとgmailなどから送信したメールが届かないことに気づいて開けて、そうしたらこのようなイタズラが始まったのだ。
この手のアクセスは送信元IPアドレスやセグメントを制限し始めるときりがない。
本当は送信元を知りたいのだがわからない。
不正アクセスしたアドレスを自動でブロックするものなどもあるようだが、あまり使いたくない。
smtp認証をsmtps認証にするという方法があってやってみたのだがうまくいかなかったので、とりあえず認証方式をmd5にした。
cyrus-sasl-md5 をインストール
/etc/postfix/main.cfで、
smtpd_sasl_security_options=noanonymous,noplaintext
を追加
/usr/sbin/saslpasswd2 -c -u example.com user
でパスワードを設定。
postfixとsaslauthdをrestart
iphoneのメール設定は、
usernameにドメイン名をつける(user@example.comのように)
use sslはオフ
authenticationは MD5 Challenge-Responseにする。
Server portは587(これは設定による?)