ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
メールのなりすましを防ぐ「SPF(Sender Policy Framework)」という技術を導入したのでそのメモです。
今回はスパマー(スパムメールを送る業者)に自分のドメイン名を使われてスパムメールを送られることを「ある程度」防ぐことをやってみます。つまりなりすまされることをある程度防ぐ仕組みです。
Fromアドレスは簡単に書き換えられます。
メールを送られたメール受信サーバがSPFに対応していればメールアドレスのドメイン名からそのドメインに対して問合せを行い、正規のIPアドレスから送られてきたのかチェックする仕組みです。
その為、相手のメールサーバがSPFに対応している必要があります。(その為「ある程度」防ぐことができると書いています。受信メールサーバがSPFに対応していなければチェックがかかりませんので)
SPFレコードの設定
DNSのzoneファイルに以下のように記述します。
IN A 218.45.184.224 IN NS ns.kamata-net.com. IN MX 10 mail.kamata-net.com. IN TXT "v=spf1 ip4:218.45.184.224 -all"
個人であれば固定IPと言っても一つしかないでしょうから上記の設定で問題ありません。
確認
チェックしてみましょう。
以下のサイトがチェックツールを提供していますので利用させてもらいます。
Sendmail - SPFレコードチェック
スパマーがgoogleのメールサーバを踏み台にしてFrom: spam@kamata-net.comというスパムメールを送ったとしましょう。
スパムメール受信サーバがSPFに対応している場合、こちらのDNSサーバに問合せが来ます。その際にどのように動作するのか受信側の動作になります。
> set type=mx
> google.com.
Server: 192.168.00.xxx
Address: 192.168.00.xxx#53Non-authoritative answer:
google.com mail exchanger = 40 alt3.aspmx.l.google.com.
google.com mail exchanger = 50 alt4.aspmx.l.google.com.
google.com mail exchanger = 10 aspmx.l.google.com.
google.com mail exchanger = 20 alt1.aspmx.l.google.com.
google.com mail exchanger = 30 alt2.aspmx.l.google.com.
ということですので
ホスト名またはIPアドレス:alt3.aspmx.l.google.com
送信者メールアドレス: spam@kamata-net.com
でチェックしてみます。
Received-SPF: fail となっていますので成功です。
メールを送らないドメインについては以下のように記述して防御しましょう。
IN A 218.45.184.224 IN NS ns.kamata-net.jp. IN TXT "v=spf1 -all"
記事はここまで。