Amazon Linux 2でDKIMの設定 (ついでにSPF/DMARCも)
Amazon Linux 2でDKIM (Domainkeys Identified Mail)の設定をする手順です。
なお、postfixはインストール済みの状態です。
ドメインは、example.comとして進めていきます。
手順
EPELからOpenDKIMのインストール
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install opendkim
OpenDKIMの設定
mkdir /etc/opendkim/keys/example.com
opendkim-genkey -D /etc/opendkim/keys/example.com/ -d example.com -s default
cat /etc/opendkim/keys/example.com/default.txt
----
default._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIGfMA0GCSqGSIb3DQEBAQGbSNDw3SSSKBgQClp8S3Ved8FOYD5rMPX0s/BgvgThAiehj0V2s40A+99Eb1nqLPZOdEYz9wJ9UcnCGKaInhzFFwjIslLS78hfmKrJOe9hZJwjJk1YaIDDd0nOmSD6rtgzbm+5iSOBUgAuFYV4U0Rw2J5vouamcsUEC4VGTrQ07cEr06l1DaIoJQ5QIDAQAB" ) ; ----- DKIM key default for example.com
----
chown -R opendkim:opendkim /etc/opendkim/keys
vi /etc/opendkim.conf
----
# Selects operating modes. Valid modes are s (signer) and v (verifier). Default is v.
#sは送信時の署名、vは受信時の確認
#Mode v
Mode sv
# コメントアウト
# KeyFile /etc/opendkim/keys/default.private
#KeyTable /etc/opendkim/KeyTable
KeyTable refile:/etc/opendkim/KeyTable
#SigningTable /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
-----
vi /etc/opendkim/KeyTable
----
default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default.private
----
vi /etc/opendkim/SigningTable
-----
*@example.com default._domainkey.example.com
----
systemctl start opendkim.service
systemctl enable opendkim.service
## PostfixでDKIMを使うように設定
vi /etc/postfix/main.cf
-----
# DKIM (追記)
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = inet:localhost:8891
milter_default_action = accept
-----
systemctl restart postfix.service
DNSの設定
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install opendkim
mkdir /etc/opendkim/keys/example.com
opendkim-genkey -D /etc/opendkim/keys/example.com/ -d example.com -s default
cat /etc/opendkim/keys/example.com/default.txt
----
default._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIGfMA0GCSqGSIb3DQEBAQGbSNDw3SSSKBgQClp8S3Ved8FOYD5rMPX0s/BgvgThAiehj0V2s40A+99Eb1nqLPZOdEYz9wJ9UcnCGKaInhzFFwjIslLS78hfmKrJOe9hZJwjJk1YaIDDd0nOmSD6rtgzbm+5iSOBUgAuFYV4U0Rw2J5vouamcsUEC4VGTrQ07cEr06l1DaIoJQ5QIDAQAB" ) ; ----- DKIM key default for example.com
----
chown -R opendkim:opendkim /etc/opendkim/keys
vi /etc/opendkim.conf
----
# Selects operating modes. Valid modes are s (signer) and v (verifier). Default is v.
#sは送信時の署名、vは受信時の確認
#Mode v
Mode sv
# コメントアウト
# KeyFile /etc/opendkim/keys/default.private
#KeyTable /etc/opendkim/KeyTable
KeyTable refile:/etc/opendkim/KeyTable
#SigningTable /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
-----
vi /etc/opendkim/KeyTable
----
default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default.private
----
vi /etc/opendkim/SigningTable
-----
*@example.com default._domainkey.example.com
----
systemctl start opendkim.service
systemctl enable opendkim.service
## PostfixでDKIMを使うように設定
vi /etc/postfix/main.cf
-----
# DKIM (追記)
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = inet:localhost:8891
milter_default_action = accept
-----
systemctl restart postfix.service
DKIMを設定したのならSPFやDMARCも併せて設定しておきましょう。
DKIMのレコード
Name: default._domainkey
Type: txt
Value: "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClp8S3Ved8FOYD5rMPX0s/BgvgThAiehj0V2s40A+99Eb1nqLPZOdEYz9wJ9UcnCGKaInhzFFwjIslLS78hfmKrJOe9hZJwjJk1YaIDDd0nOmSD6rtgzbm+5iSOBUgAuFYV4U0Rw2J5vouamcsUEC4VGTrQ07cEr06l1DaIoJQ5QIDAQAB"
SPFのレコード
Name: @ (サブドメインなし)
Type: txt
Value: "v=spf1 ip4:xx.xx.xx.xx -all"
Route53の場合は、spfというレコードタイプも準備されているので設定しておきます。
Name: @ (サブドメインなし)
Type: spf
Value: "v=spf1 ip4:xx.xx.xx.xx -all"
DMARCのレコード
Name: _dmarc
Type: txt
Value: "v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]"
また、EC2からメール送信を行う場合は、逆引きやメール送信制限解除の申請もお忘れなく。
送信テスト
mailコマンドなどでgmail宛にメールを送信して、ヘッダ(メッセージのソース)をチェックしてSPF、DKIM、DMARCが全てPASSとなっていればOKです!
雑感
最近のEC2からのメール送信はSPF、DKIM、DMARCが揃っていないとgmailで迷惑メール判定されやすくなっているようです。
メールが少しでも相手に確実に届くように設定をすることをお勧めします!
Author And Source
この問題について(Amazon Linux 2でDKIMの設定 (ついでにSPF/DMARCも)), 我々は、より多くの情報をここで見つけました https://qiita.com/biatunky/items/9009c95754da4b2e5571著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .