DoCoMo も SPF を用いたなりすましメール対策をしているので実験してみた。
携帯の設定
まず携帯端末側の設定から。私はいまだ mova 利用者ですが、たぶん設定は共通でしょう……。i モードメニューから“料金&お申込・設定”→“オプション設定”→“メール設定”→“迷惑メール対策”で、パスワードを入力した後、受信/拒否設定を「設定」に変更し「次へ」。
今回はパソコンから送信される場合を検証するため、“ステップ 2”の「パソコンからのメールを受信したい場合」の項目で“受信する”にチェックを入れ、「他のアドレスになりすましたメールは」“全て拒否する”にしました。これ以外の項目は全てデフォルトです。
SPF を設定していないホストから送信
手っ取り早く検証するため、大学の研究室から送信してみました。SPF は DNS の TXT レコードへ記述するので、事前に記述を確かめておきます。
dig tom.sfc.keio.ac.jp TXT
% dig tom.sfc.keio.ac.jp TXT ; <<>> DiG 9.3.4 <<>> tom.sfc.keio.ac.jp TXT ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19700 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;tom.sfc.keio.ac.jp. IN TXT ;; AUTHORITY SECTION: tom.sfc.keio.ac.jp. 28800 IN SOA kencho.tom.sfc.keio.ac.jp. tom-admin.tom.sfc.keio.ac.jp. 2007080701 10800 3600 604800 28800 ;; Query time: 0 msec ;; SERVER: 133.27.175.5#53(133.27.175.5) ;; WHEN: Sun Nov 4 17:32:34 2007 ;; MSG SIZE rcvd: 89
sekido-tom.sfc.keio.ac.jp より telnet を使ってメールを送信してみました。
SPF が設定されていないホストから送信
% telnet mfsmax.docomo.ne.jp 25 Trying 203.138.181.112... Connected to mfsmax.docomo.ne.jp. Escape character is '^]'. 220 docomo.ne.jp ESMTP Service Ready EHLO kencho.tom.sfc.keio.ac.jp 250-docomo.ne.jp 250 SIZE 5242880 MAIL FROM: sekido-tom.sfc.keio.ac.jp 250 Requested mail action okay, completed RCPT TO: ---@docomo.ne.jp 250 Requested mail action okay, completed DATA 354 Start mail input; end with. Subject: test test mail . 550 Unknown user ---@docomo.ne.jp QUIT 221 docomo.ne.jp Service closing transmission channel Connection closed by foreign host.
以上のように、RCPT TO コマンドは成功しますが、DATA コマンドのあと失敗します。
SPF は設定しているが、指定外のホストから送信
今度は指定外のホストから送信してみます。SPF では許可するホスト以外からの条件を設定でき、~all と書けば Soft Fail、?all と書けば Neutral になり、許可されるホスト以外からも送信される可能性を示します。-all と書けば Fail、つまり許可されるホスト以外から送信されることはなく、受信サーバによって拒否される。
以前に au の対策で自宅サーバには設定してあるので、自宅サーバのドメインで研究室のサーバから送信してみることにしました。研究室のサーバは ~all に当たります。まずは TXT レコードの確認から。
dig home.sekido.info TXT
% dig home.sekido.info TXT ; <<>> DiG 9.3.4 <<>> home.sekido.info TXT ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9761 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3 ;; QUESTION SECTION: ;home.sekido.info. IN TXT ;; ANSWER SECTION: home.sekido.info. 120 IN TXT "v=spf1 +mx +ip4:202.238.82.0/23 ~all" ;; AUTHORITY SECTION: sekido.info. 120 IN NS ns3.value-domain.com. sekido.info. 120 IN NS ns1.value-domain.com. sekido.info. 120 IN NS ns2.value-domain.com. ;; ADDITIONAL SECTION: ns1.value-domain.com. 96146 IN A 202.212.235.10 ns2.value-domain.com. 120 IN A 210.153.116.18 ns3.value-domain.com. 96146 IN A 59.106.14.70 ;; Query time: 235 msec ;; SERVER: 133.27.175.5#53(133.27.175.5) ;; WHEN: Sun Nov 4 17:47:11 2007 ;; MSG SIZE rcvd: 201
なりすましメール拒否機能を使っている場合の対処法でも書きましたが、so-net は自宅サーバからメールを送信する際はボーダ・メールサーバを経由しなければならないので、202.238.82.0/23 からの送信を前提にしています。それ以外からの送信を受け入れてもらうため、一応 ~all を設定してあります。
SPF は設定しているが、指定外のホストから送信
% telnet mfsmax.docomo.ne.jp 25 Trying 203.138.181.112... Connected to mfsmax.docomo.ne.jp. Escape character is '^]'. 220 docomo.ne.jp ESMTP Service Ready EHLO kencho.tom.sfc.keio.ac.jp 250-docomo.ne.jp 250 SIZE 5242880 MAIL FROM: ryosuke-home.sekido.info 250 Requested mail action okay, completed RCPT TO: ---@docomo.ne.jp 250 Requested mail action okay, completed DATA 354 Start mail input; end with. Subject: test test mail . 550 Unknown user ---@docomo.ne.jp QUIT 221 docomo.ne.jp Service closing transmission channel Connection closed by foreign host.
と、失敗しました。この場合は Soft Fail で実験していますが、その後 Neutral でやってみましたが同じ結果でした。
SPF で許可されているホストから送信
当然ながら許可されます。書かなくても良いですよね……。
結論
Neutral や Soft Fail ではダメなので、送信される可能性のあるメールサーバは全て Pass (検証子を +) で指定しなければならないようです。
また見て分るとおり、拒否されるときは SMTP の 550 エラーコードで配送されないため、SPF チェックで拒否されているのか、ユーザが本当に存在しないのかわかりません。セキュリティの観点からすればこの措置は当然なのですが、SPF が導入されて間もないくらいはエラーメールを返信してくれても良いと思いました。
Related Entries
- なりすましメール拒否機能を使っている場合の対処法 (2007-02-16)
Trackbacks
Trackback URI: http://blog.c--v.net/trackback/2007/11/04/1
There is no trackback.
There is no comment.