• ベストアンサー

IIS6.0の匿名アクセスについて

IISの認証方式はデフォルトで「匿名アクセスを有効にする」にチェックが付いており、ユーザー名は、「IUSR_<コンピュータ名>」になっています。 このユーザー名を参照ボタンから検索して、IISがインストールされたPCの管理者名を選択して設定(保存)した場合、何か意味はあるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

> 認証されないアクセスとは、 > 例えば「Windows統合認証」にチェックが入っている場合は、 > Windows統合認証に失敗した場合、 > 匿名アクセスで設定したユーザー権限が利用されるという理解で宜しいでしょうか。  確かそうだったと思う。最近IISいじってないので記憶が若干あいまいでごめん。  全てにチェックが入っていた場合、 ・統合Windows認証(あるいはNTLM認証)を行う→成功するとアクセスできる →失敗するとDIGEST認証を行う→成功するとアクセスできる →失敗するとBASIC認証を行う→成功するとアクセスできる →失敗すると非認証でアクセス なのだと思いますです。  もしEtherealやHTTP Proxy、TCPキャプチャなどがあれば、一度通信の中身を見てみると良いでしょう。  例えば統合Windows認証してて、アクセスしたらすぐ開いてるように見えても実は結構な数の401レスポンスが帰ってきていたりします。  という事で、最初の質問である匿名ユーザだが、これは代表って事やね。動作する場合、なんらか(誰か)の権限で動作しないといけないため(でないとファイルを開かせて良いのか悪いのか、プログラムを実行させて良いのか悪いのかの判断がつかないからね)、代表でIUSER_<コンピュータ名>君がアクセスしているという事にして処理しましょう、って事。  そこで、ASPに不備があってシェルを獲得できるような <!-- exec -->があったとしましょう。すると、そのシェルはIUSR_COMPがプロセスのオーナーとなる。基本的にIUSR_COMPはIISコンテンツ配下以外にはアクセス権限を付与しないでしょう。なので、Everyoneフルコントロールであるような場所には好き勝手されるかも知れないが、Users以上が必要なフォルダは触れない。Cドラ直下をEveryoneフルコントロールにすんなってのはこういう意味があるんですな。  もちろん、ここがBASIC認証あたりになってて、ユーザAnmochiがAdministratorsグループで、パスワードがもれてましたなんて事になっていたら大変ですね。

trancevsti
質問者

お礼

回答ありがとうございます。 適切なユーザー管理がされていれば、IUSRアカウント認証でも良いってことですねー。 パケットをキャプチャーして、色々確認してみようと思います。

その他の回答 (1)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 そこで設定するユーザー名は、認証されないアクセスに対して、PCのどのユーザの権限で処理するかを決めるものです。なので、普段はとっても権力が小さいIUSER_<コンピュータ名>になっている訳です。  管理者は一般的にAdministratorsグループに入っており、とても強力な権限を持っています。なので、IISがインストールされたPCの管理者名を洗濯して設定した場合、例えばASPやPHP、CGI、ASP.NETなどに不備があって、任意のコードが実行される場合、被害は大変なものになるでしょう。

trancevsti
質問者

お礼

丁寧な説明ありがとうございます。 認証されないアクセスとは、例えば「Windows統合認証」にチェックが入っている場合は、Windows統合認証に失敗した場合、匿名アクセスで設定したユーザー権限が利用されるという理解で宜しいでしょうか。

関連するQ&A