メールのセキュリティは、現代のビジネスや個人利用において非常に重要な要素となっています。不正なメールやフィッシング攻撃が増加する中で、送信者の正当性を確認するための技術が必要不可欠です。
そこで登場するのが以下のような認証技術です。
- DKIM(DomainKeys Identified Mail)
- SPF(Sender Policy Framework)
- DMARC(Domain-based Message Authentication, Reporting, and Conformance)
メールの送受信に関わるセキュリティには、上記にもある「SPF」「DKIM」「DMARC」の他に「TLS」など、それぞれが役割を果たしています。
しかし、メールインフラに詳しい方でもなければ、それらのシステムを意識してメール配信を行ってはいないでしょう。
この記事では、ご紹介したセキュリティの中でも「DKIM」にスポットを当てて、その確認方法を中心に解説をしています。
自社の使用しているメーラー(ウェブメール)では、DKIMが正しく設定されているのか、またDKIMが作動していないとどのようなリスクがあるのか、理解しておきましょう。
目次
DKIMとは
DKIM(DomainKeys Identified Mail)は、メールが正当な送信者から送信されたものであることを確認し、メールの内容が改ざんされていないことを証明するためのドメイン認証技術です。
SPFやDMARCと共に使用されることが多く、送信されてきたメールがなりすましや改ざんの被害にあっていないことを証明するなどメールのセキュリティ性を向上させます。
DKIM以外のドメイン認証技術も似たような働きを持っていますが、それぞれが異なった方法でメールの正当性を証明することで、より確度の高いセキュリティを実現しています。
DKIMの仕組み
DKIMは「公開鍵暗号方式」と呼ばれる方法でなりすましなどの被害からメールを守っています。
この方式では、送信側がメールの本文とヘッダー情報を元にハッシュ値を生成し、それを秘密鍵で「電子署名」と言う形で暗号化することで真正性を維持します。
DKIMが機能するためには以下の4ステップが必要です。
- 電子署名の作成:送信者のメールサーバーがメールの本文と一部のヘッダー情報を元にハッシュ値を生成し秘密鍵で暗号化する。この暗号化されたハッシュ値が電子署名となる。
- メールの送信:電子署名が付与されたメールが送信される
- 公開鍵の取得:受信者のメールサーバーは、送信者のドメインのDNSサーバーに問い合わせて公開鍵を取得する
- 電子署名の検証:受信者のメールサーバーは、取得した公開鍵を使用してメールに含まれる電子署名を解読し、ハッシュ値を検証する。
そして、メールの本文とヘッダー情報から再生成されたハッシュ値と電子署名内のハッシュ値が一致すれば、メールは改ざんされていないことが確認されます。
DKIMの種類
ちなみに「秘密鍵」の作成には送信元が自ら行うパターンと、メール配信の過程で中継するサーバが行うパターンの2つがあり、それぞれ「作成者署名」と「第三者署名」と呼ばれています。
どちらの場合でも検証方法に違いはありませんが、第三者署名では送信元となるメーラーでDKIMの設定を省略できるメリットがあります。
作成者署名(Author Signature)
送信元のメールサーバーが自ら電子署名を生成します。送信者自身がDKIM設定を管理するため、署名の信頼性は高いものの、送信者がDKIM設定を正しく管理する必要があります。
第三者署名(Third-party Signature)
メール配信の過程で中継するサーバーが電子署名を生成します。これは、例えばメールリレーサービスを利用する場合に使用されることがあります。この場合、送信元のメールサーバーでDKIMの設定を省略できる利点があります。
両者にはそれぞれメリットとデメリットがあり、利用する環境や目的に応じて適切な方法を選択することが重要です。
SPF・DMARCとの違い
SPFは、送信者のメールサーバーのIPアドレスが、そのドメインに対して許可された送信元かどうかを確認する技術です。具体的には、送信者のドメインのDNSに設定されたSPFレコードを参照し、メールを送信しているサーバーのIPアドレスがそのリストに含まれているかを検証します。
- メリット:簡単に設定でき、送信サーバーの正当性を検証するための効果的な手段となる
- デメリット:メールが転送される場合、正しく機能しないことがある。メールの内容の改ざんを防ぐことはできない
DMARCは、SPFやDKIMの認証結果に基づいて、受信側のメールサーバーがどのようにメールを処理するかを決定するためのポリシーを設定する技術です。
DMARCは、送信ドメインの所有者がSPFとDKIMの認証結果をどのように扱うかを定義し、認証に失敗したメールをどのように処理するか(拒否、隔離、受信)を指定します。
- メリット:SPFとDKIMを組み合わせて、より強力な認証を実現できる。認証に失敗したメールの処理方法を詳細に指定でき、報告機能を通じて認証失敗の状況を監視できる
- デメリット:設定が複雑であり、すべてのメールサーバーがDMARCに対応しているわけではない
SPF、DKIM、DMARCはそれぞれ異なる方法でメールの正当性を確認し、セキュリティを向上させる技術です。
DKIMを設定していないとどうなる?
前項でも触れたように、DKIMを設定していない環境でのメール配信は「なりすまし」や「改ざん」の温床となるリスクがあります。
- なりすまし:悪意を持った送信元が、受信先で表示される送信元アドレスが任意のものになるようにプログラムした上で配信するメール。実在する企業のメールアドレスなどを表示するため、フィッシング詐欺などに使われる。
- 改ざん:送信元の情報などは偽造せずに、メールの本文を書き換える手口。送信元は変化していないため気づきにくい。
「フィッシング対策協議会」の調査によると、フィッシング詐欺は毎月約5万〜15万ほどの被害報告がされており、起点として使われるメールには対策が求められています。
Gmail送信者ガイドラインへの対応
Googleが2024年2月に施行した「Gmail送信者ガイドライン」は、送信元に厳しいセキュリティ要件を求める内容となっています。
例えば、Gmail宛に1日に5,000件を超えるメール送信者には以下のような条件をクリアしない限り、Gmailへのメールが迷惑メールとして扱われる可能性が示唆されています。
- ドメインに SPF および DKIM メール認証を設定します。
- 送信元ドメインに DMARC メール認証を設定します。
- 送信元のドメインまたは IP に、有効なフォワードおよびリバース DNS レコード(PTR レコードとも呼ばれます)があることを確認します。
- メールの送信に TLS 接続を使用します。
- Postmaster Tools で報告される迷惑メール率を 0.3% 未満に維持します。
また、1日に5,000件ほどのメールを配信していないドメインであっても「送信元ドメインに SPF または DKIM メール認証を設定します。」とされているため、注意が必要です。
Gmailガイドラインに関しては以下の記事でより詳しく解説していますので参考にしてください。
関連記事:【解決策】2024年2月よりGmailガイドラインが変更!1日5000件以上の配信は対応必須!
メールのセキュリティに関心が高まっている昨今では、Gmail以外のメールクライアントも同様のガイドラインを発表することも想定されます。
そのため、DKIMをはじめとするドメイン認証技術を採用していない環境からのメール配信は、メールの到達率を下げるリスクを抱えていると言っても良いでしょう。
DKIMを設定するメリット
DKIMの設定には、以下のようなメリットがあります。
- 「なりすまし」と「改ざん」から自他を守ることができる
- ドメインの評価を上げられる
- メールの到達率の維持につながる
「なりすまし」と「改ざん」から自他を守ることができる
DKIMはメールの内容が改ざんされていないことを証明するため、送信者と受信者の両方を「なりすまし」や「改ざん」の被害から守ります。
例えば、フィッシングメールによって受信者が被害を受けることを防ぐことができます。なりすましなどの恐ろしい点は、配信元だけでなく受信者にも被害が及ぶところです。
企業のドメインになりすましたメールから、URLをクリックさせクレジットカードなどの個人情報を抜き取る手法による被害報告は後を絶ちません。
DKIMを活用することで配信元のドメインは正当性を証明できるため、受信側で受信ボックスに分類された時点でリスクの低いメールだと判断してもらうことができます。
ドメインの評価を上げられる
DKIMを設定することで、送信ドメインの正当性を証明し、なりすましのリスクを低減することができます。
これにより、受信者やメールサービスプロバイダーからの信頼が向上し、ドメインの評価を高めることができます。
メールはどんな内容を送っているかも重要ですが、「誰が送っているか」もそれと同等以上に重要な要素となっています。
メールの到達率の維持につながる
前項でも触れているようにDKIMの活用には到達率の面でもメリットがあります。
DKIMを設定することで、メールがスパムとして認識されるリスクを減らし、受信者の受信ボックスに到達しやすくなります。特に、GmailやYahoo!メール、Outlookなどの主要なメールプロバイダーは、DKIM署名が正しく設定されているメールを優先的に受信ボックスに振り分ける傾向があります。
DKIMを設定することには「なりすましなどのリスクを軽減することでドメインの評価を上げ、到達率を維持する」というメリットがある、と覚えておきましょう。
DKIMの確認方法
利用しているメールソフトでDKIMが設定されているかをチェックするには、以下の2つの方法があります。
- オンラインツール
- コマンドライン
オンラインツールを使う方法は、技術的な知識が少ない人でも簡単にDKIMの設定を確認できる利点があります。
一方で、コマンドラインを使う方法は、より詳細な情報を得られるメリットがありますが、一定の技術スキルが必要です。それぞれの方法について詳しく説明します。
オンラインツール
DKIMの設定が確認できるオンラインツールには、以下のようなものが挙げられます。
- MXToolBox
- DKIM Record Checker
- DKIMCore
どのツールを使用する場合でも「ドメイン」と「セクレタ情報」が必要です。
セレクタが分からない、もしくはセクレタが確認できない場合は、DKIMが設定されていない可能性があります。
「MXToolBox」を使う場合は、以下の手順でDKIMを確認できます。
- MXToolBoxのサイトにアクセス
- 入力バーの右側にある三角アイコンをクリック
- 「DKIM Lookup」または「DKIM Test」を選択
- ドメイン名とセクレタを入力
- 実行ボタンをクリック
コマンドライン
コマンドラインを使ったDKIMの確認は、ツールを使った方法と比較してより詳細な情報が得られるメリットがあります。
しかし、コマンドの入力のような専門的な要素が必要になるので、解説をよく読んで実行してみてください。
Mac・Linux
まずは「ターミナル」を開きます。
Macの場合は「Launchpad」にある検索バーに「ターミナル」と入力することで、アプリを表示できます。その後、以下のコマンドを入力します。
dig +short your_selector._domainkey.your_domain.com TXT
この際、「your_selector」には確認したいセレクタを、「your_domain.com」には自分のドメインを入力します。
windows
Windowsの場合は「コマンドプロンプト」を開きます。
コマンドプロンプトを開く方法はいくつかありますが、ログインユーザーの権限でアクセスする方法が一般的です。
- スタートボタンから「Windowsシステムツール」をクリック
- サブメニューにある「コマンドプロンプト」をクリック
入力するコマンドは以下の通りです。
nslookup -type=TXT your_selector._domainkey.your_domain.com
前項と同様に、セレクタとドメインネームはDKIMを確認したいメールアドレスのものに置き換えましょう。
利用しているメーラーでDKIMを確認する
受信したメールがDKIMに対応しているものかを確認する方法をメーラー別に解説します。
自身が使うメーラーやウェブメールのアカウントを複数持っている場合は、DKIMを確認したいメールアドレスからもう一方のアドレスに向けてメールを送信することでも確認できます。
Gmailでの確認
Gmailでは、以下の方法で受信したメールのDKIMが確認できます。
- DKIMを確認したいメールを開く
- 送信者アイコンの右側にある三角をクリック
上記の手順を行うと、送信者や送信日時と共に「送信元」と「署名元」と言う項目が表示されます。「送信元」と「署名元」はそれぞれSPFとDKIMに対応していることを意味しています。
さらに詳細を確認したい場合は、メール画面の右端にある3点リーダーをクリックすると、メッセージのソースを表示することができ、そこではDMARCの対応も確認できます。
SPF・DKIM・DMARC、それぞれの項目が「PASS」になっていれば、問題なく設定できています。
Yahoo!メールでの確認
Yahoo!メールでは、以下の方法で受信したメールのDKIMを確認できます。
- DKIMを確認したいメールを開く
- 「詳細ヘッダー」をクリック
Gmailとは文言が違い「発信元」が表示されていることで、DKIMに対応しているかが確認できます。
また、メールのヘッダーの「To」の下部に「認証」の項目があり、このメールの認証情報のリンクをクリックすると、SPF・DKIM・DMARCそれぞれの認証状況が確認できます。
Outlookでの確認
Outlookでは、以下の方法で受信したメールのDKIMが確認できます。
- DKIMを確認したいメールを開く
- 右側に表示される3点リーダーをクリック
- 「メッセージのソースを表示」をクリック
- ブラウザの検索機能(ctrl+F)に「dkimk=」と入力
上記の方法で「dkim=pass」と表示された場合は、DKIMの認証に成功しています。
DKIMの設定方法
GmailやOutlookなどのメールクライアントでは、設定によってDKIMを利用することが可能です。
例えば、GmailではGoogle Workspaceのアカウントを取得し、ドメインにTXTレコードとDKIM鍵を紐付けることで、DKIMを用いたメールの送受信が可能になります。TXTレコードはドメイン情報をDNSに登録する際に使用されるテキストレコードで、主にドメインの所有者を証明するために使われます。
Google Workspaceを使用していない場合や他のメールソフト(ウェブメール)を利用している場合は、オープンソースのDKIMを使用するのが一般的です。DKIMのオープンソースソフトウェアには「Rspamd」や「OpenDKIM」などがあります。今回はOpenDKIMの導入について簡単に解説します。
- EPELレポジトリのインストール:EPEL(Extra Packages for Enterprise Linux)レポジトリを追加します。
- OpenDKIMのインストール:EPELレポジトリからOpenDKIMをインストールします。
- キーペアの作成:秘密鍵と公開鍵のペアを作成します。
- DNSの設定:作成した公開鍵をDNSのTXTレコードに設定します。
これらの手順には専門的なコマンド入力などの作業が必要です。そのため、社内に技術的なリソースが不足している場合、オープンソースのDKIMを自力で設定するのは難しいかもしれません。その場合は、「メールリレーサービス」を活用して、自社のメールインフラを維持しつつDKIMなどのセキュリティ要件を整備することを検討すると良いでしょう。
より詳しいDKIMの設定方法については、以下の記事を参考にしてください。
関連記事:【図解】初めてでも腹落ち!DKIMの仕組みと設定方法
簡単にDKIMを設定した配信環境を整える方法
ここまでも解説してきたように、メールの送受信に関わるセキュリティは次第に厳しくなっており、DKIMを採用した上でのメール配信は標準的な規格として見なされています。GmailやOutlookなどの大手メールクライアントからの配信は、DKIMがデフォルトで認証されているケースが増えています。しかし、独自ドメインからの配信やメールインフラを内製した場合は、DKIMが設定されているか確認が必要です。
特にビジネスで利用しているドメインは、なりすましや改ざんの被害を受けることで、お客様に迷惑をかけるだけでなく、ブランドイメージの低下にもつながります。そのため、セキュリティを万全にしておくことが重要です。
メールリレーサービスの活用
ここまでの解説にもあるように、DKIMを設定していない環境でメールの送受信を行う場合は、様々なリスクを抱えてしまうことになります。
とは言え、DKIMの設定には専門的な技術を必要とすることから自力での設定が難しいケースもあることでしょう。
このような場合は、既存のメールインフラに変更を加えずにDKIMを設定したメール配信を可能にする「メールリレーサービス」を利用することがオススメです。
メールリレーサービスとは
メールリレーサービスは、自社のSMTPサーバーと受信サーバーの間で、大量配信や高速配信を可能にするSMTPサーバーを提供しているサービスのことです。このようなサーバーの中継方法は、使用されているプロトコルの名前から「SMTPリレー」とも呼ばれています。
メールリレーサービスで利用される中継サーバーは、メールの配信速度や効率を最適化するための様々な技術を備えており、メールのスパム判定を避けるための対策が施されています。
- 負荷分散と最適化
- スパムフィルター回避対策
- 送信制御とモニタリング
- 配信の最適化アルゴリズム
- レピュテーション管理
など、本来はエンジニアがやらなければいけない複雑な業務をすべてメールリレーサービスに任せることができるのは大きなメリットとなります。
メールリレーサービス「blastengine」の活用
blastengineは簡単にメールの大規模高速配信が可能なSMTPリレーサーバーを提供していますが、同時にメールサーバーを必要としない、APIでのメール送信の仕組みも提供しています。
サーバーの運用やメンテナンスはblastengineで行うため、常に高いIPレピュテーションを保って安全にメールを送ることができます。
また、導入社数24,000社、14年連続顧客導入数No.1の姉妹製品blastmailの技術力で構築した配信基盤で、各メールプロバイダ、携帯キャリアドメインへの最適化と大規模ネットワークを経由してメール配信を行い、日本国内への圧倒的な到達率を実現しています。
それでいて、月額3,000円から利用ができるためコストパフォーマンスも高く、メールだけでなく日本語での電話サポートにも対応しています。
メールアドレスの入力のみですぐにトライアルを始めることができますので、是非試してみてください。
まとめ
配信しているドメインでDKIMに対応しているかを確認する方法には、以下の2つがあります。
- オンラインツール
- コマンドライン
前者はより手軽にDKIMの確認ができ、後者はやや複雑な手順が必要ではあるものの詳細を確認することができます。
DKIMを採用した環境からのメール配信は「送信者ガイドライン」でも記載されているように、メールの送受信において標準的な規格になりつつあります。
そのため、DKIMを設定しない環境からのメール配信は、なりすましや改ざんのリスクを抱えるだけでなく、受信者側のセキュリティでスパムメールと判断される可能性が高くなるでしょう。
DKIMは自力で設定することも可能ですが「メールリレーサービス」を使うことで、簡単に高度な配信基盤を使った配信環境が実現できます。
本記事でご紹介している「ブラストエンジン」では、無料トライアル期間も実施しているため、興味がある方はぜひお試しください。