Sécuriser les applications basées sur le .NET Framework

Cet article décrit les considérations importantes relatives à la sécurisation des applications basées sur Microsoft .NET Framework.

Version d’origine du produit : .NET Framework
Numéro de la base de connaissances d’origine : 818014

Résumé

Cet article fait partie d’une série d’articles qui fournissent des informations détaillées pour les applications basées sur le .NET Framework.

Les articles de cette série incluent les articles suivants :

Ajuster la sécurité du .NET Framework zone par zone

Le .NET Framework attribue des niveaux de confiance aux assemblys managés. Ces affectations sont basées, en partie, sur la zone où l’assembly s’exécute. Les zones standard sont Mon ordinateur, Intranet local, Internet, Sites de confiance et Sites non approuvés. Vous devrez peut-être augmenter ou réduire le niveau de confiance associé à l’une de ces zones. Le .NET Framework inclut des outils permettant d’ajuster ces paramètres.

Ajuster le niveau de confiance dans un assembly .NET Framework

Le .NET Framework comprend de nombreuses façons de déterminer le niveau de confiance que vous devez accorder à un assembly. Toutefois, vous pouvez faire des exceptions aux règles pour permettre à un assembly spécifique de recevoir un niveau de confiance supérieur à celui qu’il reçoit généralement en fonction des preuves fournies au Common Language Runtime. Le .NET Framework fournit un outil d’Assistant spécifiquement à cet effet.

Restaurer les niveaux de stratégie qui ont été personnalisés

En tant qu’administrateur, vous disposez d’un contrôle total sur l’accès que vous accordez aux assemblys qui s’exécutent aux différents niveaux d’approbation. Si vous personnalisez les niveaux de confiance, vous pouvez rencontrer des problèmes lorsque vous exécutez une application qui s’exécute généralement sous un niveau de confiance standard. Toutefois, vous pouvez restaurer rapidement les niveaux de stratégie à leurs paramètres par défaut.

Évaluer les autorisations accordées à un assembly

Lorsque vous disposez de stratégies de configuration de sécurité d’entreprise, d’ordinateur et d’utilisateur, ainsi que de niveaux de confiance personnalisables, il peut être difficile d’évaluer les autorisations qui ont été accordées à un assembly managé. L’outil de configuration .NET Framework inclut une méthode simple pour évaluer ces autorisations.

Auditez la sécurité de . Applications connectées à NET

Pendant les mises à niveau, les tests et la résolution des problèmes, la configuration des systèmes de production peut changer de manière involontaire. Par exemple, un administrateur peut accorder des informations d’identification administratives à un utilisateur tout en déterminant si une erreur est liée aux droits d’accès. Si cet administrateur oublie de révoquer ces informations d’identification élevées après avoir terminé le processus de résolution des problèmes, l’intégrité du système est compromise.

Étant donné que la sécurité du système peut être dégradée au fil du temps par ce type d’action, il est judicieux d’effectuer des audits réguliers. Pour ce faire, documentez les aspects clés d’un système vierge pour créer une mesure de base. Comparez ces paramètres à la base de référence au fil du temps pour déterminer si des problèmes se sont développés susceptibles de réduire considérablement le niveau de vulnérabilité.

Configurez un . Application connectée au réseau et SQL Server utiliser un autre numéro de port pour les communications réseau

De nombreux outils automatisés identifient les services et les vulnérabilités disponibles en interrogeant les numéros de port connus. Ces outils incluent à la fois des outils légitimes d’évaluation de la sécurité et des outils que des utilisateurs malveillants peuvent utiliser.

Une façon de réduire l’exposition à ces types d’outils consiste à modifier le numéro de port utilisé par les applications. Vous pouvez appliquer cette méthode à . Applications connectées à NET qui s’appuient sur une base de données SQL Server principale. Cette méthode fonctionne si le serveur et le client sont configurés correctement.

Verrouiller une application web ou un service web ASP.NET

Il existe de nombreuses façons d’améliorer la sécurité des applications web et des services web ASP.NET. Par exemple, vous pouvez utiliser le filtrage de paquets, les pare-feu, les autorisations de fichier restrictives, le filtre ISAPI (Url Scan Internet Server Application Programming Interface) et des privilèges SQL Server soigneusement contrôlés. Il est judicieux de passer en revue ces différentes méthodes afin d’assurer une sécurité approfondie pour ASP.NET applications.

