2007.12.13

postfixでIPアドレス範囲の受信制限

メールサーバーを設定していると、spamを止めるために送信元の IPアドレスを特定して
メールの受信を拒否したい場合がよくあります。

postfixの場合、ものの本には次のように書くやり方がよく紹介されています。

 main.cf の設定

smtpd_client_restrictions = ... , check_client_access hash:/etc/postfix/reject_list, ...

 reject_list の中身

1.2.3.4 REJECT
5.6.7.8 REJECT
9.10.11.12 REJECT

しかし、この書き方(hash)は reject_listファイルに特定の IPアドレスを1個ずつを記述しなくてはならず、
広いネットワークの管理に使うには少々不便です。
(spamの送信元は時々 IPアドレスの末尾のオクテットだけが変わったりしますので。

そこで、弊社では、以下にあるような割り当てリストをもとに一括の範囲でバッサリと拒否しています。

 ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest
 ftp://ftp.apnic.net/public/stats/apnic/delegated-apnic-latest
 ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest
 ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest
 ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest


その時の書き方は、以下です。(cidr)

 main.cf の設定

smtpd_client_restrictions = ... , check_client_access cidr:/etc/postfix/reject_list, ...

 reject_list の中身

85.95.32.0/19 REJECT
91.94.0.0/16 REJECT
200.8.0.0/19 REJECT
217.195.192.0/20 REJECT


あとは

 postmap /etc/postfix/reject_list
 postfix reload

とするだけ。


可能な場合、事前に特定の国を全拒否指定しておくだけで、かなり静かになります。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
ichikawa