SPF DKIM DMARK

SPF

spfチェック

spfチェック

SPFレコードとは?正しい書き方を徹底解説

SPF レコードを定義する: 詳細設定

SPF(Sender Policy Framework)

AレコードやMXレコードで指定する方法

example.jp. IN TXT "v=spf1 a:mail.example.jp ~all"
example.jp. IN TXT "v=spf1 mx ~all"

IPアドレスで指定する方法

example.jp. IN TXT "v=spf1 ip4:192.168.100.3 ~all"

IPアドレスが「192.168.100.0/24」に該当するメールサーバー

example.jp. IN TXT "v=spf1 +ip4:192.168.100.0/24 ~all"

kagoya.netのSPFレコードに記載されたメールサーバー

example.jp. IN TXT "v=spf1 include:kagoya.net ~all"

1つのドメインに複数のSPFレコードを登録する方法

example.jp. IN TXT "v=spf1 +ip4:192.168.10.0/24 +ip4:10.1.2.0/24 ~all"
  • 「~all」:送信元メールアドレスは詐称されている可能性がある
  • 「-all」:送信元メールアドレスは詐称されている

メールは様々なメールサーバーから配送される可能性があります。(メールマガジンのみ、外部のメールサーバーを利用するなど)そういった例外なく、必ずSPFレコードで指定されたメールサーバーからしか該当ドメインを送信元とするメールが送られないのであれば、「-all」を指定します。

一方、その他のメールサーバーからも送信される可能性があるなら、「~all」で指定しましょう。一般的には、「~all」が選ばれる例の方が多いです。

DKIM

ubuntu18.04でDKIM設定

インストール

apt install opendkim opendkim-tools

opendkim設定

mkdir /etc/postfix/dkim/  
 # -d ドメイン -s セレクタ
opendkim-genkey -D /etc/postfix/dkim/ -d example.com -s mail 
chgrp opendkim /etc/postfix/dkim/*
chmod g+r /etc/postfix/dkim/*

/etc/opendkim.conf

Syslog                  yes
SyslogSuccess           yes
LogWhy                  yes
Canonicalization        relaxed/relaxed
Mode                    sv
OversignHeaders         From
KeyTable                file:/etc/postfix/dkim/keytable
SigningTable            file:/etc/postfix/dkim/signingtable
UserID                  opendkim
UMask                   007
PidFile                 /run/opendkim/opendkim.pid
TrustAnchorFile         /usr/share/dns/root.key

/etc/postfix/dkim/keytable

mail._domainkey.example.net example.net:mail:/etc/postfix/dkim/mail.private 

/etc/postfix/dkim/signingtable

example.net mail._domainkey.example.net

反映

sudo systemctl restart opendkim 

/etc/postfix/main.cf

milter_default_action = tempfail
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891 

/etc/postfix/dkim/mail.txtの設定をDNSのtxtレコードに追加する。

mail._domainkey	IN	TXT	( "v=DKIM1; h=sha256; k=rsa; "
      "p=MIIB..."
      "...." )  ; ----- DKIM key mail for example.net

チェック

opendkim-testkey -d example.com -s mail -vvv

DMARC

_dmarc.example.com TXT 360 "v=DMARC1;p=none;rua=mailto:admin@example.com;ruf=mailto:admin@example.com;rf=afrf;pct=100"

DMARCとは?

コメントする