DKIMはただ

こんにちは。



DKIM(DomainKeys Identified Mail)を自分のドメインとメールサーバーにねじ込むという小さな経験を共有したいと思います。



私たちが持っています:

チャレンジ:



最初から始めましょう。 一般的なDKIMとは何ですか。また、メールシステムがDKIMサポート付きでメールを送信するために必要なものは何ですか。



WikiDKIMの説明から:

DomainKeys Identified Mail電子メール認証方法。

DomainKeys Identified Mail(DKIM)テクノロジーは、既存のフィッシング対策とスパム対策をいくつか組み合わせて、正当な電子メールの分類と識別を改善します。 従来のIPアドレスの代わりに、DKIMはメッセージの送信者を決定するために、組織のドメイン名に関連付けられたデジタル署名をメッセージに追加します。 署名は受信者側で自動的に検証されます。その後、送信者の評価を決定するために「ホワイトリスト」と「ブラックリスト」が適用されます。

DomainKeysテクノロジーは、ドメイン名を使用して送信者を認証します。 DomainKeysは、既存のドメインネームシステム(DNS)を使用して公開暗号化キーを送信します。


DKIMを使用するには、次のものが必要です。

  1. 送信メールに署名するためのメールサーバーによるDKIMサポート。
  2. 秘密鍵と公開鍵のペアを取得します。
  3. DNSドメインでのDKIMサポートの可用性に関する必要なレコードを入力します。


DKIMメールサーバーのサポートにより、すべてが明確になりました。 バージョン5.1以降、hMailServerはキーによる送信メールの署名をサポートしています。



ここで、秘密鍵と公開鍵のペアを生成する方法を見つける必要があります。 いくつかのオプションを並べ替えた後、port25.comサービスのWebユーティリティを決定しました。これは、必要なキーの生成に加えて、DNSレコードのヒントも生成します。

www.port25.com/support/support_dkwz.php



特定のフィールド「ドメインセレクタ」に関する簡単な説明。 このフィールドを使用すると、異なるニーズ(たとえば、異なるメールサーバー)の1つのドメインに複数のDKIMレコードをバインドできます。 私の場合、メールサーバーは1つしかなく、セレクタは不要なので、セレクタとして「メール」を選択しました。



受信した秘密キーは、メールサーバーがアクセスできるフォルダー内のサーバーに保存されます。 原則として、公開鍵はファイルとして保存できません。 DNSに必要なエントリを作成する場合にのみ役立ちます。 hMailServerのドメイン構成では、選択したセレクターを示すだけでなく、秘密キーファイルへのパスを指定する必要があります(「メール」をセレクターとして使用したことを思い出してください)。



DNSゾーンファイルでは、次の形式のレコードを指定する必要があります。

_domainkey.example.com。 TXT "t = s; o =〜;"

mail._domainkey.example.com。 TXT "K = RSA \; T = S \; P = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQmO9AuWRbWPgl / jzDPQodrLfFLFqYYi6bCBnsTOCOJQrFbGgiR1C01j4zLw8XgG3rQ0WAaeg6Z / y39Ah7IONfs5gQuK6eGZMmYwIsZyz2dQoUDmDLCb1WygpkrqsCbyPw3SWGihM4iChOwo7Ovo2mTOWOf5ejeZcP2qqNb9nRMQIDAQAB"


2番目のエントリの_domainkeyの前の「メール」は選択したセレクタにすぎず、「p =」に続く同じエントリの長い文字セットは公開キーです。



すべてのようです。 GmailがDKIMをチェックすることは確かに知られているので、メールサーバーからGmailにメールを送信してみましょう。 Gmailで受け取った手紙を見て、大事な行を確認します。

認証結果:mx.google.com; spf = pass(google.com:example@example.comのドメインは123.123.123.123を許可された送信者として指定します)smtp.mail=example@example.com; dkim = pass header.i=@example.com


DKIMの成功した征服おめでとう)))、私もあなたに願っています。 がんばって。



UPD:外部サービスを使用せずにキーペアを取得するには、OpenSSLを使用できます。

openssl.exe genrsa -out tstpriv.pem 1024-秘密鍵を生成します(1024-鍵の長さ)。

openssl.exe rsa -pubout -in tstpriv.pem -out tstpub.pem-秘密から公開鍵を取得


追加してくれてありがとう



UPD 2: nshopikからの小さな追加:

ドメインでADSPレコード( RFC5617 )を登録することもできます-これにより、受信サーバーは、手紙に署名する必要があるかどうかを理解できます。

レコードは次のようになります。

_adsp._domainkey.example.com。 TXT "dkim = all"


3つのdkim =値があります。





UPD 3: tolik89uからの情報を更新します。

RFC5617のADSPは、テクノロジーが「開始」されていないため、すでにHISTORICとラベル付けされています。 代わりに、現在広く配布されているDMARCを使用しています:tools.ietf.org/html/rfc7489。



All Articles