sviluppo-web-qa.it

A cosa servono gli account IUSR e IWAM in IIS?

Sto cercando una buona spiegazione degli account IUSR e IWAM utilizzati da IIS per aiutarmi a configurare meglio il nostro ambiente di hosting:

  • Perché sono lì?
  • Qual è la differenza tra loro?
  • I nomi significano qualcosa di significativo?
  • Ci sono modifiche alle migliori pratiche che dovrei apportare?
  • IIS mi offre anche opzioni per eseguire pool di applicazioni come servizio di rete, servizio locale o sistema locale. Dovrei?
  • Il mio web server fa parte di un dominio, come cambia le cose?

Sembra essere comune creare le proprie versioni di questi account quando si distribuiscono più siti su un server che solleva alcune domande aggiuntive:

  • Quando potrei voler creare i miei account IUSR e IWAM?
  • Come devo creare questi account aggiuntivi in ​​modo che abbiano le autorizzazioni corrette?

Sto usando sia IIS 6 che e IIS 7 con configurazioni prevalentemente predefinite.

23
Generic Error

IUSR e IWAM risalgono ai primissimi giorni di IIS quando è stato installato separatamente (non come componente del sistema operativo). Per impostazione predefinita, se un sito Web consente l'autenticazione anonima, viene utilizzato l'account IUSR per quanto riguarda le autorizzazioni sul sistema operativo. Questo può essere modificato dal valore predefinito. Ci sono alcuni consigli di sicurezza per almeno rinominare l'account, quindi non è un account "noto", proprio come esiste un consiglio per rinominare l'account amministratore su un Server. Ulteriori informazioni su IUSR e autenticazione su MSDN .

IWAM è stato progettato per qualsiasi applicazione fuori processo e viene utilizzato solo in IIS 6.0 quando ci si trova in IIS 5.0 modalità di isolamento. Di solito lo si vedeva con COM/Oggetti DCOM.

Per quanto riguarda le identità del pool di applicazioni, l'impostazione predefinita è l'esecuzione come servizio di rete. Non si dovrebbe eseguire come sistema locale perché quell'account ha diritti superiori a quelli di un amministratore. In modo che sostanzialmente ti lascia al servizio di rete, servizio locale o un account locale/dominio diverso da quei due.

Quanto a cosa fare, dipende. Un vantaggio di lasciarlo come servizio di rete è che questo è un account con privilegi limitati sul server. Tuttavia, quando accede alle risorse attraverso la rete, viene visualizzato come Domain\ComputerName $, il che significa che è possibile assegnare autorizzazioni che consentono all'account del servizio di rete di accedere a risorse come SQL Server in esecuzione su una casella diversa. Inoltre, poiché viene visualizzato come account del computer, se si abilita l'autenticazione Kerberos, l'SPN è già attivo se si accede al sito Web con il nome del server.

Un caso in cui potresti prendere in considerazione la modifica del pool di applicazioni in un determinato account di dominio Windows se desideri che un determinato account acceda a risorse di rete come un account di servizio che accede a SQL Server per un'applicazione basata sul Web. Ci sono altre opzioni in ASP.NET per farlo senza cambiare l'identità del pool di applicazioni, quindi non è più strettamente necessario. Un altro motivo che potresti prendere in considerazione per l'utilizzo di un account utente di dominio è che stavi eseguendo l'autenticazione Kerberos e disponevi di più server Web che gestivano un'applicazione Web. Un buon esempio è se due o più server Web offrivano SQL Server Reporting Services. Il front-end verrebbe probabilmente a un URL generico come reports.mydomain.com o reporting.mydomain.com. In tal caso, l'SPN può essere applicato a un solo account in AD. Se i pool di app sono in esecuzione in Servizio di rete su ciascun server, ciò non funzionerà, perché quando escono dai server, vengono visualizzati come Domain\ComputerName $, il che significa che avresti tutti gli account quanti ne hai i server che servono il app. La soluzione è creare un account di dominio, impostare l'identità del pool di app su tutti i server sullo stesso account utente di dominio e creare un unico SPN, consentendo così l'autenticazione Kerberos. Nel caso di un'app come SSRS, dove potresti voler trasferire le credenziali dell'utente al server di database back-end, l'autenticazione Kerberos è d'obbligo perché dovrai configurare la delega Kerberos.

So che c'è molto da accettare, ma la risposta breve è, ad eccezione del sistema locale, dipende.

34
K. Brian Kelley

IUSR = Utente Internet, ovvero qualsiasi visitatore anonimo e non autenticato del tuo sito Web (ovvero praticamente tutti)

IWAM = Internet Web Application Manager, ovvero tutte le tue ASP e .NET verranno eseguite con questo account

In generale, IUSR e IWAM dovrebbero avere accesso SOLO a ciò di cui hanno bisogno. Non dovrebbero mai avere accesso a nient'altro, nel caso in cui questi account vengano compromessi, quindi non possono accedere a nulla di critico.

Questo è tutto ciò che posso aiutare con il tuo elenco di domande, altri con più esperienza in IIS l'amministrazione potrebbe essere in grado di aiutarti ulteriormente!

9
Mark Henderson

Ricorro sempre a questa guida -

http://learn.iis.net/page.aspx/140/understanding-the-built-in-user-and-group-accounts-in-iis-70/

Puoi trovare molto su iis.net

per dirla semplicemente - IUSR è semplicemente account guest predefiniti che hanno autorizzazioni su c:\inetpub\wwwroot per impostazione predefinita.

7
William Hilsum