メールサーバーをリレーで配送する場合、リレーの仕組み上はpostfixなどのメールサーバーの設定だけでOKですが、最新のなりすましメールというかヘッダ情報を巧妙にいじって送るスパムメールが横行しているため、ヘッダ情報だけでは白か黒かの判別がつかなくなりました。
スパムフィルターは確かにある意味で有効ですが、白か黒かの判断が完全にできるわけではありませんね。その欠点を補う為に、既存のシステムの機能を利用して、送信元のドメインと経由してきたメールサーバーの関係でこの問題を解決しようというのがDNSのTXTレコードを使ったドメインの認証システムです。
DNSは、ドメインの根幹にある技術なので、なかなか難しい印象がありますが、しっかり調べて正しい情報を吸収すれば、難しくなんてないです。結構中途半端な理解で書いてるブログもありますからね・・・。たくさんのブログを読んで、話の真贋がわかるようになれば、きっと理解できているでしょう。
このページの内容が白か黒かはアナタが感じてくださいww
さて、今回はメールに関わるDNSでは比較的新しめの技術、TXTレコードによるドメインの認証(ちょっとニュアンスは違うかもしれない)について書きます。
MXレコードは、受信する際にメールサーバーのIPアドレスを示すためのものです。
TXTレコードに記載する、SPFというのは、送信する際に、そのメールがスパムではない事を証明する情報です。
スパムメールが存在しなければ、今からの話は必要ないわけですが、もう存在してしまっている以上、仕方ないですね。
gmailなんかは、メールを受信したら、送信元メールアドレスに記載されたドメインのネームサーバーへ問い合わせをするようです。その際に、TXTレコードにSPFに記載があれば、その記載に基づいて受信したメールがスパムなのかそうではないのかを判断します。
スパムと判断されたメールには「Received-SPF」というヘッダに良くないステータスが付けられます。
すると、なんという事でしょう!
FailとかErrorとか付けられた日にゃ、迷惑メールフォルダに格納されてしまうわけですよ。
こりゃ参った。
と、諦めるわけにはいかないのが土方エンジニアの辛いところですが、話はとてもシンプルで、SPFの設定さえちゃんとすれば、メールは受信トレイに入れてやるよと暗に言ってくれているだけに、理由もなく(無くはないだろうがわからない)defferedで差し戻すyahooメールよりは親切ですね。
ちゃんと設定してあるSPFとはどういうものでしょう?
まずは設定済のTXTレコードを拝借してきたのでサンプルとしてみてみましょう。
これは私が常用しているGTDツール、「remember the milk」のDNSから引っ張ってきたものです。
いきなりちょっと長めなもので困ってしまう方もおられそうですが、ざっくり説明するにはなかなかいい内容だったのでこのまま続けようと思います。
スペースで設定を分割しているので、スペース毎に内容を見てみます。
かっこの中に書いたのは本来の形で、先頭の「+」が省略されているからです。
これを組み合わせれば、だいたいの設定はできるんじゃないでしょうか。
以上が「rememberthemilk.com」ドメインのメールアドレスに対するSPFの設定でした。
1台のサーバーでメール受信と配信を行う場合は、「v=spf1 a mx ~all」とこれだけで事足ります。ただし、正しくAレコードとMXレコードが設定されている事が大前提ですが。
リレー用のSMTPサーバーを追加した場合は、+a:、もしくはip4:でサーバーを追加するようにすればOK、という事ですね。
ちなみに、先頭の「+」、「~」はそれ以外にも記号があります。
それをまとめると、以下のような感じになります。
以上が簡単なクオリファイアの説明でした。クオリファイアは記号の呼び名みたいなもんです。
結局のところ、全てのサーバーがSPFをチェックしてメール配送をやってるかというとそうではないですし、最後を「~all」にすると、なんだかんだでちゃんと配送されることが多いのですが、メールヘッダをチェックして、「Received-SPF: softfail」となっていたらちゃんとパスできるように設定したほうがいいってことでした。
スパムフィルターは確かにある意味で有効ですが、白か黒かの判断が完全にできるわけではありませんね。その欠点を補う為に、既存のシステムの機能を利用して、送信元のドメインと経由してきたメールサーバーの関係でこの問題を解決しようというのがDNSのTXTレコードを使ったドメインの認証システムです。
DNSは、ドメインの根幹にある技術なので、なかなか難しい印象がありますが、しっかり調べて正しい情報を吸収すれば、難しくなんてないです。結構中途半端な理解で書いてるブログもありますからね・・・。たくさんのブログを読んで、話の真贋がわかるようになれば、きっと理解できているでしょう。
このページの内容が白か黒かはアナタが感じてくださいww
さて、今回はメールに関わるDNSでは比較的新しめの技術、TXTレコードによるドメインの認証(ちょっとニュアンスは違うかもしれない)について書きます。
MXレコードは、受信する際にメールサーバーのIPアドレスを示すためのものです。
TXTレコードに記載する、SPFというのは、送信する際に、そのメールがスパムではない事を証明する情報です。
スパムメールが存在しなければ、今からの話は必要ないわけですが、もう存在してしまっている以上、仕方ないですね。
gmailなんかは、メールを受信したら、送信元メールアドレスに記載されたドメインのネームサーバーへ問い合わせをするようです。その際に、TXTレコードにSPFに記載があれば、その記載に基づいて受信したメールがスパムなのかそうではないのかを判断します。
スパムと判断されたメールには「Received-SPF」というヘッダに良くないステータスが付けられます。
すると、なんという事でしょう!
FailとかErrorとか付けられた日にゃ、迷惑メールフォルダに格納されてしまうわけですよ。
こりゃ参った。
と、諦めるわけにはいかないのが土方エンジニアの辛いところですが、話はとてもシンプルで、SPFの設定さえちゃんとすれば、メールは受信トレイに入れてやるよと暗に言ってくれているだけに、理由もなく(無くはないだろうがわからない)defferedで差し戻すyahooメールよりは親切ですね。
ちゃんと設定してあるSPFとはどういうものでしょう?
まずは設定済のTXTレコードを拝借してきたのでサンプルとしてみてみましょう。
v=spf1 a mx ptr a:rmilk.com ip4:67.228.247.35 ip4:74.86.143.220 ip4:174.37.68.34 ip4:74.86.221.34 ip4:74.86.221.35 ip4:74.86.221.36 ip4:173.192.30.96/29 ip4:50.23.241.224/29 ip4:50.97.76.104 ~all
これは私が常用しているGTDツール、「remember the milk」のDNSから引っ張ってきたものです。
いきなりちょっと長めなもので困ってしまう方もおられそうですが、ざっくり説明するにはなかなかいい内容だったのでこのまま続けようと思います。
スペースで設定を分割しているので、スペース毎に内容を見てみます。
- v=spf1
- このフレーズでspfのバージョンを指定しています。この記述ではSPFのバージョン1だという事になります。
- a(+a)
- aレコードのアドレスからはOKとします
- mx(+mx)
- MXレコードのアドレスからはOKとします
- ptr(+ptr)
- ptrレコードのドメインからはOKとします
- a:rmilk.com(+a:rmilk.com)
- rmilk.comのアドレスからはOKとします
- ip4:67.228.247.35(+ip4:67.228.247.35)
- 67.228.247.35からはOKとします
- ip4:173.192.30.96/29(+ip4:173.192.30.96/29)
- 173.192.30.96のサブネットマスク255.255.255.248の範囲でOKとします
- ~all
- 上記に当てはまらないものはsoftfailとします
かっこの中に書いたのは本来の形で、先頭の「+」が省略されているからです。
これを組み合わせれば、だいたいの設定はできるんじゃないでしょうか。
以上が「rememberthemilk.com」ドメインのメールアドレスに対するSPFの設定でした。
1台のサーバーでメール受信と配信を行う場合は、「v=spf1 a mx ~all」とこれだけで事足ります。ただし、正しくAレコードとMXレコードが設定されている事が大前提ですが。
リレー用のSMTPサーバーを追加した場合は、+a:、もしくはip4:でサーバーを追加するようにすればOK、という事ですね。
ちなみに、先頭の「+」、「~」はそれ以外にも記号があります。
それをまとめると、以下のような感じになります。
- +
- Pass、つまりOK
- -
- Fail、つまりNG
- ~
- SoftFail、これは微妙なニュアンスですが、やんわりと許可しない
- ?
- Neutralは不明の事で、設定されていないのと同じ振る舞いをします
以上が簡単なクオリファイアの説明でした。クオリファイアは記号の呼び名みたいなもんです。
結局のところ、全てのサーバーがSPFをチェックしてメール配送をやってるかというとそうではないですし、最後を「~all」にすると、なんだかんだでちゃんと配送されることが多いのですが、メールヘッダをチェックして、「Received-SPF: softfail」となっていたらちゃんとパスできるように設定したほうがいいってことでした。
コメント
コメントを投稿