Infrastructure de sécurité : Audit et journalisation | Atténuation des risques
Produit/Service | Article |
---|---|
Dynamics CRM | |
Application Web |
|
Sauvegarde de la base de données | |
Stockage Azure | |
WCF | |
API Web | |
Passerelle de champ IoT | |
Passerelle de cloud IoT |
Identifier les entités sensibles dans votre solution et implémenter l’audit des modifications
Intitulé | Détails |
---|---|
Composant | Dynamics CRM |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | Identifier les entités dans votre solution qui contiennent des données sensibles et implémenter l’audit des modifications sur ces entités et champs |
Vérifier que l’audit et la journalisation sont appliqués à l’application
Intitulé | Détails |
---|---|
Composant | Application Web |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | Activez l’audit et la journalisation sur tous les composants. Les journaux d’audit doivent capturer le contexte de l’utilisateur. Identifiez tous les événements importants et enregistrez ces événements. Implémenter la journalisation centralisée |
Vérifier que la rotation et la séparation des journaux sont en place
Intitulé | Détails |
---|---|
Composant | Application Web |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | La rotation des journaux est un processus automatisé utilisé dans l’administration système dans lequel les fichiers journaux obsolètes sont archivés. Les serveurs qui exécutent des applications importantes journalisent généralement chaque demande : en ce qui concerne les journaux d’activité volumineux, la rotation des journaux d’activité permet de limiter la taille totale des journaux d’activité tout en permettant l’analyse des événements récents. Par principe, la séparation des journaux signifie que vous devez stocker vos fichiers journaux sur une partition différente de celle sur laquelle votre système d’exploitation/application est exécutée afin d’éviter une attaque par déni de service ou la rétrogradation des performances de votre application |
Vérifier que l’application n’enregistre pas de données utilisateur sensibles
Intitulé | Détails |
---|---|
Composant | Application Web |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | Vérifiez que vous n’enregistrez aucune donnée sensible fournie par un utilisateur sur votre site. Vérifiez la journalisation intentionnelle, ainsi que les effets secondaires dus à des problèmes de conception. Voici quelques exemples de données sensibles :
|
Vérifier que l’accès aux fichiers d’audit et journaux est restreint
Intitulé | Détails |
---|---|
Composant | Application Web |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | Vérifiez que les droits d’accès aux fichiers journaux sont définis correctement. Les comptes d’application doivent disposer d’un accès en écriture seule, et les opérateurs et le personnel de support doit disposer d’un accès en lecture seule en fonction des besoins. Les comptes d’administrateur sont les seuls comptes à devoir disposer d’un accès complet. Vérifiez les ACL Windows sur les fichiers journaux pour vous assurer qu’ils sont restreints correctement :
|
Vérifier que les événements de gestion des utilisateurs sont enregistrés
Intitulé | Détails |
---|---|
Composant | Application Web |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | Vérifiez que l’application surveille les événements de gestion des utilisateurs tels que les connexions utilisateur ayant réussi ou échoué, les réinitialisations de mot de passe, les modifications de mot de passe, le verrouillage de compte, l’inscription utilisateur. Ceci permet de détecter et de réagir à un comportement potentiellement suspect. Ceci permet également de recueillir des données opérationnelles ; par exemple, pour suivre qui accède à l’application |
Vérifier que le système intègre des défenses contre l’utilisation malveillante
Intitulé | Détails |
---|---|
Composant | Application Web |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | Les contrôles permettant de lever des exceptions de sécurité en cas de mauvaise utilisation de l’application doivent être en place. Par exemple, si la validation des entrées est en place et qu’une personne malveillante tente d’injecter un code malveillant ne correspondant pas à l’expression régulière, une exception de sécurité pouvant être le signe d’une mauvaise utilisation du système peut être relevée Par exemple, il est recommandé d’enregistrer des exceptions de sécurité et des actions pour les problèmes suivants :
|
Activer la journalisation des diagnostics pour les applications web dans Azure App Service
Intitulé | Détails |
---|---|
Composant | Application Web |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | EnvironmentType - Azure |
Informations de référence | N/A |
Étapes | Azure fournit des diagnostics intégrés pour aider au débogage d'une application web App Service. Ils s’appliquent également aux applications API et aux applications mobiles. Les applications web App Service fournissent des fonctionnalités de diagnostic pour les informations de journalisation provenant du serveur Web et de l'application web. Ces informations sont réparties, en toute logique, en diagnostics de serveur web et en diagnostics d’application |
Vérifier que l’audit des connexions est activé sur SQL Server
Intitulé | Détails |
---|---|
Composant | Base de données |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | Configurer l’audit de connexion |
Étapes | L’audit de connexion du serveur de bases de données doit être activé pour détecter/confirmer les attaques visant à deviner les mots de passe. Il est important de capturer les échecs de tentatives de connexion. La capture des échecs et réussites de tentatives de connexion offre des avantages supplémentaires pendant les investigations |
Activer la détection des menaces sur SQL Azure
Intitulé | Détails |
---|---|
Composant | Base de données |
Phase SDL | Build |
Technologies applicables | SQL Azure |
Attributs | Version SQL - V12 |
Informations de référence | Prise en main de Threat Detection pour la base de données SQL |
Étapes | Threat Detection permet de détecter les activités base de données anormales indiquant la présence potentielle de menaces de sécurité pour la base de données. Elle fournit une nouvelle couche de sécurité qui permet aux clients de détecter les menaces potentielles et d’y répondre à mesure qu’elles se présentent en générant des alertes de sécurité sur les activités anormales. Les utilisateurs peuvent explorer les événements suspects à l’aide de l’audit Azure SQL Database pour déterminer s’ils sont le résultat d’une tentative d’accès, d’une violation ou d’une exploitation des données dans la base de données. Threat Detection vous permet de réagir facilement aux menaces potentielles à la base de données sans avoir à acquérir une expertise de la sécurité ou à gérer des systèmes de surveillance de la sécurité avancés |
Utiliser Azure Storage Analytics pour auditer l’accès d’Azure Storage
Intitulé | Détails |
---|---|
Composant | Stockage Azure |
Phase SDL | Déploiement |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | Utilisation de Storage Analytics pour surveiller le type d’autorisation |
Étapes | Pour chaque compte de stockage, l’utilisateur peut activer Azure Storage Analytics pour effectuer la journalisation et stocker les données de métriques. Les journaux d’activité d’analyse du stockage fournissent des informations importantes comme la méthode d’authentification utilisée par un utilisateur lors de l’accès au stockage. Cela peut être très utile si vous surveillez étroitement l’accès au stockage. Par exemple, dans Blob Storage, vous pouvez définir tous les conteneurs comme privés et implémenter l’utilisation d’un service SAP dans toutes vos applications. Vous pouvez alors vérifier régulièrement les journaux d’activité pour voir si vos objets blob font l’objet d’un accès à l’aide de clés de compte de stockage, ce qui peut indiquer une violation de la sécurité, ou si les objets blob sont publics alors qu’ils ne devraient pas l’être. |
Implémenter une journalisation suffisante
Intitulé | Détails |
---|---|
Composant | WCF |
Phase SDL | Build |
Technologies applicables | .NET Framework |
Attributs | N/A |
Informations de référence | MSDN, Fortify Kingdom |
Étapes | L’absence d’une piste d’audit correcte après un incident de sécurité peut entraver les efforts d’investigation. Windows Communication Foundation (WCF) offre la possibilité d’enregistrer les tentatives d’authentification ayant réussi et/ou échoué. La journalisation des tentatives d’authentification ayant échoué peut avertir les administrateurs de potentielles attaques en force brute. De même, la journalisation des événements d’authentification ayant réussi peut fournir à une piste d’audit utile lorsqu’un compte légitime est compromis. Activer la fonctionnalité d’audit de la sécurité de service de WCF |
Exemple
Voici un exemple de configuration dans lequel l’audit est activé
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name=""NewBehavior"">
<serviceSecurityAudit auditLogLocation=""Default""
suppressAuditFailure=""false""
serviceAuthorizationAuditLevel=""SuccessAndFailure""
messageAuthenticationAuditLevel=""SuccessAndFailure"" />
...
</behavior>
</servicebehaviors>
</behaviors>
</system.serviceModel>
Implémenter une gestion suffisante des échecs d’audit
Intitulé | Détails |
---|---|
Composant | WCF |
Phase SDL | Build |
Technologies applicables | .NET Framework |
Attributs | N/A |
Informations de référence | MSDN, Fortify Kingdom |
Étapes | La solution développée est configurée pour ne pas générer d’exception lorsqu’elle ne parvient pas à écrire dans un journal d’audit. Si WCF est configuré pour ne pas lever une exception lorsqu’il ne parvient pas à écrire dans un journal d’audit, le programme n’est pas informé de l’échec et l’audit des événements de sécurité critiques ne peut pas être réalisé. |
Exemple
L’élément <behavior/>
du fichier de configuration WCF ci-dessous indique à WCF de ne pas informer l’application lorsqu’il ne parvient pas à écrire dans un journal d’audit.
<behaviors>
<serviceBehaviors>
<behavior name="NewBehavior">
<serviceSecurityAudit auditLogLocation="Application"
suppressAuditFailure="true"
serviceAuthorizationAuditLevel="Success"
messageAuthenticationAuditLevel="Success" />
</behavior>
</serviceBehaviors>
</behaviors>
Configurez WCF pour informer le programme chaque fois qu’il ne parvient pas à écrire dans un journal d’audit. Un autre schéma de notification doit être en place dans le programme pour alerter l’organisation que les pistes d’audit ne sont pas conservées.
Vérifier que l’audit et la journalisation sont appliqués à l’API web
Intitulé | Détails |
---|---|
Composant | API Web |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | Activez l’audit et la journalisation sur les API web. Les journaux d’audit doivent capturer le contexte de l’utilisateur. Identifiez tous les événements importants et enregistrez ces événements. Implémenter la journalisation centralisée |
Vérifier que l’audit et la journalisation appropriés sont appliqués sur la passerelle de champ
Intitulé | Détails |
---|---|
Composant | Passerelle de champ IoT |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | N/A |
Étapes | Lorsque plusieurs appareils se connectent à une passerelle de champ, vérifiez que les tentatives de connexion et l’état d’authentification (réussite ou échec) des appareils individuels sont enregistrés et conservés sur la passerelle de champ. De plus, lorsque la passerelle de champ conserve les informations d’identification IoT Hub d’appareils individuels, vérifiez que l’audit est effectué lorsque ces informations d’identification sont récupérées. Développez un processus pour télécharger régulièrement les journaux d’activité dans Azure IoT Hub/Storage pour une rétention sur le long terme. |
Vérifier que l’audit et la journalisation appropriés sont appliqués sur la passerelle de cloud
Intitulé | Détails |
---|---|
Composant | Passerelle cloud IoT |
Phase SDL | Build |
Technologies applicables | Générique |
Attributs | N/A |
Informations de référence | Introduction à la surveillance des opérations IoT Hub |
Étapes | Concevez la collecte et le stockage des données d’audit collectées via la surveillance des opérations IoT Hub. Activez les catégories de surveillance suivantes :
|