スパムメール判定対策(DKIM&SPFの導入)

 

自宅サーバーのPostfixからGMAIL宛てにメールを送信するとスパムメール判定されてしまうことがあるので、DKIMとSPFを導入してスパムメール判定されないようにする。

※事前にEPELリポジトリを導入しておく

●opendkimインストール
# yum -y install opendkim

●キーペアファイルの保存場所作成
# mkdir /etc/opendkim/keys/sample.com

●キーペア(公開鍵・秘密鍵)作成
# opendkim-genkey -D /etc/opendkim/keys/sample.com/ -d sample.com -s 191001
※-s はセレクタ名(日付等、自分が分かれば何でも可)

●キーペアファイルの所有者変更
# chown -R opendkim:opendkim /etc/opendkim/keys/sample.com/

●公開鍵の確認
・公開鍵(/etc/opendkim/keys/sample.com/191001.txt)をFTP等でDLして中身を確認
191001.txtの内容(例)
———————————————————————————————————-
191001._domainkey IN TXT ( “v=DKIM1; k=rsa; “
“p=******************************************************************************
*********************************************************************************
**************************************” ) ; —– DKIM key 191001 for sample.com
———————————————————————————————————-

●DNSサーバーへのDKIM登録
例:ValueDomainの場合
ホスト名: 191001._domainkey
ターゲット:v=DKIM1; k=rsa; p=**************************************
タイプ:TXT

●DNSサーバーへのSPF登録
例:Valuedomainの場合
ホスト名:@
ターゲット:v=spf1 a:sample.com ~all
タイプ:TXT
※SPFの設定はこのDNSサーバーへの登録だけです。

●KeyTableの設定
# vi /etc/opendkim/KeyTable
下記を追記
191001._domainkey.sample.com sample.com:191001:/etc/opendkim/keys/sample.com/191001.private

●SigningTableの設定
# vi /etc/opendkim/SigningTable
下記を追記
*@sample.com 191001._domainkey.sample.com

●opendkimの設定
# vi /etc/opendkim.conf
下記部分を変更
Mode    v
 ↓sを追記
Mode   sv
KeyFile /etc/opendkim/keys/default.private
 ↓コメントアウト
#KeyFile /etc/opendkim/keys/default.private
# KeyTable /etc/opendkim/KeyTable
 ↓コメント削除
KeyTable /etc/opendkim/KeyTable
# SigningTable  refile:/etc/opendkim/SigningTable
 ↓コメント削除
SigningTable   refile:/etc/opendkim/SigningTable
# ExternalIgnoreList    refile:/etc/opendkim/TrustedHosts
 ↓コメント削除
ExternalIgnoreList     refile:/etc/opendkim/TrustedHosts
# InternalHosts refile:/etc/opendkim/TrustedHosts
 ↓コメント削除
InternalHosts  refile:/etc/opendkim/TrustedHosts

●opendkim再起動
# systemctl restart opendkim
# systemctl enable opendkim

●postfixの設定
# vi /etc/postfix/main.cf
最下行に下記を追記
# DKIM
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept

●設定反映
# systemctl restart postfix

●動作確認
GMAIL宛てにメールを送信し、受信メールのヘッダー部分にdkim=pass, spf=passの記述があれば正常に動作している。
———————————————————————————————————
Authentication-Results
mx.google.com; dkim=pass header.i=@sample.com header.s=191001 header.b=aAbBcCdD; spf=pass (google.com: domain of user@sample.com designates “サーバーIPアドレス” as permitted sender) smtp.mailfrom=user@sample.com
———————————————————————————————————

 

カテゴリー: CentOS7 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です