DNS SPFレコードとは何か?

さくらレンタルサーバーのサービスはDNSの「SPFレコード」に対応しています。

そこで今回はレンタルサーバーで今後対応が当たり前になる「SPFレコード」について詳しく解説をします。

 

タマちゃん
SPFレコードってなに?
山ちゃん
レンタルサーバーの機能でたまに「SPFレコード」の単語が出てくるけどなんだろうね?

SPFレコードとは何か?

SPFとは「Sender Policy Framework(送信者ポリシーフレームワーク)」です。

SPFは送信者(送信元メールアドレス)のドメインの詐称を防ぐための認証の仕組みです。

 

例えば、本来のメールアドレスは「dckleclekjsadad@ckjaakndsaiwe.xyz」などプログラムがランダムに作成したようなメールアドレスですが、送信元ドメインを偽装することで「keiri@japan-commercial.com」などのようにいかもに存在していそうなドメインに見せることができます。

(もちろん「dckleclekjsadad@ckjaakndsaiwe.xyz」より「keiri@japan-commercial.com」の方がメール開封率は上がります)

 

タマちゃん
メールアドレスが「dckleclekjsadad@ckjaakndsaiwe.xyz」だよ。怪しいよね。
山ちゃん
怪しいメールを開いちゃだめだよ。
タマちゃん
これは「keiri@japan-commercial.com」だからちゃんとした会社だよね。
山ちゃん
そうだよね。

 

このように偽装されると信用してしまいますが、SPFレコードを使うことで送信者のメールアドレスが他のドメイン名になりすましていないか検出することができます。

SMTPプロトコルは送信元を偽装できる仕様

相変わらず迷惑メールが多いですが、なぜここまで迷惑メールが多いのかというと SMTP プロトコルの仕様に原因がありました。

 

SMTPプロトコルでは送信者のメールアドレスが2つ使われます。

1.メールのFromヘッダーに表示されるメールアドレス

2.MAIL FROMコマンドの引数となるメールアドレス

そのため、「受信者の目で見える送信元のメールアドレス」と「実際に送った送信者のメール」が異なっていても問題なくメールが送信できます。

人間は送信元メールアドレスを見て信頼する

例えば、ここ最近「標的型攻撃メール」による被害が発生しています。

記憶に新しいところでは2015年5月「日本年金機構」が標的型攻撃メールの被害に遭い、125万人の個人情報が漏えいされました。

 

具体的に言うと、標的型攻撃メールは特定企業の特定部署宛(例えば株式会社●●の人事部や経理部など実在するような部署名)にスパムメール(迷惑メール)を送ってきて、「添付ファイルを今すぐ開封するよう」「URLを今すぐクリックするよう」促します。

 

添付ファイルを開封したり、URLをクリックした瞬間にウィルス感染したり、情報がインターネット上に流出してしまいます。

 

しかもこのような標的型攻撃メールを送る送信者は、送信元をそれらしい組織名(特定社団法人●●の理事の●●など)で、その組織のそれらしいメールアドレス(account@japan-local-community.orgなど)で詐称して送信してきたりすることもあります。

 

存在するかのような組織名とメールアドレスとメール文言を見て信頼して添付ファイルを開いたり、URLをクリックしてしまうだろうことは想像できます。

 

実際人間は

  • 送信元メールアドレス
  • 送信先メールアドレス
  • 件名

を確認して信頼できるメールかどうかを判断します。

しかし送信元を偽装することでメール受信者を信頼させ、添付ファイルを開いたりURLをクリックさせることができます。

簡単にメール送信元を偽装できてしまう、これがスパムメール・迷惑メールの被害が後を絶たない原因になっています。

SPFレコードを利用することで偽装できなくなる仕組み

SPFレコードを利用することで送信元メールアドレスが偽装できなくなります。

その「仕組み」を説明します。

SMTPプロトコルは仕様上、送信者になりすますことが可能です。

そこで、メール送信者はあらかじめ送信元のIPアドレスをDNSのサーバーに登録しておきます。

受信者は実際に受け取ったIPアドレスがDNSサーバーに登録されているかを確認し、正規のIPアドレスから送信されたかを確認します。

 

つまりメールを受信した相手が、メール送信元が信頼できるかをSPFレコードでチェックできます。

もしSPFレコードをチェックして、DNSサーバーに登録されていなかった場合は、偽装している可能性があるためメールの受信を拒否したり、迷惑メールフォルダに振り分けるなど対策をすることができます。

 

SPFレコードの書き方

SPFレコードの書き方ですが、

  • SPF RR
  • TXT RR

の2つの書き方があります。

なぜ2つの書き方があるのかと言いますと、本来SPFレコードを使用するのが標準ですが、SPFレコードに対応している新しいリゾルバが少ないため、「SPF RR」でも「TXT RR」でも利用できるようになっています。

優先度は「SPF RR」の方が優先度が高く、「SPF RR」「TXT RR」の両方が存在しているなら「SPF RR」のレコードが読まれます。

SPFレコードに対応していないリゾルバの場合は「TXT RR」に従います。

 

tama-chan.com.  IN TXT "v=spf1 ip4:123.123.123.123 -all"
tama-chan.com.  IN SPF "v=spf1 ip4:123.123.123.123 -all"

上記のSPFレコードはSMTPサーバーのIPアドレスが「123.123.123.123」がメールアドレスのドメイン「tama-chan.com」のメールを送信しますよということをレコードにしています。

 

SPFレコードのチェックを「送信ドメイン認証」と呼んでいる

SPFレコードによるチェックを「送信ドメイン認証」と呼ぶことがあります。

「認証」と呼ぶと何やら「アカウント」と「パスワード」で正規のアカウントかどうかを認証しているようなイメージがあると思いますが、単純に「SPFレコードのIPアドレス」と「送信元メールサーバーのIPアドレス」が同じかどうかを確認しているだけです。

 

送信元メールアドレスの詐称を防止する主要な方法3つ

送信元メールアドレスの詐称を防止するための方法は

  • SPF
  • DKIM
  • Sender ID

などがあります。

 

SPFは「RFC4408」で標準化されています。

https://www.ietf.org/rfc/rfc4408.txt

日本語への翻訳版

http://salt.iajapan.org/wpmu/anti_spam/admin/tech/rfc/rfc4408/page-1/

 

まとめ

DNSサーバー(ネームサーバー)のSPFレコードと聞くと何やら難しいイメージがありますが、図解だと分かりやすく単純な仕組みだと感じたと思います。

 

参考にさせていただいたサイト

一般財団法人インターネット協会

SPF(Sender Policy Framework)

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

コメントを残す

メールアドレスが公開されることはありません。