これでばっちり、メールセキュリティー三銃士 ~メールの到達率を上げるSPF、DKIM、DMARC~

所要時間 1 便利ツール

ネット上では「なりすましメール」というものが今でも多くはびこっています。これはいわゆるサイバー攻撃の類で、あたかも自分ではない別の人間になりすまし、メールを送りそれを開封した相手の受信者サーバのデータを奪ったり、ウイルスをばらまいたりするとても姑息なやり口です。

アメリカのFireEyeというセキュリティー会社の調査によると、自社でサイバー攻撃を受けている、もしくは受けていたという事実を確認できた企業が2012年37%あったのに対し、2014年には31%と減少している一方で、企業のIT部門だと偽ったなりすましメールの使用状況は2013年の44%から2014年には78%と大幅に増加しております。

「こんなの異国の話」と思っていませんか? 最近では東京商工会議所がなりすましメールによって情報漏えいの被害を受けるなど、日本でもなりすましの被害が増加しています。

SPF(エス・ピー・エフ)とは?
-到達率を上げるために、なりすましメールを未然に防いでくれるセキュリティー

いきなり、アルファベット3文字が出てきましたね。決して、夏の日差しから素肌を守ってくれるあれではありません。

その説明は後でゆっくりするとして、なりすましメールを根絶できない理由は何だと思いますか?それはメールでは送信アドレスを自由に設定できるということが要因の一つに挙げられます。

これにより、ある会社のドメインを無断で使用してアドレスを作成されてしまうと、企業とは全く無関係の送信者があたかも社員になりすまして嘘のメールを送信することができるのです。・・・こんな事実を知ったら恐ろしくて、メールを開封するのもためらってしまいますね。

このような環境下で正しくメールを利用している人を無防備にさせないためのバリアとしてSPFという技術があります。

メール配信業界やITに携わっていないとあまりなじみのないこの言葉はSender Policy Frameworkの頭文字を並べたもの。ますますよくわからなくなってきますのでこれがどう作用するものなのかご紹介します。

まずメール送信者の身元を確認するには送信側、受信側で互いに行うことがあり、その内容はそれぞれ異なります。

メール送信者はメールを送信時に、IPアドレスやサーバ情報などを受信者のメーラーへ渡します。そして受信者は提示されたこれらの情報を照合、確認します。最終的にこのメール送信者が怪しくないと受信者側が判断すると初めてメールの受信が行われます。

その時送信者から提示された情報が正確かどうか、どうやって調べると思いますか?
身元を照会するにはそれを照会するデーターベースがないとできませんよね。
送信者がSPF情報を照合させるサーバ(DNSサーバと言います)に記述しておくことで、証明(本人確認)が可能になるのです。

送信されたメールのログが残っていれば送られるメールのドメインは本当にそこから配信されたものだと裏付けがされますね。

そうでなければ部外者からのなりすましメールだと判断ができ、メールをブロックすることができるのです。

言ってみればパスポートを持ったメール送信者が空港の税関(メール受信者)でチェックを受けている様な感じです。

SPFレコードの作成と設定

ではメール送信者が行うべきSPF情報をサーバに書き込む方法をご説明します。

1.メールの設定を作成する

SPF情報には様々あり、例えば、○○からの送信を一切行わない設定、○○の情報が含まれているもののみ送信を行う設定等あります。

SPFレコードには「バージョン、空白、定義」という記述時の形式が存在します。
要するにこの形式に則ったSPFレコードをサーバに記載すればいいのです。

2.SPFレコードを書こう!

SPFレコードには決まりがあります。必ずバージョンというものからスタートし、このバージョンは「v=spf1」という形で表されます。これに続く記述次第で、送信メールをどう処理するのかが決まるということです。

例えばBenchmark Emailではお客様がSPFレコードの記述を希望された場合、以下の様なSPFレコードをご提供しております。

“v=spf1 a mx include:bmsend.com ~all”

この場合SPFレコードは 「v=spf1」「a」「mx」「include」「bmesend.com」「~」「all」に分けてみることができます。各定義の意味は以下の通りです。

「v=spf1」=バージョン ※こちらはSPFレコード作成時固定となる部分です。

「a」=対象となるドメイン名に与えられた*FQDNのAレコードにマッチします。
*ホスト情報(www等)とドメイン情報(bmesend.com等)の情報を揃えたもの(アドレス)

「mx」=指定されたドメイン名のMXレコードにリストされているホストのAレコードと比較します。

「include」=引数に与えられたドメインのSPFレコードを使って認証処理を実施するもの。

「bmesend.com」=対象となるドメイン名

「~」=認証情報を公開しているが、正当なメールであっても認証失敗する可能性もある

「all」=すべての送信元ホストにマッチする。

と言う形になります。
あとは作成したSPFレコードを送信者のDNSサーバに書き加えれば設定が完了します。

SPF記述についての詳細をもっと知りたい場合はこちら(外部リンク)

DKIM(ディー・ケー・アイ・エム)とは?
送信者の署名情報をチェックするDKIM

実はこちらもSPF同様にドメイン認証系のセキュリティー技術の一つなのですが、SPFはメール送信者のサーバに照会してチェックするのに対し、DKIMは送信メールのヘッダーに記載される電子署名情報、実際のメール内容をチェックします。

あれ、ではDKIMだけあればいいんじゃないの?と思うかもしれませんが、これらはお互いを補完する関係にあり、防壁を二重、三重にしておけばそれだけ安全性が高まりますよね。

DMARC(ディー・マーク)とは?
最終判断を下すことができるメールにおける最高裁判所、DMARC

先ほどのDKIMと似たようなビジュアルをしてますが、DMARCもやはりドメインをチェック対象としたなりすましメール防犯システムの一つです。

DMARC(Domain-based Message Authentication, Reporting and Conformance)を採用することで、送信元ドメインに対して、メール受信者がDKIMとSPFに関する送信ドメイン認証の結果を通知することができる仕組みです。

ややこしいですよね、どういうことかと言うとDMARCは前者のDKIMとSPF技術を使った認証で、十分な確認ができなかった場合、そのメールを受信者が最終的にどう処理するのか、という判断をするシステムです。(言ってみれば最高裁の様な役割を示していることになります)

ここから詳しい説明に入りますが、DMARCにはメールの行方を決めるのに3つの選択を設定することができます。
none (何もしない)- 文字通り、何もしません。該当メールを毎日のレポートに記録するだけです。
quarantine (隔離)- 該当メールに迷惑メールのマークを付けます。
reject (拒否)- メール受信を行いません。

これを設定することでDKIMやSPFのセキュリティー網をかいくぐってきたメールたちに最終的な裁きを下すことができます。

因みにBenchmark Emailの様なメール配信システムではメールの配信に自社サーバを利用しているので、DMARCの設定を必要としておりません。自身のサーバに直接DKIMやSPFを書き込み、このサーバから配信していることを証明しているので身元がはっきりと受信者に見えているということになります。

いかがでしたでしょうか?メール配信には欠かせないセキュリティーシステム。相互間で情報のやり取りをする以上、守られるべき情報がきちんと守られるためにドメイン管理を行うSPF、DKIM、DMARCがあることを頭の片隅で留めてくだされば幸いです。

なぜならこれらはあなたに代わって常にメールをチェックし、なりすましからの被害を食い止めるため日々戦ってくれているからです。

よりスマートな方法で顧客関係の構築を

Benchmarkではより実用的なメールマーケティングを提案しています。購読者との関係を築くことで売上や顧客満足度の向上を達成しましょう。