asp.net install windows - Quali sono tutti gli account utente per IIS / ASP.NET e in che modo differiscono?




1 Answers

Questa è un'ottima domanda e purtroppo molti sviluppatori non fanno abbastanza domande sulla sicurezza di IIS / ASP.NET nel contesto di essere uno sviluppatore web e configurare IIS. Quindi ecco qui ....

Per coprire le identità elencate:

IIS_IUSRS:

Questo è analogo al vecchio gruppo IIS6 IIS_WPG . È un gruppo integrato con la sua sicurezza configurata in modo tale che qualsiasi membro di questo gruppo possa fungere da identità del pool di applicazioni.

IUSR:

Questo account è analogo al vecchio account locale IUSR_<MACHINE_NAME> che era l'utente anonimo predefinito per i siti Web IIS5 e IIS6 (ovvero quello configurato tramite la scheda Protezione directory delle proprietà di un sito).

Per ulteriori informazioni su IIS_IUSRS e IUSR consultare:

Informazioni sugli account utente e di gruppo incorporati in IIS 7

DefaultAppPool:

Se un pool di applicazioni è configurato per l'esecuzione utilizzando la funzionalità Identity del pool di applicazioni, un account "sintetizzato" denominato IIS AppPool\<pool name> verrà creato al volo per essere utilizzato come identità del pool. In questo caso ci sarà un account sintetizzato chiamato IIS AppPool\DefaultAppPool creato per la durata del pool. Se elimini il pool, questo account non esisterà più. Quando si applicano le autorizzazioni a file e cartelle, questi devono essere aggiunti utilizzando IIS AppPool\<pool name> . Inoltre, questi account del pool non verranno visualizzati nel Gestore utenti del tuo computer. Vedere quanto segue per ulteriori informazioni:

Identità del pool di applicazioni

ASP.NET v4.0: -

Questa sarà l'identità del pool di applicazioni per il pool di applicazioni ASP.NET v4.0. Vedi DefaultAppPool sopra.

NETWORK SERVICE: -

L'account NETWORK SERVICE è un'identità incorporata introdotta su Windows 2003. NETWORK SERVICE è un account con privilegi minimi in base al quale è possibile eseguire i pool di applicazioni e i siti Web. Un sito Web in esecuzione in un pool di Windows 2003 può ancora impersonare l'account anonimo del sito (IUSR_ o qualsiasi altra cosa configurata come identità anonima).

In ASP.NET precedente a Windows 2008 è possibile che ASP.NET esegua richieste con l'account Pool di applicazioni (in genere NETWORK SERVICE ). In alternativa, è possibile configurare ASP.NET per impersonare l'account anonimo del sito tramite l'impostazione <identity impersonate="true" /> nel file web.config localmente (se tale impostazione è bloccata, è necessario che venga eseguita da un amministratore nella machine.config file).

L'impostazione di <identity impersonate="true"> è comune negli ambienti di hosting condiviso in cui vengono utilizzati pool di applicazioni condivisi (in combinazione con impostazioni di attendibilità parziale per impedire il riavvolgimento dell'account rappresentato).

In IIS7.x / il controllo di rappresentazione di ASP.NET è ora configurato tramite la funzionalità di configurazione di autenticazione di un sito. Quindi è possibile configurare l'esecuzione come identità del pool, IUSR o un account anonimo personalizzato specifico.

LOCAL SERVICE:

L'account LOCAL SERVICE è un account predefinito utilizzato dal gestore controllo servizi. Ha un minimo di privilegi sul computer locale. Ha un ambito di utilizzo abbastanza limitato:

Account LocalService

LOCAL SYSTEM:

Non hai chiesto di questo, ma sto aggiungendo per completezza. Questo è un account integrato locale. Ha privilegi e fiducia piuttosto ampi. Non si dovrebbe mai configurare un sito Web o un pool di applicazioni da eseguire con questa identità.

Account LocalSystem

In pratica:

In pratica, l'approccio preferito per la protezione di un sito Web (se il sito ottiene il proprio pool di applicazioni, che è l'impostazione predefinita per un nuovo sito in MMC di IIS7) deve essere eseguito in Application Pool Identity . Ciò significa impostare l'identità del sito nelle impostazioni avanzate del pool di Application Pool Identity :

Nel sito Web, è necessario configurare la funzione di autenticazione:

Fare clic con il tasto destro e modificare la voce Autenticazione anonima:

Assicurarsi che "Identità del pool di applicazioni" sia selezionata:

Quando si arriva ad applicare autorizzazioni per file e cartelle, si concede l'identità del pool di applicazioni indipendentemente dai diritti richiesti. Ad esempio, se si concede l'identità del pool di applicazioni per le autorizzazioni del pool di ASP.NET v4.0 , è possibile farlo tramite Esplora risorse:

Fai clic sul pulsante "Controlla nomi":

O puoi farlo usando l'utilità ICACLS.EXE :

icacls c:\wwwroot\mysite /grant "IIS AppPool\ASP.NET v4.0":(CI)(OI)(M)

... o ... se il pool di applicazioni del sito si chiama BobsCatPicBlog allora:

icacls c:\wwwroot\mysite /grant "IIS AppPool\BobsCatPicBlog":(CI)(OI)(M)

Spero che questo aiuti a chiarire le cose.

Aggiornare:

Mi sono imbattuto in questa eccellente risposta del 2009 che contiene un sacco di informazioni utili, che vale la pena leggere:

La differenza tra l'account "Sistema locale" e l'account "Servizio di rete"?

10 2012

In Windows Server 2008 con installato ASP.NET 4.0, esiste un'intera serie di account utente correlati e non riesco a capire quale sia, in che modo differiscono e quale è VERAMENTE quella in cui viene eseguita la mia app. Ecco una lista:

  • IIS_IUSRS
  • IUSR
  • DefaultAppPool
  • ASP.NET v4.0
  • SERVIZIO DI RETE
  • SERVIZIO LOCALE.

Cosa è cosa?




Related