web-dev-qa-db-ja.com

下のサービスを実行するためにIUSRを選択できません

IIS 7.5を実行しているWindows2008 R2ボックスがあります。セキュリティ要件のため、IUSRで実行するようにWorld Wide Web PublishingServiceを設定する必要があります。IUSRフォルダーに適切なアクセス許可を与えることができます。しかしWorld Wide Web Publishing Serviceで実行するアカウントにIUSRを選択しようとすると、ユーザーが見つからないというメッセージが表示されます。現在、サービスは「ローカルシステムアカウント」で実行されています。ご協力いただければ幸いです。

2
Ben

IUSRは、匿名の訪問者がWebサイトを閲覧するときに使用されるセキュリティコンテキストです。 WWWサービスには使用しないことをお勧めします。

IIS7.5より前は、ローカルIUSRアカウントに加えてローカルアカウントであるサービスアカウント(IWAM)が作成されていました。新しいモデルは、異なるアプリケーションプールIDで実行することで、サイトが侵害された場合に1つのWebサイトがボックス上の別のWebサイトに影響を与えないようにします。 資格情報をその特定のボックスに限定するために、おそらくWWWサービスの非特権ローカルアカウントを検討します。

WWWとWindowsプロセスアクティベーションサービスのローカルユーザーを使用してテストしたところ、Windowsプロセスアクティベーションサービスに対して「このアカウントには十分な権限がありません」というエラーメッセージが表示され続けました。そこで、IIS_IUSRSおよびその他のIIS関連グループにローカルアカウントを追加し、ローカルセキュリティポリシーに移動して、ローカルセキュリティポリシーのユーザー権利の割り当てに特権を追加しました。

  • プロセスレベルのトークンを置き換える
  • プロセスのメモリクォータを調整する
  • セキュリティ監査を生成する
  • バッチジョブとしてログオンする

それはうまくいかなかったので、グーグルで何か助けになるかもしれないと示唆した後、「グローバルオブジェクトの作成」を追加しました。そうではありませんでした。しかし、それから家に帰る時間だったので、すべて元に戻しました(テスト環境でしたが)。

それから私は試しました

  • 認証後にクライアントになりすます

喜びはありません。サービスはローカルシステムとして実行され、 私が作業していたリンク は言います、

ローカルシステムアカウントは、コンピューターへのフルアクセス権を持ち、ネットワーク上のコンピューターとして機能する強力なアカウントです。サービスがローカルシステムアカウントを使用してドメインコントローラーにログオンする場合、そのサービスはドメイン全体にアクセスできます。一部のサービスは、デフォルトでローカルシステムアカウントを使用するように構成されているため、これを変更しないでください。ローカルシステムアカウントには、ユーザーがアクセスできるパスワードがありません。

申し訳ありませんが、試してみましたが、運が悪いと思います。あなたは確かにアカウントにリストされた特権を与えることを試みることができます ここ

  • SE_ASSIGNPRIMARYTOKEN_NAME(無効)
  • SE_AUDIT_NAME(有効)
  • SE_BACKUP_NAME(無効)
  • SE_CHANGE_NOTIFY_NAME(有効)
  • SE_CREATE_GLOBAL_NAME(有効)
  • SE_CREATE_PAGEFILE_NAME(有効)
  • SE_CREATE_PERMANENT_NAME(有効)
  • SE_CREATE_TOKEN_NAME(無効)
  • SE_DEBUG_NAME(有効)
  • SE_IMPERSONATE_NAME(有効)
  • SE_INC_BASE_PRIORITY_NAME(有効)
  • SE_INCREASE_QUOTA_NAME(無効)
  • SE_LOAD_DRIVER_NAME(無効)
  • SE_LOCK_MEMORY_NAME(有効)
  • SE_MANAGE_VOLUME_NAME(無効)
  • SE_PROF_SINGLE_PROCESS_NAME(有効)
  • SE_RESTORE_NAME(無効)
  • SE_SECURITY_NAME(無効)
  • SE_SHUTDOWN_NAME(無効)
  • SE_SYSTEM_ENVIRONMENT_NAME(無効)
  • SE_SYSTEMTIME_NAME(無効)
  • SE_TAKE_OWNERSHIP_NAME(無効)
  • SE_TCB_NAME(有効)
  • SE_UNDOCK_NAME(無効)

ただし、Microsoftから、そうしないように指示する紙を1枚入手する方が簡単な場合があります。

5

私はそれを行う方法も検討しています。 OPには私と同じ要件があると思います。それは国防総省からのJITC要件になります。ここにあります:

Check Content: 
1. Go to Start, Administrative Tools, then Services.
2. Right click on service name World Wide Web Publishing Service, Select Properties, then select the Log On tab.
3. The username next to this account is the web service account ID.  If any other user than IUSR is listed, continue to step 4.  If the service account IUSR is used to run the service, this is not a finding.
4. Open a command Prompt and enter Net User [service account ID], press Enter.
5. Verify the values for Password last set and Password expires to ensure the password has been changed in the past year, and will be required to change within the coming year.

Fix Text: 
Configure the service account ID, used to run the web-site, to have its password changed at least annually or use the service account IUSR.
2
Pete

ここには非常に多くのレベルの誤りがあります。 本当に短いバージョンそれをしないでください

セキュリティ要件を誤って解釈しているか、IISの設計方法に関係なく作成されたものである可能性があります。

WASはローカルシステムとして実行する必要があります。終止符。リモートからアクセスできないため、攻撃対象領域が非常に限られています。つまり、ローカルコンピュータの管理者です。

ローカルシステムとして実行される理由の1つは、applicationhost.configをアプリケーションプールごとに個別の部分に分割し、Inetpub\Temp\AppPoolsで独自の分離コピーを取得することです。

もう1つは、Web管理者によって構成された特定のIDでアプリケーションプールワーカープロセス(W3WP)を起動することです。つまり、アプリプールの基本IDがApplicationPoolIdentityである場合、これは、次の場合に基本プロセスIDとして使用される一意の低特権アカウントです。他人になりすますことはありません。

さらにもう1つは、WASのIDを変更することはサポートされておらず、ローカルシステムとして実行するように設計されていることです。それは特権的なプロセスです。

InetInfoであり、過去(つまり、最近ではWindows 2000のタイムフレーム)にページ処理をサポートしていたが、現在はサポートされていないWWWサービスが推奨の対象になる可能性があります。

ただし、W3WPで将来使用できるようにHTTP.SYSを構成するだけで、ページ処理(IIS 6以降)には関与しなくなります。

そのため、アプリプール(具体的には関連するワーカープロセス)が実際の作業を行い、[アプリプール]タブで基本IDを構成し、[認証]-> [匿名設定]で匿名作業に使用する特定のアカウントを構成できます。

実際に書かれたテキストを見たり、その出典を理解したりしないと、どこかで何かが奇形に見えます。または、標準のWin32サービスについては少し知っているが、IISについてはあまり知らない誰かによって書かれたように。

IISサイトを保護して分離し、ガイダンスの意図を達成しているように見える(書かれているものでない場合)には、次のことを行う必要があります。

  • アプリケーションプールIDを匿名アカウント(またはポリシーで必要な場合はIUSR)として使用しますが、セキュリティが低下します(サイトごとの一意のアカウントではなく、共通の共有アカウントであるため)
  • IIS AppPool\AppPoolNameのみがコンテンツフォルダーへの読み取りアクセス許可を持つように、コンテンツのアクセス許可を設定します

これで完了です。

1
TristanK