DoCoMo の SPF は強力

2007-11-04 18:05:14 | | このエントリーを含むはてなブックマーク | Tag: dns docomo ネットワーク メール 携帯電話 自宅サーバ 日記

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

Trackbacks

Trackback URI: http://blog.c--v.net/trackback/2007/11/04/1

There is no trackback.

Comments

There is no comment.

Name
URI (Homepage or Email)
Body