2009-02-26 8 views
1

J'ai une installation Windows Server 2008 normale avec II7. Chaque site a son propre pool d'applications. Mais il y a un problème de sécurité.Problème d'autorisation IIS7

Il n'y a aucune restriction pour une application asp.net pour écrire un fichier dans C: ou tout autre directorys. Dans IIS 6 avant que cela puisse se produire, je devrais définir ces droits dans les autorisations de sécurité du dossier Windows et permettre à ASPNET_Usr de le faire.

Quelle est la meilleure pratique pour l'hébergement d'applications asp.net et ne leur permettant pas d'écrire un fichier de lecture, par exemple dans c :?

EDIT

Anonyme Auth. est activé et que l'utilisateur spécifié est "ISUR". Toutes les autres authentifications sont désactivées. Dans le pool d'applications, j'utilise l'identité de processus "Service réseau".

J'ai créé un nouvel utilisateur sur le serveur (pas dans le domaine) « www.xyz.test » et supprimé toutes ses appartenances de groupe. Changé l'identité de processus à cet utilisateur et fait l'authentification anonyme utiliser l'identité du pool d'applications et était encore capable d'écrire à C :.

Changer le niveau de confiance est dans mon cas pas une option parce que nous utilisons une application 3ème partie

Répondre

0

Sons comme les autorisations de site Web (IIS) sont réglées sur
- Windows Auth: Et vous vous connectez avec quelqu'un qui a des autorisations à ces dossiers
ou
- Anonymous Auth: Et le compte La meilleure pratique serait de s'assurer que le compte qui est utilisé pour accéder au site (c'est-à-dire si windows auth - votre compte ou si anonyme puis le compte qui est usurpé) n'a pas les permissions sur les dossiers.

Vous pouvez également augmenter le niveau de confiance à moyen, élevé ou complet dans le fichier machine.config pour des stratégies d'application de sécurité supplémentaires. Toutefois, soyez prudent car cela peut entraîner l'échec de certaines applications ASP.NET.

+0

Anonyme Ath est activé et l'utilisateur spécifié est "ISUR". Toutes les autres authentifications sont désactivées. Dans le pool d'applications, j'utilise l'identité de processus "Service réseau". –

+0

J'ai créé un nouvel utilisateur sur le serveur (pas dans le domaine) "www.xyz.test" et supprimé toutes les adhésions à son groupe. Changé l'identité de processus à cet utilisateur et fait l'authentification anonyme utiliser l'identité du pool d'applications et était encore capable d'écrire à C :. –

+0

Changer le niveau de confiance est dans mon cas pas une option parce que nous utilisons une application tierce –

1

Tout dépend de quel compte utilisateur de votre site Web asp.net est en cours d'exécution sur. C'est à dire. est-ce le service réseau? Pour autant que je sache, si je veux être en mesure d'écrire dans le répertoire web, je donne à mon compte de site Web l'accès en écriture uniquement dans le répertoire où je veux enregistrer des fichiers. Le compte que j'utilise est celui utilisé pour l'authentification anonyme.

I.e. J'ai un site Web appelé mycompany.com. Je crée ce compte d'utilisateur dans le cadre du groupe d'utilisateurs de domaine. J'ajoute ceci comme identifiant d'authentification anonyme et lui donne accès à la racine web, et j'écris aussi l'accès au dossier imbriqué que je veux aussi écrire.

Le compte utilisateur serait appelé mycompany.com donc je sais qu'il a un reponsibility uniquement pour les autorisations liées au Web et ce site particulier.