【WEBサーバーのアクセスに使用したPCの弁別】

WEBサーバーへのアクセスログ等から、
アクセスに使用したPCを明確に弁別する事はできますか。
また、そのための一般的な(安全な)方法は存在しますか。

回答の条件
  • 1人3回まで
  • 登録:2009/08/30 11:36:25
  • 終了:2009/09/03 19:15:29

回答(4件)

id:JULY No.1

JULY回答回数966ベストアンサー獲得回数2472009/08/30 16:09:06

ポイント50pt

PC を明確に

というのは難しいかな。ただ、状況証拠としては、アクセスしてきた IP アドレスから、同一ユーザであると十分に推定できる可能性はあります。

例えば、着目する2つのアカウントからのアクセス記録を調べて、その時のアクセス元の IP アドレスを比較します。

単に2つのアカウントのアクセス元 IP アドレスが一致しているだけでは、同一人物とは見なせません。何らかの理由でプロバイダとの接続が切れて再接続した場合に、ある IP アドレスが別の人に割り当てられる可能性はありますし、ひょっとしたら、同じネットカフェに居合わせた別々の人間かもしれません。

しかし、もし、全くの別人であれば、長期間にわたって同じ IP アドレスがアクセス元になることは考えにくい。あるとすると、同じ会社に勤めている二人が、いつも会社からアクセスしていた、というケース。もし、会社以外では全くアクセスしていない、というのであれば、この二人は常に同じ IP アドレス、ということはあり得ますが、ある程度の企業であれば、IP アドレスから企業が特定できるので、「同じ会社の別の人物」というケースに該当するかどうかは判明しやすい。

「長期間にわたって同じ IP」というのは、特定の IP アドレスで何ヶ月にもわたって同じ、ということではなくて、同時期にアクセスしてきたときに、二人の IP アドレスが一致している、という状態がある程度の期間にわたって観測できれば、同一人物だと考える方が自然になります。

例えば、

  • A氏のアクセス記録:
    • 8/1 192.168.1.2
    • 8/2 10.2.2.6
    • 8/3 172.31.19.25
  • B氏のアクセス記録:
    • 8/1 192.168.1.2
    • 8/2 10.2.2.6
    • 8/3 172.31.19.25

と、毎日違う IP アドレスだけど、二人のアドレスは一緒、という記録が残っていたら、逆に A 氏と B 氏が別人であるケースが具体的にどういうことか、少なくとも私には思いつきません(強いて言うと、同じ家に住む同居人、とか)。

また、そのための一般的な(安全な)方法は存在しますか。

こういう話の時に、よく proxy が話題に上りますが、確かにアカウント毎に接続する proxy を変えれば、上記のような推定はできなくなりますが、そういった目くらまし用に使われる proxy サーバが信頼できるか、という別な問題はあります。例えば、今時の一般的な Proxy ソフトだと、HTTP での通信内容に、接続元の IP アドレスが入っているケースがあります。Web サーバ側でその辺の情報を収集すれば、接続相手が Proxy を経由していて、元の IP アドレスが何か、という事が分かります。

そもそも、まっとうな proxy であれば、許可したユーザにだけ提供するのが普通ですし、誰でも使える proxy、という時点でアンダーグラウンドな proxy である可能性が高いことになるので、逆にその proxy から、どんな情報が抜かれるか分からない、もっと大きな危険性があります。

id:kuro-yo

回答ありがとうございます。大変わかりやすいです。

なお、二つ目の質問項目は、「PCを弁別するための」方法について問うたものでした。

が、proxyを経由していても、接続元IPがわかる場合もあるのですね。

2009/08/30 16:18:43
id:m_nagase No.2

nagase回答回数58ベストアンサー獲得回数82009/08/30 17:41:26

ポイント50pt

ブラウザのcookieに追跡用のidを仕込んでおけば簡単です。

はてなの場合ログイン状態をcookieに保存するようになっているので、

特別に小細工しなくても弁別可能だと思われます。

