Postfix 3.4 [迷惑メール対策 SPF] CentOS7 (マルチドメイン)

この記事は約4分で読めます。

SPFとは

迷惑メール対策の一つである「SPF」。
「SPF」とは、送受信時に、「正規のメールサーバーから送信されたか」を判定する仕組み。

迷惑メールの送り主は、「攻撃用メールサーバー」から送信されることが多いです。
「正規のメールサーバー」は、利用者の認証情報をパスした(通過した)、メールサーバーの事です。

SPFでは、メールの受信時に、「迷惑メールではない」と判断します。
(メールサーバーが乗っ取られた場合は別です)

メールの受信時には、「Python」もしくは、「Perl」プログラムで判定をします。
今回、Python3で、判定する方法「pypolicyd-spf」を書いています。

メール送信時は、「DNS」で設定を行います。

Rspamdを利用する場合

Rspamd、DMARC・SPFモジュール、Postfix,CentOS7
Rspamdを利用する場合、上記の記事の方を参照ください。
(2020/08/03追記)

SPFの問題点

SPFの問題点は、「転送」にあります。
SPFは、送信元を指定しており、転送をすると、「転送元」が変わってしまうのです。
転送先から、受け取ると、「SPF」は、スパムとして判断してしまいます・・・

これを回避する方法はあるが、実際には、広まっておりません・・・
そもそも、envelope-from を書き換えて転送すればいいのですが・・・

Python3 インストール pat.1

↑CentOS7にデフォルトで入っているpythonのバージョン

↑Python3.x が入りました。

Python3 インストール pat.2(2020/08/03)

↑ 上記のように反応しない場合・・・

↑と、行うと、

↑と、python3がインストールできます。

↑ Python3 が、入りました。

↑CentOS 7.8の場合です

py3dns(pypolicyd-spf用ライブラリ)

「py3dns」は、python 用 DNS ライブラリ。

「pydns」pydns-2.3.6.tar.gzは、python 2 用です。

今回、python3 用を入れます。
https://sourceforge.net/projects/pydns/files/py3dns/py3dns-3.0.2.tar.gz/download
から、
py3dns-3.0.2.tar.gz
をダウンロードしてインストール

pyspf(pypolicyd-spf用ライブラリ)

pypolicyd-spf 本体インストール

pypolicyd-spf 設定

Failだと、メールが届かないので、「False」にして、ヘッダ情報に付加して、メールは、届くようにする。

pypolicyd-spf テスト

で、何も反応がないことを確認。
実際には、標準入力を待っている状態。
不具合がある場合は、なにか、エラーメッセージが出てきます。

postfix設定

上記、2行を加えます。行頭の 「policy」の部分を、main.cfでも、同じ名前にします。「policy」でなくても大丈夫。

実際に、メールを受信してみる

メールを受信すると、

というヘッダ情報が付加されて、「Pass」となり、「迷惑メールではない」と、判定されています。

送信時の設定(DNSの設定)

TXTレコードで、上記のように記述します。「all」の前は、「-」(マイナス)ではなく、「チルダ」です。
「マイナス」と「チルダ」では、意味が違います。

 

タイトルとURLをコピーしました