Question

Mon application Web s'exécute dans IIS 6.0 sous Windows Server 2003, et nous savons tous que dans cette situation, le compte d'utilisateur "Service réseau" est utilisé par IIS.

Il devait permettre à certains utilisateurs d'effectuer une action sur ma page Web, et cette action nécessite un privilège administrateur.

La solution la plus paresseuse me semble ajouter du «service réseau» au groupe des administrateurs, et cela fonctionne réellement.

Ma question est de savoir comment DANGEREUX Cette solution est, et de quelle manière peut-elle compromettre la sécurité de mon serveur Web?

Était-ce utile?

La solution

C'est généralement "une mauvaise idée". S'il s'agit d'un serveur au visage public, c'est une très mauvaise idée.

Ce que vous devez faire, et c'est ainsi que nous abordons des problèmes comme celui-ci, c'est le bac à sable les tâches d'administration spécifiques que vous devez effectuer dans un autre processus tel qu'un service Windows qui a des droits élevés.

Nous hébergeons ensuite un serveur à distance dans le service Windows et communiquons avec le service sur un tuyau nommé ou TCP / IP (si la machine à la machine et cela se situe sur un réseau privé arrière).

Pour plus d'informations, veuillez consulter cette réponse que j'ai laissée à un autre utilisateur concernant un problème similaire:

Compte utilisateur Windows qui exécute uniquement les dispositions IIS7

Une approche encore meilleure serait de ne jamais avoir de communication directe entre l'application Web et le service Windows, mais passez par un intermédiaire tel qu'une file d'attente de travaux ou de messages. Votre application privilégiée à faible privilégie demande la demande de la tâche d'administration à effectuer, votre service privilégié élevé lit ces tâches à partir de la file d'attente et les réalise.

Dans les deux cas, vous devez vous assurer de ne pas surmonter la responsabilité de chaque tâche. IE Assurez-vous que si la tâche consiste à créer un nouveau compte Windows sur le serveur, ne permettez pas à ce nouveau compte d'obtenir plus de droits qu'il n'en a besoin.

Autres conseils

Si je devais écrire une fonction Web qui nécessitait un administrateur de niveau box, je ferais que sa propre application dans son propre pool d'applications verrouille cette application aussi étroitement que possible, donner à ce pool d'applications un compte nommé (une ressource de domaine, Si sur un Active Directory), puis donnez à ce compte les privilèges d'administration sur la case. Le garder dans son propre pool d'applications le verrouille efficacement de votre application régulière.

Le service d'autorité / réseau NT interagit avec une tonne de choses sur votre machine. Je ne peux pas trouver de bonnes raisons d'obtenir des privilèges d'administration de service réseau.

En aucun cas, cela ne fait.

Si vous ajoutez un service réseau à un groupe d'administration, tous les utilisateurs anonymes accédant à votre application Web seront des administrateurs par défaut et le potentiel de dommage est massif.

Par votre question

Il devait permettre à certains utilisateurs d'effectuer une action sur ma page Web, et cette action nécessite un privilège administrateur.

C'est bien - utilisez l'authentification Windows sur cette page Web et faites de l'utilisateur un administrateur Windows normal. Maintenant, eux, et tous les autres administrateurs, peuvent effectuer les tâches que vous avez configurées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top