人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

基本認証の際、どのようにユーザー判別を行えばいいのでしょうか?

例えば@niftyの場合、会員サイトのユーザー認証はすべて基本認証で行っています。例えばhatenaというIDで会員メールにログインするとhatenaのメールが表示されます。hatena2というIDだとhatena2のメールボックスが表示されます。しかしメーラーは一つしかありません。私が考えるには環境変数か何かでIDを取得しただログを読み込んでいるだけではないかと。しかしこの場合、セキュリティ面として考え物ですよね(?)

いったいどのようにして安全にユーザーを判別できるのでしょうか?

今回はユーザー判別の方法を質問しています。

●質問者: esecua
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:Hatena Nifty サイト セキュリティ メーラー
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● ootatmt
●5ポイント

http://www.att.or.jp/perl/faq/perl-cgi-faq4j.html#Q4.7

Perl CGI Programming FAQ 4J

基本認証されたユーザ名は、環境変数 REMOTE_USER に格納されていますので、これを見て判別します。

◎質問者からの返答

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

@niftyが環境変数からユーザーIDを取得し判別しているのでしょか?セキュリティ面で見ても簡単に偽造できてしまうような感じですが。


2 ● ngc02
●0ポイント

http://www.nifty.com/index.htm

@nifty

ログインするところのアドレスを見てもらえたらわかるとおり、Basic認証をかけるところにはHTTPS(SSL)のプロトコルか使われているので大丈夫です。

http://e-words.jp/w/SSL.html

SSLとは 【Secure Socket Layer】 ─ 意味・解説 : IT用語辞典 e-Words

ちなみにSSLの128bitです

◎質問者からの返答

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

SSLはサーバーとクライアントの間を流れるパケットを暗号化する技術ですよ。

今回聞いている「ユーザー判別の方法」とは異なるようが、、もし環境変数からIDを取得してログを読み込んでいるだけならブラウザをハックして別の環境変数を渡せば簡単に。。。。

ということで環境変数ではないような気がするのです。いったいどのように認証しているのでしょか?

ありがとうございました。


3 ● ramdass
●20ポイント

http://www.hatena.ne.jp/1132444049#

人力検索はてな - 基本認証の際、どのようにユーザー判別を行えばいいのでしょうか? 例えば@niftyの場合、会員サイトのユーザー認証はすべて基本認証で行っています。例えばhatenaというID..

>環境変数か何かでIDを取得しただログを読み込んでいるだけではないかと。しかしこの場合、セキュリティ面として考え物ですよね(?)


これで十分セキュアにできます。

要は環境変数が漏洩したり操作されなければよいだけの話で、そうするようにシステムを構築しているはずです。


Apacheの走っているOSにゲストアカウントがなかったり、パッチはキチンと当てたり、ファイヤウォールが設置されたしますよね。


環境変数があぶないということは、最終的なメールサーバも危ないということです。


個別の事情はわかりませんが、一般的にはそういうところです。

◎質問者からの返答

どのように構築しているのでしょか?なぞです。

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


4 ● ma-kanoh
●20ポイント

http://dummy/

>どのように構築しているのでしょか?なぞです。


環境変数というのはOS上ののプロセスメモリ空間上にあるので、OSにログインできて、はじめて取得できます。


だから構築方法としては、なるべく他人がOSにはログインできないように各種の設定をします。絶対とは言い切れませんが、ある程度設定で構築することは可能です。


ということでCGIの場合は


REMOTE_USER=ma-kanoh


とかを取得できるようになってます。HTTP的には


http://dummy?REMOTE_USER=ma-kanoh


とかですけど。ちなみにクライアント側もIEを入れ替えればREMOTE_USERを取得することは可能です。(それを一般には脆弱性と呼んでしまってるようですが)

◎質問者からの返答

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


5 ● ootatmt
●35ポイント

http://www.hatena.ne.jp/

はてな

> @niftyが環境変数からユーザーIDを取得し判別しているのでしょか?


たぶんそうでしょう。

ただしWebサーバの種類によっては変数名が違うかもしれません。


> セキュリティ面で見ても簡単に偽造できてしまうような感じですが。


REMOTE_USER が偽装可能であるという話は今のところないようですね。


> もし環境変数からIDを取得してログを読み込んでいるだけならブラウザをハックして別の環境変数を渡せば簡単に。。。。


いいえ、そう簡単にはいきません。

ブラウザから任意のユーザ名を送るのはハックするまでもなく簡単に出来ますが、REMOTE_USER に入力するためには認証される必要がありますので、ブラウザ側からはどうにもできません。


それを行おうとするとApacheなどのサーバをハックしなければなりませんので、通常は無理でしょう。

◎質問者からの返答

なるほど、REMOTE_USERを変換してもサーバーは変換に気づきそのパスワードを求めてくるので無理だということですね。やっと分かりました。ありがとうございました。

もうちょっといい回答がないか待って見ます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