2026年8月28日

2026年8月28日

DKIMを設定してメールの正当性を証明する方法

はじめに

この記事では、ドメインkeys identification message (DKIM) を設定する方法について説明します。メールが正当なものであることを証明するために、サーバーからの送信元を確認することができます。これにより、不正なメールや詐欺メールの流入を防ぐことができます。

症状・背景

DKIMを設定すべき主な場面は以下の通りです:

  • あなたのウェブサイトから大量にメールが送信されている。
  • 受信者があなたのメールをスパムとして誤認識している。
  • メールが受信ボックスのフィルターで漏れている。

手順・設定方法

ステップ1: DKIMキー生成

# DKIMキーを生成します。2048ビットのRSA鍵を使用することが推奨されています。
mkdir -p /etc/dkimkeys/ && cd /etc/dkimkeys/
openssl genrsa -out private.key 2048

ステップ2: DNSレコード追加

# DKIMキーをDNSに登録します。以下は例です。
echo "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2Y7pUd5Xz5FJx6LZm/..."> dkim.txt

# DNS管理画面で以下を追加します。
$TTL 86400
@       IN      SOA     ns1.example.com. admin.example.com. (
                     2023091501 ; Serial
                     3600        ; Refresh
                     1800        ; Retry
                     1209600     ; Expire
                     86400 )     ; Minimum TTL

@       IN      NS      ns1.example.com.
@       IN      A       1.2.3.4
example.com.   IN      TXT     "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2Y7pUd5Xz5FJx6LZm/..."

ステップ3: メールサーバー設定

# PostfixとDKIMを組み合わせる場合、以下のように設定します。
echo "smtpd_milters = inet:localhost:8891" >> /etc/postfix/main.cf
echo "non_smtpd_milters = $smtpd_milters" >> /etc/postfix/main.cf

# Milterの起動を追加します。
echo "milter_default_action = accept" >> /etc/mail/local.conf
echo "milter_protocol = 2" >> /etc/mail/local.conf

# PostfixとDKIMの整合性を確認するために、以下を実行します。
postmap -f /etc/dkimkeys/dkim.txt /etc/postfix/mailer_map

ステップ4: 実践/トラブルシュート/監視

# メールが正しく送信されていることを確認します。
echo "This is a test email" | mail -s "Test Subject" user@example.com

# Postfixのログをチェックします。
tail -f /var/log/mail.log

注意事項

  • DKIMキー生成は最初の一回のみが必要です。その後は定期的に更新することをお勧めします。
  • DNSレコードの更新には時間がかかることがありますので、変更後は数時間待ってから確認してください。
  • メールサーバーの設定を変更した場合は、一時的にメールが送信されない場合があります。

まとめ

1. DKIMキー生成: DKIMキーを生成し、適切な長さの鍵を使用します。

2. DNSレコード追加: DNSにDKIMキーを登録します。

3. メールサーバー設定: メールサーバーとDKIMの整合性を確認します。

4. 実践/トラブルシュート/監視: メールが正しく送信されていることを確認します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