④サーバー構築

スパム対策【SPF・DKIM・DMARCの設定方法を初心者向けに解説】

④サーバー構築
記事内に広告が含まれています。

メールサーバーを構築したら必ず設定すべきなのがSPF・DKIM・DMARCです。この3つを設定することで、自分のサーバーから送るメールがスパム扱いされにくくなります。

SPF・DKIM・DMARCとは?

技術役割
SPF送信元IPを認証(なりすまし防止)
DKIMメールに電子署名を付ける(改ざん防止)
DMARCSPF・DKIM失敗時の処理ポリシーを定義

SPFの設定

DNSのTXTレコードに以下を追加します。

v=spf1 ip4:あなたのサーバーIP ~all

DKIMの設定(OpenDKIM使用)

sudo apt install -y opendkim opendkim-tools
sudo opendkim-genkey -t -s mail -d your-domain.com

生成されたmail.txtの内容をDNSのTXTレコード(mail._domainkey)に設定します。

DMARCの設定

DNSの_dmarc TXTレコードに追加します。

v=DMARC1; p=quarantine; rua=mailto:admin@your-domain.com

まとめ

  • SPFは送信元IPの認証、DKIMは署名による改ざん検知、DMARCはポリシー管理を担う
  • 3つとも設定することでメールの信頼性が大幅に向上する
  • すべてDNSのTXTレコードで設定する

各技術の詳細解説

SPF(Sender Policy Framework)

SPFはメールの送信元IPアドレスを認証する仕組みです。ドメインのDNSにそのドメインからメールを送信してよいIPアドレスを列挙したTXTレコードを追加します。受信側のメールサーバーがDNSを照会してメールの送信元IPがSPFレコードに含まれているか確認します。

SPFレコードの末尾の~allはソフトフェイル(SPF失敗でも拒否しない・スパム扱いの可能性あり)、-allはハードフェイル(SPF失敗で拒否)を意味します。最初は~allで様子を見て問題なければ-allに変更するのが安全です。

DKIM(DomainKeys Identified Mail)

DKIMはメールの送信時に秘密鍵で電子署名を付け、受信者が公開鍵(DNSのTXTレコードに公開)で署名を検証することでメールの改ざんを検出する仕組みです。OpenDKIMが生成する鍵ペアのうち、秘密鍵はメールサーバーに保管し、公開鍵のみDNSに登録します。

DMARC(Domain-based Message Authentication Reporting and Conformance)

DMARCはSPFとDKIMの認証結果に基づいて、認証失敗メールの扱いをポリシーとして定義し、かつ認証失敗の集計レポートを受け取る仕組みです。p=noneはレポートのみ収集・処理なし、p=quarantineは迷惑メールフォルダに振り分け、p=rejectは受信拒否を意味します。

設定後の確認方法

DNS設定後は以下の方法で確認できます。SPFはdig TXT your-domain.comで設定内容を確認します。DKIMはdig TXT mail._domainkey.your-domain.comで公開鍵が返ってくることを確認します。実際の認証状態はGmailなどに送信したメールの「メッセージのソースを表示」でAuthentication-Resultsヘッダーを確認するのが最も簡単です。

まとめ

  • SPF・DKIM・DMARCの3つはメールサーバー構築時に必ずセットで設定する
  • SPFは送信元IPの認証、DKIMは電子署名による改ざん検知、DMARCは認証失敗時のポリシー定義
  • SPFの-all(ハードフェイル)は設定が確認できてから変更するのが安全
  • 設定後はGmailへのテスト送信でAuthentication-Resultsヘッダーを確認する
  • 3つすべて設定することでメールの到達率とドメイン信頼性が大幅に向上する

コメント

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