web-dev-qa-db-ja.com

ubuntu 14.04メールサーバーでopendkimを設定する方法(Postfix – dovecot)

サーバーでDKIMを設定できません(Ubuntu 14.04)。チュートリアルはありますか? (私のメールサーバーはこのマニュアルに従って設定されています: http://www.krizna.com/ubuntu/setup-mail-server-ubuntu-14-04/

1
john.fournier

最初に必要なパッケージをインストールします。

Sudo apt-get install opendkim opendkim-tools

以下を/etc/opendkim.confに追加します。

Domain    example.com
KeyFile    /etc/postfix/dkim.key
Selector    dkim
SOCKET    inet:8891@localhost

以下を/etc/default/opendkimに追加します。

SOCKET="inet:8891@localhost"

適切なDKIM構成を/etc/postfix/main.cfに追加します。

# DKIM
# --------------------------------------
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

no_miltersreceive_override_options行に/etc/postfix/master.cfを追加する必要があります。これにより、同じ送信メールアイテムに複数の署名が配置されなくなります

-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters

これで、送信メールに署名するための秘密鍵を生成できます。次のコマンドでは、dkim/etc/opendkim.confでSelectorに指定された値であることに注意してください。

opendkim-genkey -t -s dkim -d example.com

キーを所定の位置に移動しますが、コピーを取り、そのコピーを安全な場所にバックアップすることを忘れないでください。

mv dkim.private /etc/postfix/dkim.key

DKIMを使用して送信メールが署名されるように、設定の変更を取得するには、PostfixおよびOpenDKIMサービスを再起動する必要があります。

service opendkim start
service postfix restart

次は、DNSレコードのセットアップです。これをどのように行うかは、DNSの管理方法またはDNSの管理方法に完全に依存します。誰もが使用するツールは異なります。

ファイルdkim.txtには、次のコンテンツ、作成する必要がある完全なTXTレコードが含まれています。サブドメインdkim._domainkeyと、値としてエンコードされたコンテンツの長いセットがあります。再び「dkim」は、/etc/opendkim.confでSelectorに与えられる値です。

dkim._domainkey IN  TXT ( "v=DKIM1; k=rsa; t=y; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9rulKo58JIb5h+3MMEnYhlnbuVgRoA4w68R/X7qA2Lfv3RpdrrUb+r7KxemIo6PUIOm6uZ5OymhBgpJ0LAWBHBSJjnFmDXNajSgxMOcvkpgmVCW1/k1kxK864WVVSyFVQPyUImqklY+ws4u+mog3PSbuq2J8NFAnvSwzMg3vT1QIDAQAB" ; ----- DKIM key mail for example.com

これを設定するときは、値のk=rsa; t=y;部分を省略する必要があります。そこの最初の項目はキー形式を指し、デフォルトはRSAです。 2番目は、これがテストエントリであり、含めるべきではないことを示しています。したがって、値は次のようになります。

"v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9rulKo58JIb5h+3MMEnYhlnbuVgRoA4w68R/X7qA2Lfv3RpdrrUb+r7KxemIo6PUIOm6uZ5OymhBgpJ0LAWBHBSJjnFmDXNajSgxMOcvkpgmVCW1/k1kxK864WVVSyFVQPyUImqklY+ws4u+mog3PSbuq2J8NFAnvSwzMg3vT1QIDAQAB"

比較の目的で野外で例を表示すると、レコードに値を入力する方法を確認できます。 DKIMキーチェッカー またはDigなどの他のツールを使用できます。 dkim._domainkeyは、次のコマンドのサブドメインであることに注意してください。

Dig dkim._domainkey.Twitter.com txt

編集1

/etc/postfix/main.cfフォームの変更

# DKIM
# --------------------------------------
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

smtpd_milters           = inet:127.0.0.1:8891
non_smtpd_milters       = $smtpd_milters
milter_default_action   = accept
milter_protocol         = 2

postfixを再起動します。サービスopendkimおよびpostfixのステータスを確認します。メールの歌をもう一度確認してください。

1
2707974

親愛なる2707974に感謝します。今、mail-tester.comでテストすると、次のエラーが表示されます。

  • あなたのメッセージはDKIMで署名されていません。 DomainKeys Identified Mail(DKIM)は、ドメイン名を電子メールメッセージに関連付ける方法です。これにより、個人、役割、または組織がメッセージに対する何らかの責任を主張できます。
0
john.fournier