このガイドでは、電子メールの送信パフォーマンスを向上させるための 3 つの重要なコンポーネントである SPF、DKIM、DMARC を構成するプロセスについて説明します。
SPF、DKIM、DMARC を適切に構成すると、メール サーバーの信頼性が高まり、メールがスパムに分類される可能性が最小限に抑えられます。
- SPF (Sender Policy Framework) は、他人があなたに代わってメールを送信するのを防ぐために設計されたセキュリティ対策です。どの IP アドレスがメールを送信できるか、どの IP アドレスが送信できないかを決定します。
- DKIM (DomainKeys Identified Mail) は、メッセージ認証方式です。各メールが送信されると、秘密キーで署名され、受信メール サーバー (またはインターネット サービス プロバイダー) で DNS 公開キーを使用して検証されます。
- DMARC (ドメインベースのメッセージ認証、レポート、適合) は、メール認証に SPF と DKIM を使用し、スパムやフィッシング攻撃を軽減します。
SPF 構成 (送信者ポリシーフレームワーク)
1.1. SPF を設定するには、ドメインの DNS 設定に TXT レコードを追加する必要があります。
1.2. SPF レコードの構文は次のとおりです。
- v=spf1: 使用する SPF バージョンを決定します。現在は SPF1 のみが使用されます。
- ip4:[Your_Mail_Server_IP]: メール サーバーの IP アドレスがドメインに代わって電子メールを送信することを許可されていることを示します。
- a: ドメインが DNS に A レコード (IPv4 アドレス) を持っている場合、そのレコードで指定されたサーバーがドメインに代わって電子メールを送信できることを指定します。
- mx: ドメインの DNS に MX (メール交換) レコードがある場合、このレコードで指定されたサーバーがドメインに代わって電子メールを送信できることを示します。
- ~all: SPF レコード内のサーバーのみがドメインに代わってメールを送信できることを示します。メールが別のサーバーから送信された場合は、「ソフト マッチ」(~) としてマークされます。つまり、メールは受け入れられますが、スパムの可能性があるとマークされます。
これらの要素を組み合わせると、次のような SPF が形成されます。
名前: [Your_Domain]
v=spf1 ip4:[Your_Mail_Server_IP] a mx ~all
[Your_Mail_Server_IP] をメールサーバーの IP アドレスに置き換えます。
DKIM (DomainKeys Identified Mail) の設定
2.1. まず、opendkim と opendkim-tools をインストールします。インストール プロセスはオペレーティング システムによって異なります。
CentOSの場合:
yum install opendkim -y
Debian/Ubuntu の場合:
apt install opendkim opendkim-tools -y
2.2. 次に、opendkim サービスを開始し、起動時に起動を有効にします。
systemctl start opendkim
systemctl enable opendkim
2.3. キー保存用のディレクトリを作成します。
mkdir -p /etc/opendkim/keys/yourdomain.com
2.4. opendkim-genkey ツールを使用してキーを生成します。
opendkim-genkey --directory /etc/opendkim/keys/yourdomain.com/ --domain yourdomain.com --selector dkim
「yourdomain.com」を実際のドメイン名に置き換えることを忘れないでください。
2.5. キーに適切な権限を設定します。
chown -R opendkim:opendkim /etc/opendkim/keys/yourdomain.com
2.6. 次に、opendkim を設定する必要があります。/etc/opendkim.conf ファイルを開き、次の設定を追加します。
AutoRestart Yes
AutoRestartRate 10/1h
Umask 002
Syslog Yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim:opendkim
Socket inet:8891@localhost
2.7. /etc/opendkim/TrustedHosts ファイルにドメインを追加する
127.0.0.1
localhost
*.yourdomain.com
2.8. /etc/opendkim/KeyTable ファイルを次のように編集します。
dkim._domainkey.yourdomain.com yourdomain.com:dkim:/etc/opendkim/keys/yourdomain.com/dkim.private
2.9. /etc/opendkim/SigningTableファイルを変更します。次のようになります。
*@yourdomain.com dkim._domainkey.yourdomain.com
2.10. Debian/Ubuntu を使用する場合は、ポート opendkim を指定します。
echo 'SOCKET="inet:8891@localhost"' >> /etc/default/opendkim
2.11. 変更を適用するには、opendkim サービスを再起動します。
systemctl restart opendkim
2.12. 最後に、ドメインの DNS 設定に公開キーを追加します。キーは /etc/opendkim/keys/yourdomain.com/dkim.txt にあります。
DMARC (ドメインベースのメッセージ認証、レポート、適合) 構成
3.1. DMARC を設定するには、ドメイン設定に TXT レコードを追加します。
Name: _dmarc.[Your_Domain].
Значение: v=DMARC1; p=none; aspf=r; sp=none
[Your_Domain] をドメイン名に置き換えます。
PTR(ポインタレコード)構成
4.1. PTR レコード (逆 DNS レコードとも呼ばれる) は、IP アドレスをドメイン名に変換するために使用されます。一部のサーバーでは PTR レコードのないメッセージを拒否する可能性があるため、これはメール サーバーにとって重要です。
4.2. PTR レコードは通常、インターネット サービス プロバイダーまたはホスティング プロバイダーの設定で構成されます。これらの設定にアクセスできる場合は、サーバーの IP アドレスと対応するドメイン名を指定して PTR レコードを設定できます。
4.3. PTR レコード設定にアクセスできない場合は、インターネット サービス プロバイダーまたはホスティング プロバイダーに連絡して、PTR レコードの構成をリクエストしてください。
4.4. PTR をインストールしたら、Linux で dig コマンドを使用して確認できます。
dig -x your_server_IP
'your_server_IP' をサーバーの IP アドレスに置き換えます。応答にはドメイン名が含まれます。
SPF、DKIM、DMARC の設定手順をすべて完了すると、メール サーバーがメールをスパムとしてマークする可能性が大幅に低くなり、メールが受信者に確実に届くようになります。