はじめに
携帯サイトは、アクセスしてくる端末の機種をUserAgentで判別します。しかし、UserAgentは容易に偽装できるので、携帯実機以外からのアクセスを正確には判別できません。
本稿では、IPアドレス判別を併用して携帯実機以外からのアクセスを締め出す方法を紹介します。
対象読者
携帯サイトの開発者。
携帯の機種判別の問題
携帯の機種判別にはUserAgentを用います。しかし、UserAgentは容易に偽装できます。つまり、携帯サイト側で、アクセスが本物の携帯端末からのものであるかどうかを判別することはできません。UserAgentを偽装したDos攻撃などの不正アクセスに対して、対策を講じる必要があります。
携帯のIPアドレスとは?
携帯は通信会社の中継サーバを経由し、携帯サイトにアクセスします。携帯サイトから見ると、通信会社の中継サーバがアクセスしてきたように見えるわけです。
中継サーバは特定のIPを持ちます。通信会社はこれらの情報を公開しています。
これらの情報に基づいて、アクセスしてくるIPアドレスを制限します。IPアドレスを偽装することはできません。それゆえ、IPアドレス制限を通ったリクエストのUserAgentは、間違いなく携帯実機のものだと考えて良いわけです。
CIDR
IPアドレス帯域は、例えば以下のように表記されています。
210.153.84.0/24
これをCIDR表記と呼びます。最後の/24はどういう意味でしょうか?
IPアドレスは32ビットで表します。24とは先頭から24ビットは固定、残りの8ビットが可変という意味です。つまり、IPの範囲は以下のようになります。
210.153.84.0 ~ 210.153.84.255
IPアドレス制限をどこで行うか?
IPアドレス制限を行うポイントは、以下の2つです。
不正なアクセスをアプリケーションサーバまで到達させてはいけないので、ルータかWebサーバで制限することになります。できるだけサーバの負担を軽くするためには、ルータで制限した方がいいでしょう。
(2008/05/07 訂正:誤「ルータで制限」⇒正「ファイアウォールで制限」
まとめ
IPアドレス制限によって、携帯実機以外からのアクセスを制限する方法を説明しました。しかし、どこまで制限をきつくするかはサイトの目的を考慮してください。情報提供系のサイトでは想定外の端末、例えばiPhoneやPDAなどからのアクセスは許可してもよいのではないでしょうか?サイトの目的を損なわない程度に、セキュリティとのバランスを考える必要があります。
参考資料
- IPアドレス(ウィキペディア)
- ユーザーエージェント(ウィキペディア)