火曜日, 10月 17, 2006

パラノイド検査

 S25R方式を導入された方から、「送信元ホストが逆引きできるのにPostfixで『unknown』になることがあるのはなぜ?」という質問を受けた。
 私はすぐにパラノイド検査の結果を疑った。案の定、逆引き名を順引きしたらIPアドレスが検索されなかった。
 Postfixは、逆引き名を順引きした結果が元のIPアドレスに一致するかどうかまで見る。これをパラノイド(猜疑的)検査という。逆引き名を偽造することは簡単にできるので、パラノイド検査をパスしないと逆引き名を信用しないようになっているのである。パラノイド検査をパスしなかった場合は、逆引きできなかった場合と同じく「unknown」として扱われる。sendmailもやはりパラノイド検査を行っており、逆引きできたら逆引き名はReceivedヘッダに記録するが、パラノイド検査をパスしなかったら「(may be forged)」(偽造かもしれない)と付記する。
 以前、BBSで、「スパム対策のためにはパラノイド検査は不要だ」という意見を書かれた方がいる。ISPで逆引きが管理されている場合はユーザーが逆引き名を偽造することはできないし、スパマーが逆引き権限を持って逆引き名を偽造してスパムを送信した場合はIPアドレスに基づいてブロックすればよいからだという。パラノイド検査をやめた方が、世界のDNSサーバにかかる負荷を減らすことができる。確かにもっともだとは思うが、それを言ったところで、MTAのユーザーである我々としては、MTAの仕様を受け入れるしかない。
 それに、もしPostfixにパラノイド検査をやめるオプションが設けられたとしても、私はそれを使わないだろう。もしかしたら、悪者が逆引き権限を持って逆引き名をたとえば「mail.microsoft.com」と偽造し、マイクロソフトからの案内であるかのように偽ってウィルスをばらまくかもしれない。Receivedヘッダに逆引き名がそのまま記載されたら、受信者には、本当にマイクロソフトから送信されたメールであるかのように見えてしまう。このやり方は詐欺メールにも使える。「unknown」と記載されるか、「(may be forged)」と付記された方が、受信者がだまされないためには安全である。
 DNSサーバの負荷の問題は、さほど心配する必要はないと思う。負荷が問題になったらDNSサーバを増強すればよい。最も負荷がかかると思われるルートサーバの数も増えている。ルートサーバの名前はa.root-servers.netからm.root-servers.netまでの13個であり、これはUDPパケットの長さの制限のために増やせないのであるが、実はルートサーバの台数はもっと多い。anycast(相手任意の通信)という通信技術によって、同じ名前、同じIPアドレスのサーバを数台ずつ世界に分散配置することが可能になっているのである。

0 件のコメント: