Zimbra Collaboration SuiteでDKIM、SPF、およびDMARCを構成する

Gmailメールサーバーにメッセージを送信しようとすると、突然「このメッセージは550-5.7.1未承諾メールである可能性があることをシステムが検出しました。 Gmailに送信されるスパムの量を減らすため、550-5.7.1このメッセージはブロックされました。」、これは、ほとんどの場合、メールサーバーでDKIM、SFP、およびDMARCが構成されていないことを意味します。 大規模なメールサーバー(Gmail、mail.ru、Yandex)では、これらのレコードの存在が必要です。 今日は、Zimbra Collaboration Suiteでそれを行う方法を紹介します。

画像



ZimbraでDKIMを構成する


DKIM(DomainKeys Identified Mail)は、デジタル署名認証に基づく電子メール認証方法です。 DKIMは、メールサービスが送信者を確認し、送信者のアドレスを置き換えて実行される不正なメール送信から手紙の受信者を保護するために必要です。

この方法では、送信メッセージのヘッダーをドメインの秘密キーで暗号化し、公開バージョンのキーをドメインのDNSレコードに追加して、誰でもアクセスできるようにします。 受信者サーバーMTAは、送信者のDNSサーバーに公開キーを要求して、受信メッセージヘッダーを解読し、要求されたソースからメッセージが実際に送信されているかどうかを確認します。

画像

DKIMはZimbra 8.0以降で利用可能です。 署名のセットアップは2つのステップで構成されます。

ステージ1:キーとセレクターの生成


既存のDKIM構成がまだないドメインにDKIMデータを追加します。

# su zimbra
$ /opt/zimbra/libexec/zmdkimkeyutil -a -d example.com


取得するもの:

DKIM Data added to LDAP for domain example.com with selector ECAC22D2-DCA2-11E6-BA30-B554729FE32A
Public signature to enter into DNS:
ECAC22D2-DCA2-11E6-BA30-B554729FE32B._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs5OCY0sX04ziF+sOHt/1kq3A7iAzAjBjb4JteaoFzu1q2uBOiQS0uyaFeY6CgSgRRbvPnq8cWLG/XMU0tM9gSGtgtWDmHOs6/+QgKp6zRmetfsyABA2Y2U+XJlVURUE5ai3KIA/njt7IGZ5yeFsdZIKmhOCAOPGCovq10xkZXHdjRwiqxbCYGXv2m3o74BcWtOLPfEvexD5PYx"
"aTWFbelJpGlDN7WdBCE+ObpLGkJ9co/1sVOcd3c9SHfPq3jcBAFm7oPX2ak7Fb7cslVK77lA2hBgMYqI2Sh+T64o6R33dU++Ej7CuImmv7PAqVUn5MjYr05t3LK9dwWM8Cm6aJ/QIDAQAA" ) ; ----- DKIM key ECAC22D2-DCA2-11E6-BA30-B554729FE32A for example.com


ドメインのDKIMデータを更新することもできます。

$ /opt/zimbra/libexec/zmdkimkeyutil -u -d example.com

ドメインのDKIMデータを削除します。

$ /opt/zimbra/libexec/zmdkimkeyutil -r -d example.com

ドメインの保存されたDKIMデータを取得します。

$ /opt/zimbra/libexec/zmdkimkeyutil -q -d example.com

2番目のステップ:DNSレコードを更新する


公開鍵は、TXTレコードとしてドメインに追加する必要があります。

$ORIGIN example.com.
ECAC22D2-DCA2-11E6-BA30-B554729FE32B._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs5OCY0sX04ziF+sOHt/1kq3A7iAzAjBjb4JteaoFzu1q2uBOiQS0uyaFeY6CgSgRRbvPnq8cWLG/XMU0tM9gSGtgtWDmHOs6/+QgKp6zRmetfsyABA2Y2U+XJlVURUE5ai3KIA/njt7IGZ5yeFsdZIKmhOCAOPGCovq10xkZXHdjRwiqxbCYGXv2m3o74BcWtOLPfEvexD5PYx"
"aTWFbelJpGlDN7WdBCE+ObpLGkJ9co/1sVOcd3c9SHfPq3jcBAFm7oPX2ak7Fb7cslVK77lA2hBgMYqI2Sh+T64o6R33dU++Ej7CuImmv7PAqVUn5MjYr05t3LK9dwWM8Cm6aJ/QIDAQAA" ) ; ----- DKIM key ECAC22D2-DCA2-11E6-BA30-B554729FE32A for example.com


DNSを更新し、コマンドの結果を確認します。

# host -t txt SELECTOR._domainkey.DOMAIN

例:

# host -t txt ECAC22D2-DCA2-11E6-BA30-B554729FE32B._domainkey.example.com ns1.example.com

キーが取得された場合、 /opt/zimbra/common/sbin/opendkim-testkeyを使用して、公開キーが秘密キーと一致することを確認します。

$ opendkim-testkey -d example.com -s ECAC22D2-DCA2-11E6-BA30-B554729FE32B -x /opt/zimbra/conf/opendkim.conf

エラーが発生した場合:

