Liste de contrôle : sécurisation des services d'entreprise
Sur cette page
Vérifications effectuées par le développeur
Liste de contrôle de l'administrateur
Vérifications effectuées par le développeur
Effectuez les vérifications suivantes si vous créez des composants de service.
Authentification
| Contrôle | Description |
|---|---|
|
| Vous utilisez au minimum l'authentification au niveau appel afin d'empêcher des accès anonymes. Les assemblys des composants de service intègrent : [assembly: ApplicationAccessControl( Authentication = AuthenticationOption.Call)] |
Autorisation
| Contrôle | Description |
|---|---|
|
| La sécurité basée sur les rôles est activée. Les assemblys des composants de service intègrent : [assembly: ApplicationAccessControl(true)] |
|
| Les contrôles d'accès au niveau composant sont activés de façon à prendre en charge la vérification des rôles au niveau composant, interface et méthode. Les assemblys des composants de service intègrent : [assembly: ApplicationAccessControl(AccessChecksLevel= AccessChecksLevelOption.ApplicationComponent)] |
|
| Les contrôles d'accès au niveau composant sont imposés pour tous les composants de service. Les classes sont annotées par : [ComponentAccessControl(true)] |
|
| Pour prendre en charge la sécurité au niveau méthode, l'attribut [SecurityMethod] est utilisé sur les classes ou les implémentations de méthodes, ou l'attribut [SecurityRole] est employé sur les implémentations de méthode. |
Gestion de la configuration
| Contrôle | Description |
|---|---|
|
| Les applications de serveur sont configurées pour s'exécuter avec les comptes les moins privilégiés. |
|
| Les applications serveur s'exécutent uniquement en utilisant le compte utilisateur interactif pendant le développement. |
|
| Les chaînes de constructeur d'objet ne contiennent pas de secrets en texte clair. |
Données sensibles
| Contrôle | Description |
|---|---|
|
| En l'absence de cryptage IPSec, le cryptage RPC est utilisé pour sécuriser les données sensibles sur le réseau lorsque aucune infrastructure IPSec n'existe. Les assemblys de composants de service utilisant le cryptage RPC intègrent : [assembly: ApplicationAccessControl( Authentication = AuthenticationOption.Privacy)] |
Audit et journalisation
| Contrôle | Description |
|---|---|
|
| Les transactions de l'utilisateur sont consignées dans un journal des événements. L'enregistrement d'audit comprend l'identité de l'appelant d'origine provenant de SecurityCallContext.OriginalCaller. |
Questions relatives au déploiement
| Contrôle | Description |
|---|---|
|
| Les plages de ports sont définies si vous utilisez une affectation dynamique des plages de ports OU si le mappage statique des points finals est configuré. |
|
| Les secrets ne sont pas stockés dans les chaînes du constructeur d'objet. Les secrets tels que les chaînes de connexion aux bases de données sont cryptées avant leur stockage. |
|
| Le compte « Exécuter en tant que » du serveur d'application est configuré comme compte à accès moins privilégié. |
Emprunt d'identité
| Contrôle | Description |
|---|---|
|
| Le niveau d'emprunt d'identité est correctement configuré. Pour les clients ASP.NET, le niveau d'emprunt d'identité est défini dans Machine.config, dans l'élément <processModel>. |
|
| Les assemblys de composants de service définissent le niveau d'emprunt d'identité requis en utilisant l'attribut ApplicationAccessControl comme indiqué ci-dessous : [assembly: ApplicationAccessControl( ImpersonationLevel=ImpersonationLevelOption.Identify)] |
Liste de contrôle de l'administrateur
| Contrôle | Description |
|---|---|
|
| Les dernières versions des correctifs et des mises à jour de COM+ sont installées. |
|
| Les chaînes de constructeur d'objet ne contiennent pas de secrets en texte clair. |
|
| Les composants d'administration COM+ ne sont pas restreints. |
|
| Le niveau d'emprunt d'identité défini pour l'application est correct. |
|
| Les applications serveur sont configurées pour s'exécuter avec un compte moins privilégié. Les applications serveur ne peuvent pas être exécutées avec l'identité d'un utilisateur qui s'est connecté interactivement. |
|
| Le service DTC est désactivé s'il n'est pas nécessaire. |