Configurer les autorisations de fichier NTFS pour renforcer la sécurité des applications ASP.NET

Les autorisations de fichier NTFS (New Technology File System) continuent d’être une couche importante de sécurité pour les applications web. ASP.NET applications incluent beaucoup plus de types de fichiers que les environnements d’application web précédents. Les fichiers auxquels les comptes d’utilisateur anonymes doivent avoir accès ne sont pas évidents.

Configurer SQL Server sécurité pour les applications basées sur le .NET Framework

Par défaut, SQL Server n’accorde pas aux utilisateurs la possibilité d’interroger ou de mettre à jour des bases de données. Cette règle s’applique également aux applications ASP.NET et au compte d’utilisateur ASPNET. Pour permettre aux applications ASP.NET d’accéder aux données stockées dans une base de données SQL Server, l’administrateur de base de données doit accorder des droits au compte ASPNET.

Pour plus d’informations sur la configuration des SQL Server pour autoriser les requêtes et les mises à jour à partir d’applications ASP.NET, consultez Configurer des autorisations sur des objets de base de données.

Configurer URLScan pour renforcer la protection des applications web ASP.NET

Lorsque vous installez URLScan sur un serveur Internet Information Services 5.0 (IIS 5.0), il est configuré pour autoriser l’exécution des applications ASP 3.0. Toutefois, lorsque vous installez le .NET Framework, la configuration URLScan n’est pas mise à jour pour inclure les nouveaux types de fichiers ASP.NET. Si vous souhaitez renforcer la sécurité du filtre ISAPI URLScan pour vos applications ASP.NET, ajustez la configuration URLScan.

Exiger l’authentification pour ASP.NET applications web

De nombreuses applications ASP.NET n’autorisent pas l’accès anonyme. Une application ASP.NET qui nécessite une authentification peut utiliser l’une des trois méthodes suivantes : authentification par formulaire, authentification .NET Passport et Authentification Windows. Chaque méthode d’authentification nécessite une technique de configuration différente.

Restreindre l’accès aux ressources web spécifiées par des utilisateurs spécifiques

ASP.NET inclut l’authentification par formulaire. Il s’agit d’un moyen unique d’authentifier les utilisateurs sans créer de comptes Windows. ASP.NET inclut également la possibilité d’accorder ou de refuser l’accès de ces utilisateurs à différentes ressources web.

Pour plus d’informations sur la façon de contrôler l’accès aux ressources web par utilisateur, consultez Comment empêcher des utilisateurs spécifiques d’accéder aux ressources web spécifiées.

Limiter les protocoles de services web autorisés par un serveur

Par défaut, ASP.NET prend en charge trois façons pour les clients de services web d’émettre des demandes aux services web : SOAP, HTTP GET et HTTP PUT. Toutefois, la plupart des applications ne nécessitent qu’une seule de ces trois méthodes. Il est judicieux de réduire la surface d’attaque en désactivant tous les protocoles inutilisés.

N’autorisez pas l’accès du navigateur à . Services web connectés au réseau

ASP.NET services web fournissent une interface conviviale pour les navigateurs pour permettre aux développeurs de créer plus facilement des clients de services web. Cette interface conviviale permet à toute personne pouvant accéder au service web d’afficher les détails complets des méthodes disponibles et des paramètres requis. Cet accès est utile pour les services web publics qui incluent uniquement des méthodes disponibles publiquement. Toutefois, cela peut réduire la sécurité des services web privés.

Pour plus d’informations sur la façon de contrôler l’accès aux ressources web par utilisateur, consultez Comment restreindre l’accès d’utilisateurs spécifiques aux ressources web spécifiées.

Utiliser ASP.NET pour protéger les types de fichiers

La structure des applications ASP.NET entraîne le stockage de nombreux fichiers privés avec les fichiers demandés par les utilisateurs finaux. ASP.NET protège ces fichiers en interceptant les demandes de fichiers et en retournant une erreur. Vous pouvez étendre ce type de protection à n’importe quel type de fichier à l’aide des paramètres de configuration. Si votre application inclut des types de fichiers inhabituels qui doivent rester privés, vous pouvez utiliser ASP.NET protection de fichiers pour protéger ces fichiers.

References

Pour plus d’informations sur la sécurisation des applications basées sur le .NET Framework, consultez Nouveautés du déploiement Windows 10.