unknown user のバウンスメールを返送しないで即削除する
unknown user が指定されたメールは今まで送信元に 550 の bounce メールとして返送されていた。
これは、差出人がメールアドレスを間違った場合にその間違いを通知できるメリットがある。しかし、最近は bounce メールを利用し多数のメールアドレスを差出人と付与したスパムメールがある。また、そのメールサーバで利用されているメールアドレスを調べるために、ランダムにユーザ名を変更したたくさんのメールを送りつけてくるケースもあるようだ。
現に俺のサーバーでもメールログにバウンズメールが多数存在する。
そこで、正しい送信者に対してメールアドレスの間違いを通知できないデメリットはあるがunknown user が指定されたメールはメールサーバで廃棄したほうがスパマー(差出人)に所在を察知されなくて済む。つまり無視して捨てるわけだ!なお、メールサーバは postfix を使用している。
1.unknown user メールとは
下記は、mail.logの内容の一部である。
こんなメールを言っている。この場合、ステータスがbouncedになってるのでエラーメールとして返送されているはずである。
Mar 29 06:02:45 sub2 postfix/smtpd[10239]: warning: hostname 170-239-232-47.inbnet.com.br does not resolve to address 170.239.232.47: Name or service not known
Mar 29 06:02:45 sub2 postfix/smtpd[10239]: connect from unknown[170.239.232.47]
Mar 29 06:02:46 sub2 postfix/smtpd[10239]: 92215320080: client=unknown[170.239.232.47]
Mar 29 06:02:47 sub2 postfix/cleanup[10242]: 92215320080: message-id=<AE4175CE9D9AFA26C9FD46151272AE41@ELE4IE4DAA>
Mar 29 06:02:47 sub2 postfix/qmgr[648]: 92215320080: from=<このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 >, size=696, nrcpt=1 (queue active)
Mar 29 06:02:47 sub2 postfix/local[10243]: 92215320080: to=<このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 >, relay=local, delay=1.6, delays=1.6/0.01/0/0.04, dsn=5.1.1, status=bounced (unknown user: "abuse.net") ← ここunknown userとなっている。
Mar 29 06:02:47 sub2 postfix/cleanup[10242]: 50B303205DF: message-id=<このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 >
Mar 29 06:02:47 sub2 postfix/qmgr[648]: 50B303205DF: from=<>, size=2570, nrcpt=1 (queue active)
Mar 29 06:02:47 sub2 postfix/bounce[10244]: 92215320080: sender non-delivery notification: 50B303205DF
Mar 29 06:02:47 sub2 postfix/qmgr[648]: 92215320080: removed
Mar 29 06:02:47 sub2 postfix/smtpd[10239]: disconnect from unknown[170.239.232.47] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Mar 29 06:03:00 sub2 postfix/smtp[10245]: 50B303205DF: to=<このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 >, relay=custmx.cscdns.net[198.58.121.58]:25, delay=13, delays=0.03/0.01/12/1.3, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 5791E4B90)
Mar 29 06:03:00 sub2 postfix/qmgr[648]: 50B303205DF: removed
2./etc/postfix/main.cf 内の項目を次のように設定追加する
local_recipient_maps =
luser_relay = unknown_user@localhost
local_recipient_maps には、一般的にunix:passwd.byname や $alias_maps などが指定されている。このように設定されていれば ログインアカウントやメールエイリアスなどで特定されるメールアドレスは次のプロセスに進むことができるが、特定できないメールアドレスは status=bouncedで 550 の bounce メールとして差出人へ返送される。
今回は、返送しないために local_recipient_maps を空にしておく。
luser_relay はログインアカウントやメールエイリアスなどで特定されないメールを設定されたメールアドレスに転送する。
ここでは、unknown_user@localhost に転送している。
3./etc/aliases に次の項目を追加する。
unknown_user: /dev/null
これにより、unknown_user@localhost に転送されたメールは廃棄される。
したがって、unknown user が指定されたメールは廃棄される。
# postalias /etc/aliases
# /etc/init.d/postfix reload
最後に設定を反映する。
以上