12時02分03秒 [ネット生活]
送信メールで偽物(なりすまし)警告を避けるには、DNSにSPFレコードを登録すると良い
詐称を疑う「このメールが本当にXXXから送信されたものであることを確認できませんでした」警告が出る場合
Gmailでメールを受信すると、メール本文の冒頭に黄色い枠で「このメールにはご注意ください」と題して、以下のような偽物メール(差出人を詐称したメール)を疑う警告が表示されることがあります。
Gmailでは、このメールが本当に example.com から送信されたものであることを確認できませんでした。メールに含まれるリンクのクリックや添付ファイルのダウンロード、または返信に個人情報を記載することは避けてください。
このような警告が表示されると、ちょっと身構えますよね。(※実際の表示例は下図の左端)
問題は、自分のメール(=自分が所有している独自ドメインを使ったメールアドレスで送信したメール)がGmailで受信されたときに、このような偽物(なりすまし)警告が表示されてしまう場合です。
警告が出るだけならまだしも、迷惑メールフォルダに自動分類されてしまうとなおさら困るでしょう。
この対策は(たぶん)簡単で、DNSにSPFレコードを登録するだけです。
レンタルサーバによっては、単にコントロールパネルから「SPFレコードを登録する」というチェックボックスにチェックを入れるだけで済むこともありますし、自力でDNSを編集しないといけない場合もあります。
以下は、その話です。
メールは元々差出人情報をいくらでも詐称できる仕様なので、詐称を見破る仕組みが必要
メールの差出人情報は、技術的にはいくらでも詐称できる仕様です。大手プロバイダ等だと、登録されたドメイン以外のメールアドレスが差出人に指定されているようなメールの送信を自動でブロックする仕組みが用意されていたりもしますが、そういう仕組みのないメールサーバもあります。そもそもメールサーバは自力で用意することもできるので、メールの仕組みが元々差出人を保障しない仕組みである以上、基本的には「送信者を偽った迷惑メールは送り放題」です。
ただ、そのままだと困るので、そんな詐称(なりすまし)を防ぐ1つの方法として『うちのドメイン example.com では、メールサーバ m.example1.ne.jp だけからしかメールを送信しませんよ』のような感じで、事前に送信元サーバを宣言しておく方法があります。
その宣言をできるのが、SPF(=Sender Policy Framework)という「送信元ドメインの認証技術」です。
自分のドメインで使用するメールサーバを固定しておいて、その事実を公表しておくことで、受信したメールが正規のメールなのかどうかの判断材料にしてもらおう、という仕組みです。
▼SPFレコードが登録されていると
例えば、独自ドメイン example.com を所有しているとき、そのDNSにSPFレコードを加えて「このドメインからはメールサーバAのみを使ってメールを送信する」のようなことを示しておくと、『 ~@example.com が差出人のメールは、メールサーバAだけから送信されてくるハズだ』ということが分かるようになります。
その結果、
- メールサーバAから送られてきた「差出人が ~@example.com のメール」は、本物らしいと判断できる。
- メールサーバA以外から送られてきた「差出人が ~@example.com のメール」は、偽物だと判断できる。
……というような2つの真贋判断ができるようになります。
逆に言うと、このようなSPFレコードがDNSに登録されていなければ『差出人が ~@example.com のメールの真贋を判断できない』ということになります(※1)。
それが冒頭で述べた、「このメールが本当にXXXから送信されたものであることを確認できませんでした」という警告に繋がります(※2)。
※1:これは若干言い過ぎで、他にも真贋の判断に使える認証技術はありますが、ここでは個人向けレンタルサーバで独自ドメインを使っている個人が簡単に実施できる選択肢として、SPFを登録する方法を解説しています。
※2:SPFレコードがなければ絶対にその偽物(なりすまし)警告が出るのかどうかは分かりませんが。
▼Googleも公式ヘルプでSPFを使えと言っている
Googleの公式ヘルプサイト内にも「SPF を使用してなりすましと迷惑メールを防止する」というページがあって、以下のようにSPFを使うよう書かれています。
SPFは、ドメインから送信したメールが迷惑メールに分類されるのを防ぐのに効果的です。送信側のドメインで SPFを導入していない場合、受信側のメールサーバーでは、そのドメインからのメールの正当性を確認できません。
SPFがなければ、正当なメールであるにもかかわらず、受信者の迷惑メールフォルダに振り分けられたり拒否されたりする可能性があります。
SPFレコードがないだけで、即「迷惑メールである」みたいな判定がされるわけではないでしょうけども、上記の通り判断材料の1つとしては使われているようです。なので、SPFレコードの登録がなければ迷惑メールだと誤判定される確率が高まる、くらいには言えるかもしれません。
DNSにSPFレコードを登録する方法
独自ドメインはたいてい何らかのレンタルサーバで利用しているでしょう。そのレンタルサーバのヘルプで、SPFレコードの登録方法を探してみて下さい。
ここでは、個人向けレンタルサーバの例として「さくらインターネット」と「ロリポップ」の2つについて、具体的な操作方法を解説します。
▼さくらインターネットでDNSにSPFレコードを登録する方法
さくらインターネットでDNSにSPFレコードを登録するのはチョー簡単で、単にコントロールパネルから『SPFレコードの使用』という項目にある「使用する」チェックボックスをONにして保存するだけです。
ワンクリックで簡単ですが、デフォルトではOFFなので、自らの意思でチェックを入れてONにする必要があります。
(▲コントロールパネルTOP→「ドメイン/SSL」→望みのドメインの「設定」ボタンで設定画面を出し、下方向にスクロールすると『メール機能利用時のドメイン設定』という区画内にあります。)
めちゃくちゃ簡単ですし、さくらインターネット側が画面イメージ付きの詳しいヘルプを用意していますので、具体的な操作手順はそのヘルプページ「SPFレコードを設定したい」もどうぞ。
▼ロリポップでDNSにSPFレコードを登録する方法
ロリポップでDNSにSPFレコードを登録する方法は、DNSに何を使っているかによって異なります。公式ヘルプは「SPFの仕組みとSPFレコードの設定方法について解説します」にありますので、そちらもどうぞ。SPFの仕組みについても詳しく説明されています。
ロリポップで独自ドメインを利用している場合、たいていドメイン自体はムームードメインを使って管理されているのではないかと思います。
以下は、独自ドメインをムームードメインで管理している(=ムームーDNSを使っている)場合の話です。それ以外のケースは、先の公式ヘルプをご参照下さい。
▼ムームーDNSにアクセス
まず、ムームードメインのコントロールパネルにログインして下さい(ロリポップのコントロールパネルではなく)。コントロールパネルTOPの左側に見えるメニューから「ムームーDNS」をクリックします。(下図の水色矢印)
▼SPFレコードを登録したいドメインを選択
▼任意のレコードを登録できる欄を探す
▼ロリポップ側が指定しているSPFレコードをコピー&ペーストする
ここに、ロリポップ側が指定している記述を書き加えます。(以下にも書く内容を記しておきますが、情報は変わっている可能性もありますから、ロリポップ側のヘルプを先に参照して下さい。)
- 「種別」欄は『TXT』を選択。(下図左側の水色矢印)
- 「内容」欄には
v=spf1 include:_spf.lolipop.jp ~all
を記述。(下図右側の水色矢印) - 「サブドメイン」欄と「優先度」欄は空欄のまま。
※上図では、Google Site Verificationの記述が既に書かれていますが、そこはSPFレコードとは関係ないので気にしないで下さい。お使いのドメインによっては他にも何か情報が登録されている場合もあります。「セットアップ情報変更」ボタンをクリック
入力できたら「セットアップ情報変更」ボタンをクリックします(先程の図の緑色矢印部分)。確認ダイアログが出ますから「OK」ボタンをクリックします。処理が終わるまで数秒かかるので待ち、「正常に終了しました」と表示されたらさらに「OK」をクリックします。
完了
手順は以上です。
ムームードメイン側でもDNS編集のヘルプが用意されていますので、「ムームーDNSカスタム設定」も併せてご参照下さい。
※ムームーDNSではなく、ロリポップのDNSを使っている場合には、最初からSPFレコードが登録されているっぽいです。ただ、設定時期が古い場合には設定されていないケースもあるようで、その際はサポートに登録を依頼するようヘルプに書かれていました。
新たにドメインを用意したら、最初の設定でSPFレコードも登録しておくのが吉
独自ドメインを新たに取得したら、そのドメインを使ってサーバ上のどのディレクトリにアクセスさせるのか、みたいな各種設定をしますよね。そのついでに、SPFレコードの登録も済ませておくようにすると望ましいでしょう。SPFレコードは、登録されていて困ることはないでしょうし。
なお、SPFレコードを登録した後、SPFレコードの存在がすぐに確認されるのかどうかは分かりませんので、もしかしたら設定後1日くらい様子を見る必要があるかもしれません。