web-dev-qa-db-ja.com

rspamdとpostfixを使用したエイリアスドメインのDKIM

エイリアスドメインから送信された送信メールにDKIMが署名するのに問題があります。つまり、[email protected]として認証された場合は[email protected]または[email protected]として送信しますが、メールは正しくDKIM署名されていますが、[email protected]として送信した場合の署名は-です。 [〜#〜] not [〜#〜]メールヘッダーに追加されました。私はpostfixとrspamdを使用しています。関連するファイルは次のとおりです。

接尾辞

main.cf

(initial boilerplate omitted for brevity)

virtual_mailbox_domains = pgsql:/etc/postfix/pgsql-virtual-mailbox-domains.cf
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql-virtual-mailbox-users.cf
virtual_alias_maps = pgsql:/etc/postfix/pgsql-virtual-alias-maps.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtp_tls_security_level = may
smtpd_sender_login_maps = pgsql:/etc/postfix/pgsql-virtual-alias-maps.cf
smtpd_milters = inet:127.0.0.1:11332
non_smtpd_milters = inet:127.0.0.1:11332
milter_protocol = 6
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}

master.cf

(default configs omitted for brevity)

submission inet n - - - - smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sender_login_maps=pgsql:/etc/postfix/pgsql-email2email.cf
  -o smtpd_sender_restrictions=reject_unauthenticated_sender_login_mismatch
  -o smtpd_sasl_local_domain=$myhostname
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

rspamd

local.d/dkim_signing.conf

path = "/var/lib/rspamd/dkim/$domain.$selector.key";
selector_map = "/etc/rspamd/dkim_selectors.map";

Dkimセレクターパスでのアクセス許可は、ファイルの場合はr-x------、フォルダーの場合はr-xr-x---です。

2
Arthur Alkmim

DKIM署名モジュールから 動作原理

DKIM署名モジュールは、さまざまな設定で変更できる事前定義されたポリシーに従って、署名ドメインとセレクターを選択します。このデフォルトポリシーの説明は次のとおりです。--

  • 認証されたユーザーが存在する場合は、@ domainをサフィックスとして付ける必要があります。ここで、ドメインはエンベロープ/ヘッダーの差出人アドレスです

セカンダリドメインが、認証されたユーザーのドメインと一致しません。このデフォルトの動作を変更するには、 dkim_signing.conf 必要があります:

allow_username_mismatch = true;

1
Esa Jokinen