opendkim-testkey: /opt/zimbra/conf/opendkim.conf: configuration error at line 0

これは、ファイル/opt/zimbra/conf/opendkim.confが存在しないことを意味します。次のコマンドで作成できます。

$ zmprov ms `zmhostname` +zimbraServiceEnabled opendkim ./libexec/configrewrite opendkim

DKIM署名キーを取り消す必要がある場合は、TXTレコードに空の "p ="タグを設定します。

デフォルトでは、1024ビットキーが作成されます(ZCSのバージョンによって異なります)。-bオプションを使用してサイズを変更できます。

送信者ポリシーフレームワーク(SPF)


SPF(Sender Policy Framework)-SMTP経由で電子メールを送信するためのプロトコルの拡張。 SPFはRFC 7208で定義されています。SPFレコードはドメインの偽造を防ぎ、アドレスから送信されるスパムメールを防ぐことができます。 SPFは、エンベロープ送信元(SMTPエンベロープ)で使用されるアドレスに対して構成されます。



spfレコードを使用して、ドメイン所有者は、ドメインの電子メールメッセージを送信する権限を持つサーバーのリストを指定できます。 一般的に、順序は次のとおりです。

[バージョン] [メカニズム] [-all | 〜すべて| リダイレクト]
バージョンは常にspf1で、修飾子は誰がメールを送信できるかを示します。


パラメータ:


以下の例を検討してください。

例1
example.com。 IN TXT "v = spf1 ip4:62.220.58.72 a mx -all"
example.comドメインの場合、IPアドレス62.220.58.72から送信された文字を受け入れ、AおよびMXレコードで指定されたサーバーからのメッセージも受け入れます。他のサーバーからのメッセージは拒否する必要があります。

例2
example.com。 IN TXT "v = spf1リダイレクト:example.org"
example.comドメインからルールを取得します。

例3
example.com。 IN TXT "v = spf1 include:_spf.google.com -all"
Googleのsmtpサーバーからのみメールを受信します。

DMARCセットアップ


ドメインベースのメッセージ認証、レポートおよび適合性、またはDMARCは、送信者アドレスを偽るスパマーと戦うために組織のグループによって作成された技術仕様です。 これは、受信者のメールサーバーに設定されたルールと機能に基づいて、送信者のメールドメインの識別に基づいています。

したがって、メールサーバーは、メッセージが良いか悪いかを判断し、DMARCレコードに従って動作します。 DMARCのセットアップにより、ドメイン所有者は認証されていないドメインから受信したメールを処理するためのルールを作成できます。



SPFおよびDKIMレコードを作成した後、TXTレコードをDNSに追加してDMARCチェックを構成する必要があります(SPFと同様)。 パラメータは次のとおりです。



詳細については、 DMARC Tag Registryを参照してください。

ドメインのルール(spfとdkimのチェックが失敗した場合の受信者サーバーに対する処理)は、次の3つのいずれかです。


レポートを受信する場合は、ruaタグでメールアドレスを指定することを忘れないでください。

_dmarc.example.com IN TXT "v=DMARC1; p=none; rua=mailto:postmaster@example.com"

DNSレコードを追加した結果


次に、example.comゾーンのdnsエントリの例を示します。

$ORIGIN .
$TTL 3600
example.com IN SOA example.com. hostmaster.example.com. (
2017011011 ; serial
3600 ; refresh [1h]
600; retry [10m]
1209600 ; expire [14d]
3600 ; min TTL [1h]
)
NS ns1.example.com.
MX 10 ns1.example.com.
A 62.220.58.71
IN TXT "v=spf1 a mx ip4:62.220.58.71 ~all"

$ORIGIN example.com.
ECAC22D2-DCA2-11E6-BA30-B554729FE32B._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs5OCY0sX04ziF+sOHt/1kq3A7iAzAjBjb4JteaoFzu1q2uBOiQS0uyaFeY6CgSgRRbvPnq8cWLG/XMU0tM9gSGtgtWDmHOs6/+QgKp6zRmetfsyABA2Y2U+XJlVURUE5ai3KIA/njt7IGZ5yeFsdZIKmhOCAOPGCovq10xkZXHdjRwiqxbCYGXv2m3o74BcWtOLPfEvexD5PYx"
"aTWFbelJpGlDN7WdBCE+ObpLGkJ9co/1sVOcd3c9SHfPq3jcBAFm7oPX2ak7Fb7cslVK77lA2hBgMYqI2Sh+T64o6R33dU++Ej7CuImmv7PAqVUn5MjYr05t3LK9dwWM8Cm6aJ/QIDAQAB" ) ; ----- DKIM key ECAC22D2-DCA2-11E6-BA30-B554729FE32B for example.com
_dmarc IN TXT "v=DMARC1; p=none; rua=mailto:postmaster@example.com"
ns1 IN A 62.220.58.71
www 86400 IN CNAME example.com.


Zextras Suiteに関連するすべての質問については、katerina @ zextras.comにメールで会社の代表者「Zextras」Katerina Triandafilidiに連絡することができます。

Source: https://habr.com/ru/post/J339296/


All Articles