ネット上では「なりすましメール」というものが今でも多くはびこっています。これはいわゆるサイバー攻撃の類で、あたかも自分ではない別の人間になりすまし、メールを送りそれを開封した相手の受信者サーバのデータを奪ったり、ウイルスをばらまいたりするとても姑息なやり口です。
アメリカのFireEyeというセキュリティー会社の調査によると、自社でサイバー攻撃を受けている、もしくは受けていたという事実を確認できた企業が2012年37%あったのに対し、2014年には31%と減少している一方で、企業のIT部門だと偽ったなりすましメールの使用状況は2013年の44%から2014年には78%と大幅に増加しております。
「こんなの異国の話」と思っていませんか? 最近では東京商工会議所がなりすましメールによって情報漏えいの被害を受けるなど、日本でもなりすましの被害が増加しています。
今回はなりすまし対策に役立つSPF・DKIM・DMARCについて分かりやすく解説していきます。
解説動画も用意していますので、音声付きで学びたい方は以下の動画をご覧ください。
目次
SPF(エス・ピー・エフ)とは?
-到達率を上げるために、なりすましメールを未然に防いでくれるセキュリティー
いきなり、アルファベット3文字が出てきましたね。決して、夏の日差しから素肌を守ってくれるあれではありません。
その説明は後でゆっくりするとして、なりすましメールを根絶できない理由は何だと思いますか?それはメールでは送信アドレスを自由に設定できるということが要因の一つに挙げられます。
これにより、ある会社のドメインを無断で使用してアドレスを作成されてしまうと、企業とは全く無関係の送信者があたかも社員になりすまして嘘のメールを送信することができるのです。・・・こんな事実を知ったら恐ろしくて、メールを開封するのもためらってしまいますね。
このような環境下で正しくメールを利用している人を無防備にさせないためのバリアとしてSPFという技術があります。
メール配信業界やITに携わっていないとあまりなじみのないこの言葉はSender Policy Frameworkの頭文字を並べたもの。ますますよくわからなくなってきますのでこれがどう作用するものなのかご紹介します。
まずメール送信者の身元を確認するには送信側、受信側で互いに行うことがあり、その内容はそれぞれ異なります。
メール送信者はメールを送信時に、IPアドレスやサーバ情報などを受信者のメーラーへ渡します。そして受信者は提示されたこれらの情報を照合、確認します。最終的にこのメール送信者が怪しくないと受信者側が判断すると初めてメールの受信が行われます。
その時送信者から提示された情報が正確かどうか、どうやって調べると思いますか?
身元を照会するにはそれを照会するデーターベースがないとできませんよね。
送信者がSPF情報を照合させるサーバ(DNSサーバと言います)に記述しておくことで、証明(本人確認)が可能になるのです。
送信されたメールのログが残っていれば送られるメールのドメインは本当にそこから配信されたものだと裏付けがされますね。
そうでなければ部外者からのなりすましメールだと判断ができ、メールをブロックすることができるのです。
言ってみればパスポートを持ったメール送信者が空港の税関(メール受信者)でチェックを受けている様な感じです。
SPFレコードの作成と設定
ではメール送信者が行うべきSPF情報をサーバに書き込む方法をご説明します。
1.メールの設定を作成する
SPF情報には様々あり、例えば、○○からの送信を一切行わない設定、○○の情報が含まれているもののみ送信を行う設定等あります。
SPFレコードには「バージョン、空白、定義」という記述時の形式が存在します。
要するにこの形式に則ったSPFレコードをサーバに記載すればいいのです。
2.SPFレコードを書こう!
SPFレコードには決まりがあります。必ずバージョンというものからスタートし、このバージョンは「v=spf1」という形で表されます。これに続く記述次第で、送信メールをどう処理するのかが決まるということです。
例えば以下のようなSPFレコードがあるとします。
“v=spf1 a mx include:bmsend.com ~all”
この場合SPFレコードは 「v=spf1」「a」「mx」「include」「bmsend.com」「~」「all」に分けてみることができます。各定義の意味は以下の通りです。
「v=spf1」=バージョン ※こちらはSPFレコード作成時固定となる部分です。
「a」=対象となるドメイン名に与えられた*FQDNのAレコードにマッチします。
*ホスト情報(www等)とドメイン情報(bmsend.com等)の情報を揃えたもの(アドレス)
「mx」=指定されたドメイン名のMXレコードにリストされているホストのAレコードと比較します。
「include」=引数に与えられたドメインのSPFレコードを使って認証処理を実施するもの。
「bmsend.com」=対象となるドメイン名
「~」=認証情報を公開しているが、正当なメールであっても認証失敗する可能性もある
「all」=すべての送信元ホストにマッチする。
と言う形になります。
あとは作成したSPFレコードを送信者のDNSサーバに書き加えれば設定が完了します。
SPFについての詳細はこちらをご参照ください。
DKIM(ディー・ケー・アイ・エム)とは?
送信者の署名情報をチェックするDKIM
実はこちらもSPF同様にドメイン認証系のセキュリティー技術の一つなのですが、SPFはメール送信者のサーバに照会してIPアドレスをチェックするのに対し、DKIMは送信メールのヘッダーに記載される電子署名情報、実際のメール内容をチェックします。
あれ、では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のセキュリティー網をかいくぐってきたメールたちに最終的な裁きを下すことができます。
いかがでしたでしょうか?メール配信には欠かせないセキュリティーシステム。相互間で情報のやり取りをする以上、守られるべき情報がきちんと守られるためにドメイン管理を行うSPF、DKIM、DMARCがあることを頭の片隅で留めてくだされば幸いです。
なぜならこれらはあなたに代わって常にメールをチェックし、なりすましからの被害を食い止めるため日々戦ってくれているからです。
*本記事は、2016年7月に公開した記事をアップデートしたものです。
(関連記事)
米国Kickbox社が語る(1)メール到達率を守るための基本の仕組みと最新動向
自社ドメインの信頼性を守るために、メーリングリストは初めての配信前にチェックしよう!
メルマガ平均開封率レポート【最新版】