id:kuro-yo

回答ありがとうございます。

確かに、同一アカウントのブラウザプロセスからなら、同一のアカウントかどうかまでは追跡できそうですね。

2009/08/30 17:56:00
id:hong7 No.3

hong7回答回数157ベストアンサー獲得回数52009/08/30 17:47:50

ポイント50pt

WEBサーバーのログだとIPアドレスくらいしか記録されませんが、詳細なログをとるウェアを入れれば、相手の使っているブラウザの個別番号や細かい設定までも記録されるので、IPアドレスを変えても、特定はできます。

PC個体のMacアドレスなどというものもありますが、こちらは偽装できたと思います。

id:kuro-yo

回答ありがとうございます。

いわゆるアクセス解析スクリプトの類ですね。

…と思いましたが、HTTPリクエスト時のUA情報でしょうか。

2009/08/30 19:06:12
id:sirotugu40 No.4

sirotugu40回答回数449ベストアンサー獲得回数142009/08/31 22:19:44

ポイント50pt

追跡用にFlash Cookieをつかえば

かなり精度が上がるかも。

http://allabout.co.jp/gs/flash/closeup/CU20090415A/

id:kuro-yo

回答ありがとうございます。

これ、おもしろいですね。

もっとも、この方法は同一アカウントでのみ有効のように思えます。

2009/08/31 22:29:51
  • id:kuro-yo
    なお、この質問は、
    http://q.hatena.ne.jp/1251513135
    を意識しております。
  • id:kuro-yo
    IPアドレス以外の可能性についてはどうでしょうか?
  • id:kuro-yo
    cookieやアクセス解析スクリプト以外の可能性についてはどうでしょうか?
    …自分で書いてて、これ以上の可能性って何だろう、って感じもしない事はないですが。
  • id:m_nagase
    cookieの他に考えられるのは、ブラウザがHTTPリクエストともに送ってくるユーザーエージェントですね。
    ただし、ユーザーエージェントは偽装可能な上、一般的には同じシステムなら同じUAを返すのですが、
    WindowsのIEの場合、パッチレベルやインストールされているコンポーネントの情報が追加されていたりします。
    例.
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; GTB6; .NET CLR 1.1.4322)
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Media Center PC 4.0; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6; .NET CLR 1.0.3705) Sleipnir/2.8.4

    上記の例は全てWindowsXP上のInternetExplorer6.0が返してきたUAですが、
    一番上は標準的なUAで、続くUAにはご覧のように.NETフレームワークやその他のコンポーネントの情報が追加されています。
    IEエンジンを使っているSleipnir等のブラウザも、同様なUAを返します。
    Windowsにインストールされている各コンポーネントが全く同じ状態であれば同じUAが返されると思いますが、
    他のUAとは違う特徴を持つUAで同じIPからアクセスがあったとすれば、
    それは同一のPCとブラウザでアクセスされた可能性が高いと言えます。
  • id:kuro-yo
    コメントありがとうございます。
    できれば、回答の方へ移していただけないでしょうか。
  • id:m_nagase
    一度回答してますし、UAの件は確実な方法ではなく傍証程度にしか使えませんので、
    コメントのままとしておいていただきたいです。
  • id:kuro-yo
    了解です。

    UA情報って、結構中身が濃いですね。
  • id:kuro-yo
    ふと思ったのですが、
    ISP側で、異なるノードに対して、同一IPアドレスで、異なるポート範囲を割り当てる、
    という事はありえないのでしょうか?
  • id:kn1967
    >ISP側で、異なるノードに対して、同一IPアドレスで、異なるポート範囲を割り当てる

    詳細は「キャリア・グレードNAT」などで検索すれば判ると思うのだけど、
    大まかに言えば「理論としては”有り”なのだが、
    ISPが採用する”メリットは無い”から実用はされてない」といった具合。
  • id:kuro-yo
    コメントありがとうございます。
    調べてみると、ごく一部でやっていない事もないみたいな感じですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません