CentOS の Postfix で Postgrey による迷惑メール対策


CentOS の Postfix でグレイリスティングを有効にする Postgrey の設定方法です。
グレイリスティングにより迷惑メール対策が行えます。

参考:Greylisting方式による迷惑メール対策|電子メール | 岐阜大学情報館

またここでは、グレイリスティングで迷惑メール対策する対象に、迷惑メールの送信元となることが多い、動的IPアドレス割り当てのホストを対象とする、S25Rスパム対策も実施します。

通常のメールサーバーが構築されていることを前提(参考:CentOS6でのメールサーバの設定(postfixその1))に、メール受け入れの条件に次を追加して対策します。

・ホワイトリストにのっている場合は、受け入れる
・S25Rスパム対策を実施(動的IPアドレス割り当てのホストからの接続は、Postgrey でチェックする)


設定方法


Postgrey のインストール


Postgrey をインストールします。

まず、EPELリポジトリを利用できるようにします。次の記事を参照してください。

CentOS6/7でEPELリポジトリを利用する設定: パソコン鳥のブログ

EPELリポジトリが利用できるようになったら、Postgrey をインストールします。


yum install postgrey



Postgrey を動作させるための Postfix への設定


次のファイルを作成します。

/etc/postfix/s25r

/^unknown$/                                  check_greylist
/^[^.]*[0-9][^0-9.]+[0-9].*\./               check_greylist
/^[^.]*[0-9]{5}/                             check_greylist
/^([^.]+\.)?[0-9][^.]*\.[^.]+\..+\.[a-z]/    check_greylist
/^[^.]*[0-9]\.[^.]*[0-9]-[0-9]/              check_greylist
/^[^.]*[0-9]\.[^.]*[0-9]\.[^.]+\..+\./       check_greylist
/^(dhcp|dialup|ppp|[achrsvx]?dsl)[^.]*[0-9]/ check_greylist


/etc/postfix/main.cf に次を追加します。

/etc/postfix/main.cf

smtpd_restriction_classes = check_greylist
check_greylist = check_policy_service unix:/var/spool/postfix/postgrey/socket


また、main.cf の smtpd_recipient_restrictions に
check_client_access regexp:/etc/postfix/white-list.txt,check_client_access regexp:/etc/postfix/s25r
を追加します。

CentOS6でのメールサーバの設定(postfixその1): パソコン鳥のブログ に従ってメールサーバーを構築している場合は、次のようになります。

/etc/postfix/main.cf

smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,check_client_access regexp:/etc/postfix/white-list.txt,check_client_access regexp:/etc/postfix/s25r



ホワイトリストの準備


ホワイトリストを用意します。
日々更新がされているリストがありますので、次のコマンドでダウンロードし、/etc/postfix/white-list.txt に保存します。


crul -o /etc/postfix/white-list.txt http://www.gabacho-net.jp/anti-spam/white-list.txt


毎日自動的にダウンロードされるように、cron用の設定をします。
次のファイルを作成してください。

/etc/cron.daily/postgrey-whitelist

#!/bin/sh
curl -o /etc/postfix/white-list.txt http://www.gabacho-net.jp/anti-spam/white-list.txt >/dev/null 2>&1


実行権限をつけます。


chmod +x /etc/cron.daily/postgrey-whitelist



Postgreyの起動設定・Postfixへの反映


これで準備ができました。

最後に Postgreyの起動設定と、Postfix へ反映して、設定完了です。


systemctl enable postgrey
systemctl start postgrey
systemctl reload postfix



参考


Rgrey - S25R + greylisting
阻止率99%のスパム対策方式の研究報告 | スパム対策技術

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント