Permessi IIS_IUSRS e IUSR in IIS8

Mi sono appena spostato da IIS6 su Win2003 a IIS8 su Win2012 per ospitare applicazioni ASP.NET.

All’interno di una particolare cartella nella mia applicazione ho bisogno di creare e cancellare file. Dopo aver copiato i file sul nuovo server, continuavo a vedere i seguenti errori quando ho provato a eliminare i file:

L’accesso al percorso ‘D: \ WebSites \ myapp.co.uk \ companydata \ filename.pdf’ è negato.

Quando controllo IIS vedo che l’applicazione è in esecuzione nell’account DefaultAppPool, tuttavia, non ho mai impostato le autorizzazioni di Windows in questa cartella per includere IIS AppPool \ DefaultAppPool

Invece, per smettere di urlare i clienti ho concesso le seguenti autorizzazioni sulla cartella:

IUSR

  • Leggi ed esegui
  • Elenca contenuto della cartella
  • Leggere
  • Scrivi

IIS_IUSRS

  • Modificare
  • Leggi ed esegui
  • Elenca contenuto della cartella
  • Leggere
  • Scrivi

Questo sembra aver funzionato, ma sono preoccupato che siano stati impostati troppi privilegi. Ho letto online informazioni contrastanti sull’effettiva necessità di IUSR qui. Qualcuno può chiarire quali utenti / permessi sarebbero sufficienti per creare ed eliminare documenti su questa cartella per favore? Inoltre, è parte IUSR del gruppo IIS_IUSRS?

Aggiornamento e soluzione

Si prega di vedere la mia risposta qui sotto . Ho dovuto farlo purtroppo perché alcuni suggerimenti recenti non erano ben pensati, o addirittura sicuri (IMO).

Detesto pubblicare la mia risposta, ma alcune risposte di recente hanno ignorato la soluzione che ho postato nella mia stessa domanda, suggerendo approcci che sono a dir poco sconsiderati.

In breve , non è necessario modificare alcun privilegio dell’account utente Windows . Ciò solo introduce rischi. Il processo è interamente gestito in IIS utilizzando privilegi ereditati.

Applicare le autorizzazioni di modifica / scrittura all’account utente corretto

  1. Fai clic con il tasto destro del mouse sul dominio quando appare sotto l’elenco Siti e seleziona Modifica autorizzazioni

    inserisci la descrizione dell'immagine qui

    Nella scheda Sicurezza , vedrai MACHINE_NAME\IIS_IUSRS elencato. Ciò significa che IIS ha automaticamente il permesso di sola lettura sulla directory (ad esempio per eseguire ASP.Net nel sito). Non è necessario modificare questa voce .

    inserisci la descrizione dell'immagine qui

  2. Fai clic sul pulsante Modifica , quindi Aggiungi …

  3. Nella casella di testo, digitare IIS AppPool\MyApplicationPoolName , sostituendo MyApplicationPoolName con il nome del dominio, ad esempio IIS AppPool\mydomain.com

    inserisci la descrizione dell'immagine qui

  4. Premi il pulsante Controlla nomi . Il testo digitato si trasformsrà (notare la sottolineatura):

    inserisci la descrizione dell'immagine qui

  5. Premere OK per aggiungere l’utente

  6. Con il nuovo utente (il tuo dominio) selezionato, ora puoi tranquillamente fornire qualsiasi authorization Modifica o Scrittura

    inserisci la descrizione dell'immagine qui

IUSR fa parte del gruppo IIS_IUSER. Suppongo che tu possa rimuovere le autorizzazioni per IUSR senza preoccuparti. Ulteriori letture

Tuttavia, nel tempo è sorto un problema poiché sempre più servizi di sistema di Windows hanno iniziato a funzionare come NETWORKSERVICE. Questo perché i servizi in esecuzione come NETWORKSERVICE possono manomettere altri servizi eseguiti con la stessa id quadro. Poiché i processi di lavoro IIS eseguono il codice di terze parti per impostazione predefinita (ASP classico, ASP.NET, codice PHP), era giunto il momento di isolare i processi di lavoro IIS da altri servizi di sistema di Windows ed eseguire processi di lavoro IIS con id quadro univoche. Il sistema operativo Windows fornisce una funzionalità chiamata “Account virtuali” che consente a IIS di creare identity framework univoche per ciascuno dei suoi pool di applicazioni. DefaultAppPool è il pool predefinito assegnato a tutto il pool di applicazioni creato.

Per renderlo più sicuro, è ansible modificare l’id quadro DefaultAppPool di IIS in ApplicationPoolIdentity.

Per quanto riguarda l’authorization, Crea ed Elimina riassume tutti i diritti che possono essere forniti. Quindi qualsiasi cosa tu abbia assegnato al gruppo IIS_USERS è che richiederanno. Niente di più, niente di meno.

spero che questo ti aiuti.

Quando ho aggiunto l’authorization IIS_IUSRS alla cartella del sito – le risorse, come js e css, erano ancora inaccessibili (errore 401, proibito). Tuttavia, quando ho aggiunto IUSR, è diventato ok. Quindi di sicuro “NON PUOI rimuovere le autorizzazioni per IUSR senza preoccuparsi”, caro @Travis G @

@EvilDr È ansible creare un account IUSR_ [identificativo] all’interno dell’ambiente AD e lasciare che il particolare pool di applicazioni venga eseguito con tale account IUSR_ [identificativo]:

“Pool di applicazioni”> “Impostazioni avanzate”> “Identity framework”> “Account personalizzato”

Imposta il tuo sito web su “Utente Applicaton (autenticazione pass-through)” e non su “Utente specifico”, nelle Impostazioni avanzate.

Ora diamo a IUSR_ [identificatore] le autorizzazioni NTFS appropriate su file e cartelle, ad esempio: modifica sui dati società.

Vorrei utilizzare utenti specifici (e NON utenti dell’applicazione). Quindi abiliterò la rappresentazione nell’applicazione. Una volta che l’account è stato impostato come utente specifico, quelle credenziali sarebbero utilizzate per accedere alle risorse locali su quel server (non per risorse esterne).

L’impostazione Utente specifica è specificatamente pensata per accedere alle risorse locali.

Il gruppo IIS_IUSRS ha risalto solo se si utilizza ApplicationPool Identity. Anche se questo gruppo sembra vuoto in fase di esecuzione, IIS aggiunge a questo gruppo per eseguire un processo di lavoro in base alla letteratura Microsoft.

L’authorization IIS_IUser è più che sufficiente per creare o eliminare file. Nessuna authorization per IUser. Sto dando questa authorization per più di 20 cartelle. Sto cercando un modo alternativo per fare anche questo. Suggeriscimi se qualche opzione è disponibile