Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

携帯サイトのUserAgent偽装対策

携帯実機以外でのアクセスを許さない

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/05/07 14:00

携帯サイトに対するアクセスを、IPアドレスを制限することにより携帯実機のみに制限する方法を紹介します。

はじめに

 携帯サイトは、アクセスしてくる端末の機種をUserAgentで判別します。しかし、UserAgentは容易に偽装できるので、携帯実機以外からのアクセスを正確には判別できません。

 本稿では、IPアドレス判別を併用して携帯実機以外からのアクセスを締め出す方法を紹介します。

対象読者

 携帯サイトの開発者。

携帯の機種判別の問題

 携帯の機種判別にはUserAgentを用います。しかし、UserAgentは容易に偽装できます。つまり、携帯サイト側で、アクセスが本物の携帯端末からのものであるかどうかを判別することはできません。UserAgentを偽装したDos攻撃などの不正アクセスに対して、対策を講じる必要があります。

携帯のIPアドレスとは?

 携帯は通信会社の中継サーバを経由し、携帯サイトにアクセスします。携帯サイトから見ると、通信会社の中継サーバがアクセスしてきたように見えるわけです。

携帯はキャリアの中継サーバを経由する
携帯はキャリアの中継サーバを経由する

 中継サーバは特定のIPを持ちます。通信会社はこれらの情報を公開しています。

 IP情報は日々更新されています。チェックを怠らないでください。

 これらの情報に基づいて、アクセスしてくるIPアドレスを制限します。IPアドレスを偽装することはできません。それゆえ、IPアドレス制限を通ったリクエストのUserAgentは、間違いなく携帯実機のものだと考えて良いわけです。

CIDR

 IPアドレス帯域は、例えば以下のように表記されています。

IPアドレス帯域の表記の例
210.153.84.0/24 

 これをCIDR表記と呼びます。最後の/24はどういう意味でしょうか?

 IPアドレスは32ビットで表します。24とは先頭から24ビットは固定、残りの8ビットが可変という意味です。つまり、IPの範囲は以下のようになります。

210.153.84.0/24の範囲
210.153.84.0 ~ 210.153.84.255

IPアドレス制限をどこで行うか?

 IPアドレス制限を行うポイントは、以下の2つです。

IPアドレス制限を行うポイント
IPアドレス制限を行うポイント

 不正なアクセスをアプリケーションサーバまで到達させてはいけないので、ルータかWebサーバで制限することになります。できるだけサーバの負担を軽くするためには、ルータで制限した方がいいでしょう。

 (2008/05/07 訂正:誤「ルータで制限」⇒正「ファイアウォールで制限」

まとめ

 IPアドレス制限によって、携帯実機以外からのアクセスを制限する方法を説明しました。しかし、どこまで制限をきつくするかはサイトの目的を考慮してください。情報提供系のサイトでは想定外の端末、例えばiPhoneやPDAなどからのアクセスは許可してもよいのではないでしょうか?サイトの目的を損なわない程度に、セキュリティとのバランスを考える必要があります。

参考資料

  1. IPアドレス(ウィキペディア)
  2. IPアドレスについての解説。
  1. ユーザーエージェント(ウィキペディア)
  2. ユーザーエージェントについての解説。
  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2008/05/07 23:29 「IPアドレス制限をどこで行うか?」に訂正を追加。

著者プロフィール

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5