Image

ナレッジベース → Postfix での DKIM デジタル署名のセットアップ

[仮想サーバー]
公開日: 30.05.2023

ドメインキー識別メール(DKIM)は、メールのヘッダーにキーを追加することでドメインの所有者を追加確認し、そのキーは受信者のサーバーで送信者のドメインのTXT DNSレコードに記載された公開キーと照合されます。この設定は必須ではありませんが、メールがスパムに分類される可能性を大幅に減らし、受信者側に信頼感を与えます。

1. 必要なパッケージをインストールします:

apt-get install opendkim opendkim-tools

2. 設定と有効化。

既存のデフォルト設定を削除し、ファイルを以下のように編集します:

nano /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:12301@localhost

デフォルトの行をコメントアウトし、次の内容に置き換えます:

nano /etc/default/opendkim

SOCKET="inet:12301@localhost"

Postfixに設定を追加します:

nano /etc/postfix/main.cf

milter_protocol = 2 milter_default_action = accept

smtpd_milters = inet:localhost:12301 non_smtpd_milters = inet:localhost:12301

キーとメールドメインマッピングテーブルを保存するためのディレクトリを作成します:

mkdir /etc/opendkim
mkdir /etc/opendkim/keys

信頼されたホストとドメインのファイルを作成します:

nano /etc/opendkim/TrustedHosts

127.0.0.1 localhost 192.168.0.1/24

*.my-domain.com

#.my-domain.net #.my-domain.org

ドメインと秘密鍵のマッピングファイルを作成します:

nano /etc/opendkim/KeyTable

mail._domainkey.my-domain.com my-domain.com:mail:/etc/opendkim/keys/my-domain.com/mail.private

#mail._domainkey.my-domain.net my-domain.net:mail:/etc/opendkim/keys/my-domain.net/mail.private #mail._domainkey.my-domain.org my-domain.org:mail:/etc/opendkim/keys/my-domain.org/mail.private

どのアドレスにどのキーを追加するかを定義するファイルを作成します:

nano /etc/opendkim/SigningTable

*@my-domain.com mail._domainkey.my-domain.com

#@my-domain.net mail._domainkey.my-domain.net #@my-domain.org mail._domainkey.my-domain.org

ドメイン用のキーとファイルを作成します:

cd /etc/opendkim/keys
mkdir my-domain.com
cd my-domain.com
opendkim-genkey -s mail -d my-domain.com
chown opendkim:opendkim mail.private

-sはセレクタを指定し、-dはドメインを指定します。このコマンドは2つのファイルを生成し、mail.privateには秘密鍵が、mail.txtには公開鍵が含まれています。

この公開鍵をDNSに使用します:

nano -$ mail.txt

mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3Ru/oMs+d2y93gZVq81J7hZfe31GR3177XQ5dI0r8zFqh86K1pgcdvCbpaAzXw9x25 /9BUe2ot9gpxjnt5SD+dDyereVKdkIQdkJBTl21Ei8ShJf+iIyYn5/skzLYS5RzlreBGoSGT6mtfnhzRX1A18X52oZrAfUJIXqAX14LYFq /B5Wkw8vcUiU1CrR7lteH1vCu0JQtE16CK" "vj86V06SxtKNEiRDqHZXo5+SqjzB2qHeteTGTyxA1dBmyKGCP6cVTkU3P0unOtsDLO+47YTUC55db34DKjjr18Lny0gf0d6oT0OvCZU5m5O3v QunxQtSPD4+Hb75xrMJqqSlXtswIDAQAB" )

このレコードを正常な形式に整え、引用符を削除してキーを1行にまとめた後、DNSにTXTレコードを追加します:

mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBI...IDAQAB"

レコードを確認するには、次のコマンドを使用します:

nslookup -q=TXT mail._domainkey.my-domain.com 8.8.8.8

設定を適用するためにサービスを再起動します:

service postfix restart
service opendkim restart

DKIMの設定が完了しました。正しく設定されているか確認するために、次のアドレスにメールを送信できます:check-auth@verifier.port25.com

すべて正しく設定されている場合、「DKIM check: pass」という行が含まれるレポートが届きます。





No Comments Yet