Netskope

Règles prédéfinies Azure



🔍
Nom Description Service Rule
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Protection Azure Defender : Assurez-vous que Microsoft Defender for App Service est réglé sur 'Activé' L'activation d'Azure Defender permet la détection des menaces pour App Service, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForAppService
Protection du Centre de sécurité : assurez-vous que l’option « Notifier les alertes présentant le niveau de gravité suivant » est définie sur « Élevé ». Permet l'envoi d'alertes de sécurité par courriel au titulaire de l'abonnement ou à un autre contact de sécurité désigné. SecurityCenter
SecurityCenterPolicy devrait avoir AlertNotificationMinimalSeverity EQ « Élevé »
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Nom Description Service Rule
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous que le paramètre de diagnostic capture les catégories appropriées Le paramètre de diagnostic doit être configuré pour enregistrer les activités appropriées du plan de contrôle/gestion. Monitor
L'abonnement doit comporter les paramètres suivants : [ Journaux avec [ Catégorie eq "Administrative" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Alert" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Policy" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Security" et Enabled ] ].
Activer le contrôle d’accès basé sur les rôles (RBAC) au sein d’Azure Kubernetes Services Assurez-vous que le contrôle d'accès basé sur les rôles (RBAC) est activé sur toutes les instances Azure Kubernetes Services. Kubernetes
AKSCluster devrait avoir EnableRBAC
Vérifiez que l'alerte du journal d'activité existe pour l'attribution de stratégie de suppression. Créer une alerte dans le journal d'activité pour l'événement Suppression de l'attribution de stratégie Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [Conditions avec [ Valeur comme « Microsoft.Authorization/policyAssignments/delete » ] ]
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Protection du Centre de sécurité : assurez-vous que l’intégration de Microsoft Defender for Endpoint (WDATP) avec Microsoft Defender for Cloud est sélectionnée. Ce paramètre permet l’intégration de Microsoft Defender pour Endpoint avec Microsoft Defender for Cloud. SecurityCenter
La stratégie SecurityCenterPolicy doit inclure WDATPIntegratedWithSecurityCenter.
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Nom Description Service Rule
Assurez-vous que les « Tags » sont présents sur le « Kubernetes Cluster » Vérifiez la présence de balises sur les clusters Kubernetes Kubernetes
AKSCluster devrait avoir Tags len ( ) gt 0
Vérifiez que l'authentification App Service est configurée sur Azure App Service. L’authentification Azure App Service est une fonctionnalité qui peut empêcher les requêtes HTTP anonymes d’atteindre l’application API, ou authentifier celles qui possèdent des jetons avant qu’elles n’atteignent l’application API. Si une requête anonyme est reçue depuis un navigateur, le service d’application redirigera vers une page de connexion. Pour gérer le processus de connexion, un choix parmi un ensemble de fournisseurs d’identité peut être fait, ou un mécanisme d’authentification personnalisé peut être mis en place. Function
FunctionApp devrait avoir AuthSettings avec [ Activé et UnauthenticatedClientAction neq « AllowAnonymous » ]
Assurez-vous que l’application web redirige tout le trafic HTTP vers HTTPS dans Azure App Service Azure Web Apps permet aux sites d’exécuter par défaut à la fois sous HTTP et HTTPS. Les applications web peuvent être accessibles par toute personne utilisant des liens HTTP non sécurisés par défaut. Les requêtes HTTP non sécurisées peuvent être restreintes et toutes les requêtes HTTP redirigées vers le port HTTPS sécurisé. Il est recommandé de faire respecter le trafic uniquement HTTPS. Function
L'application de fonction doit avoir HTTPS uniquement.
Assurez-vous que l’application web utilise la dernière version du chiffrement TLS Le protocole TLS (Transport Layer Security) sécurise la transmission des données via Internet à l’aide d’une technologie de chiffrement standard. Le chiffrement doit être configuré avec la dernière version de TLS. Le service d’application permet TLS 1.2 par défaut, qui est le niveau TLS recommandé selon les standards industriels, comme PCI DSS. Function
FunctionApp devrait avoir des configurations avec [ Égalisation MinTLSVersion « 1.2 » ]
Assurez-vous que l’application web a « Certificats clients (certificats clients entrants) » sur « Activé » Les certificats client permettent à l’application de demander un certificat pour les requêtes entrantes. Seuls les clients possédant un certificat valide pourront accéder à l’application. Function
FunctionApp devrait avoir ClientCertEnabled
Assurez-vous que Register with Azure Active Directory est activé sur App Service L’identité du service géré dans App Service rend l’application plus sécurisée en éliminant les secrets de l’application, tels que les identifiants dans les chaînes de connexion. Lors de l’enregistrement avec Azure Active Directory dans le service d’applications, l’application se connecte de manière sécurisée à d’autres services Azure sans avoir besoin de nom d’utilisateur ni de mots de passe. Function
FunctionApp devrait avoir ADRegistered
Nom Description Service Rule
Assurez-vous que les machines virtuelles utilisent des disques gérés Migrer les disques durs virtuels (VHD) basés sur BLOB vers des disques managés sur des machines virtuelles Compute
VirtualMachine devrait avoir l’égalisation len() de UnmanagedDisks 0
Assurez-vous que l'« Agent OMS » est activé pour le « profil complémentaire ». Agent OMS activé dans le profil d’extension Kubernetes
AKSCluster devrait avoir des AddonProfiles. Agent OMS. Ég activé vrai
Assurez-vous que Microsoft Defender pour les registres de conteneurs est réglé sur 'Activé' L'activation de Microsoft Defender pour les registres de conteneurs permet la détection des menaces pour les registres de conteneurs, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForContainerRegistries
Microsoft Defender pour le cloud : assurez-vous que Microsoft Defender pour Kubernetes est activé. L'activation de Microsoft Defender pour Kubernetes permet la détection des menaces pour Kubernetes, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForKubernetes
Protection Azure Defender : assurez-vous que Microsoft Defender pour serveurs est activé. L’activation d’Azure Defender permet la détection des menaces pour Server, fournissant des renseignements sur les menaces, la détection d’anomalies et l’analyse du comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForServer
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Assurez-vous que « l’authentification du site » est activée sur « Application fonctionnelle » Vérifier que l’authentification est activée sur l’application Function Function
FunctionApp doit avoir tous les paramètres d'authentification avec [ Enabled eq true ].
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que les « disques déconnectés » sont chiffrés avec CMK Assurez-vous que les disques déconnectés dans un abonnement sont chiffrés avec une clé gérée par le client Compute
Disque où l’égalisation DiskAttachment « Unattached » doit avoir Encrypted
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]
Nom Description Service Rule
Assurez-vous que la suppression réversible est activée pour Azure Storage. Azure Storage peut être récupérable en activant la configuration de suppression logicielle. Cela sert à sauvegarder et récupérer des données lorsque des blocs ou instantanés de blobs sont supprimés le stockage
StorageAccount devrait avoir SoftDelete. Activé
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Protection SQL Server : Assurez-vous que VA règle « Scans périodiques récurrents » sur « activé » pour chaque serveur SQL Activer l'évaluation des vulnérabilités (VA) : analyses périodiques et récurrentes des serveurs SQL critiques et des bases de données SQL correspondantes SQL
SQL Server devrait avoir VulnerabilityAssessment.RecurringScansState
Protection du serveur SQL : assurez-vous que le paramètre VA « Envoyer les rapports d’analyse à » est configuré pour un serveur SQL. Configurez « Envoyer des rapports de scan à » avec les identifiants email des propriétaires de données ou parties prenantes concernées pour des serveurs SQL critiques SQL
SQLServer devrait avoir VulnerabilityAssessment.NotificationEmails len() gt 0
Protection de SQL Server : assurez-vous que l’évaluation des vulnérabilités (VA) est activée sur un serveur SQL en configurant un compte de stockage. Activez les analyses de service d’évaluation des vulnérabilités (VA) pour les serveurs SQL critiques et les bases de données SQL correspondantes SQL
SQLServer devrait avoir VulnerabilityAssessment . StorageAccount neq «  »
Assurez-vous que le protecteur TDE du serveur SQL est chiffré avec la clé gérée par le client Le TDE avec prise en charge des clés gérées par le client offre une transparence et un contrôle accrus sur le TDE Protector, une sécurité renforcée grâce à un service externe basé sur un HSM et la promotion de la séparation des tâches. SQL
SQL Server doit avoir TDEProtector.kind égal à "azurekeyvault" et TDEProtector.serverKeyType eq "AzureKeyVault" et TDEProtector.uri
Assurez-vous que le paramètre serveur log_connections est activé (ON) pour le serveur de base de données PostgreSQL. Activer log_connections sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir log_connections comme « ( ?i)on »
Assurez-vous que le paramètre serveur log_duration est activé pour PostgreSQL Database Server Activer log_duration sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir log_duration comme « ( ?i)on »
Assurez-vous que le paramètre serveur log_retention_days est supérieur à 3 jours pour le serveur de base de données PostgreSQL. Activez log_retention_days sur PostgreSQL Servers. SQL
PostgreSQLServer devrait avoir log_retention_days gte 4
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Nom Description Service Rule
Assurez-vous que l'accès non public à CosmosDB Assurez-vous que l'accès non public à CosmosDB Database
CosmosDB ne devrait pas avoir de IpRules avec [ valeur isPublic() ]
Protection SQL Server : Assurez-vous que « Permettre l’accès aux services Azure » pour PostgreSQL Database Server soit désactivé Désactiver l'accès depuis les services Azure au serveur de base de données PostgreSQL SQL
PostgreSQLServer ne devrait pas avoir firewall_rules avec [properties.startIpAddress EQ « 0.0.0.0 » et Properties.endIpAddress EQ « 0.0.0.0"]
Assurez-vous que le stockage des données critiques est chiffré avec une clé gérée par le client. Activez le chiffrement des données sensibles au repos en utilisant des clés gérées par le client plutôt que des clés gérées par Microsoft le stockage
Le compte de stockage doit avoir EncryptionType égal à "Microsoft.Keyvault".
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Microsoft Defender for Cloud : Assurez-vous que l’intégration Microsoft Defender for Cloud Apps (MCAS) avec Microsoft Defender for Cloud est sélectionnée Ce paramètre permet l’intégration de Microsoft Defender for Cloud Apps (MCAS) avec Microsoft Defender for Cloud. SecurityCenter
SecurityCenterPolicy devrait avoir MCASIntegratedWithSecurityCenter
Assurez-vous que les disques « OS et données » sont chiffrés avec CMK Assurez-vous que les disques du système d’exploitation (volumes de démarrage) et les disques de données (volumes non de démarrage) sont chiffrés avec CMK (clés gérées par le client). Les clés gérées par le client peuvent être soit ADE, soit un chiffrement côté serveur (SSE) Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk et DiskEncryptionStatus. DataDisk
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Protection de SQL Server : assurez-vous que le paramètre d’évaluation des vulnérabilités « Envoyer également des notifications par e-mail aux administrateurs et aux propriétaires d’abonnement » est activé pour chaque serveur SQL. Activez le paramètre Évaluation des vulnérabilités (VA) « Envoyer également des notifications par email aux administrateurs et aux propriétaires d’abonnement » SQL
SQLServer devrait avoir VulnerabilityAssessment.EmailSubscriptionAdmins
Assurez-vous que le conteneur de stockage contenant les journaux d’activité n’est pas accessible au public Le conteneur du compte de stockage contenant l’exportation du journal d’activité ne doit pas être accessible au public Monitor
ActivityLogProfile devrait avoir StorageContainerPublicAccess égal à "None"
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Assurez-vous que la règle d’accès réseau par défaut pour les comptes de stockage est définie pour refuser La restriction de l'accès réseau par défaut contribue à fournir une New couche de sécurité, étant donné que les comptes de stockage acceptent les connexions de clients situés sur n'importe quel réseau. Pour limiter l'accès à certains réseaux, l'action par défaut doit être modifiée. le stockage
StorageAccount ne devrait pas avoir d’ACL. Égalisation DefaultAction « Permettre »
Assurez-vous que les « services Microsoft de confiance » sont activés pour l’accès aux comptes de stockage Certains services Microsoft qui interagissent avec les comptes de stockage opèrent depuis des réseaux auxquels l’accès ne peut pas être accordé via les règles réseau. Pour aider ce type de service à fonctionner comme prévu, permettre à l’ensemble des services Microsoft de confiance de contourner les règles réseau. Ces services utiliseront ensuite une authentification forte pour accéder au compte de stockage. Si l’exception Permettre les services Microsoft de confiance est activée, les services suivants : Azure Backup, Azure Site Recovery, Azure DevTest Labs, Azure Event Grid, Azure Event Hubs, Azure Networking, Azure Monitor et Azure SQL données Warehouse (lorsqu’ils sont enregistrés dans l’abonnement), bénéficient de l’accès au compte de stockage. le stockage
StorageAccount devrait avoir une ACL. Contourner a (« AzureServices »)
Assurez-vous que la rétention de la « détection de menaces » soit « supérieure à 90 jours » pour les bases de données SQL La durée de conservation des données de détection des menaces de la base de données SQL doit être configurée à plus de 90 jours. SQL
SQLDatabase devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Assurez-vous que le chiffrement des données est activé sur une base de données SQL. Activez le chiffrement transparent des données sur chaque base de données SQL SQL
SQLDatabase doit avoir DataEncryption.TransparentDataEncryptionStatus égal à "Enabled"
Assurez-vous que le profil d’audit capture toutes les activités Le profil de journalisation doit être configuré pour exporter toutes les activités du contrôle/de la gestion. Monitor
ActivityLogProfile devrait avoir Catégories (« Écrire »), Catégories a (« Supprimer ») et Catégories a (« Action »)
Assurez-vous que le profil de journalisation capture les journaux d'activité pour toutes les régions, y compris la région mondiale. Configurez le profil de journalisation pour exporter les activités de toutes les régions/emplacements pris en charge par Azure, y compris l'emplacement global. Monitor
ActivityLogProfile devrait avoir l’égalisation AllRegion true
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Protection Azure Defender : assurez-vous que Microsoft Defender pour Azure SQL Database est activé. L’activation d’Azure Defender permet la détection des menaces pour les serveurs de bases de données Azure SQL, fournissant des renseignements sur les menaces, la détection d’anomalies et l’analyse du comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender should have AzureDefenderForAzureSQLDataBaseServers
Microsoft Defender for Cloud : Assurez-vous que Microsoft Defender for Key Vault est réglé sur « Activé » L'activation de Microsoft Defender pour Key Vault permet la détection des menaces pour Key Vault, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
Azure Defender devrait avoir Azure Defender pour Key Vault
Microsoft Defender pour le cloud : assurez-vous que Microsoft Defender pour les serveurs SQL sur les machines est activé. L'activation de Microsoft Defender pour les serveurs SQL sur les machines permet la détection des menaces pour les serveurs SQL sur les machines, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForSQLServersOnMachine
Protection Azure Defender : assurez-vous que Microsoft Defender pour le stockage est activé. L’activation d’Azure Defender permet la détection des menaces pour le Stockage, fournissant des renseignements sur les menaces, la détection d’anomalies et des analyses de comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForStorage
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Assurez-vous que « Audit » est réglé sur « Activé » pour les bases de données SQL Activez l’audit sur les bases de données SQL. SQL
SQLDatabase devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que la durée de conservation des données d'audit est supérieure à 90 jours pour les bases de données SQL. La rétention de l’audit de base de données SQL doit être configurée pour dépasser 90 jours. SQL
SQLDatabase devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Assurez-vous que les clés d’accès au compte de stockage sont périodiquement régénérées Régénérez les clés d'accès au compte de stockage tous les 90 jours. le stockage
StorageAccount devrait avoir KeyRegenerated
Assurez-vous que « Détection de menaces » est réglée sur « Activé » pour les bases de données SQL Activer la détection des menaces sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Types de détection de menaces » est défini sur « Tous » pour les bases de données SQL Activer tous les types de détection des menaces sur les bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Vérifiez que l'option « Envoyer les alertes à » est bien configurée pour les bases de données SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Adresses Email len() gt 0
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que le coffre à clés est récupérable Il est recommandé de rendre le coffre-fort de clés récupérable en activant les fonctions « Ne pas purger » et « Suppression logicielle ». Ceci afin d'éviter la perte de données chiffrées, notamment les comptes de stockage, les bases de données SQL et/ou les services dépendants fournis par les objets du coffre-fort de clés (clés, secrets, certificats), etc., comme cela peut se produire en cas de suppression accidentelle par un utilisateur ou d'activité perturbatrice d'un utilisateur malveillant. KeyVault
KeyVault devrait avoir les options EnableSoftDelete et EnablePurgeProtection.
Nom Description Service Rule
Assurez-vous que le « réseau virtuel » est intégré aux « points de terminaison » du service. Assurez-vous que le réseau virtuel est intégré aux points de terminaison de service. VPC
VirtualNetwork devrait avoir tous les sous-réseaux avec [ EndpointServices len ( ) gt 0 ]
Assurez-vous que « Appliquer la connexion SSL » soit réglé sur « Activé » pour le serveur de base de données MySQL standard Activez la connexion SSL sur les serveurs MYSQL. SQL
MYSQLServer devrait avoir sslEnforcement égal à "Enabled"
Assurez-vous que « Appliquer la connexion SSL » est réglé sur « ACTIVÉ » pour le serveur de base de données PostgreSQL Activez la connexion SSL sur les serveurs PostgreSQL. SQL
PostgreSQLServer devrait avoir sslEnforcement égal à "Enabled"
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Assurez-vous que « CORS allowed origin » est présent sur « Function App » Assurez-vous que FunctionApp dispose d'une origine autorisée CORS. Function
FunctionApp devrait avoir toutes les configurations avec [ CORS . AllowedOrigins len () gt 0 ]
Assurez-vous que le certificat SSL public est présent dans l'application de fonction. Assurez-vous que l'application Function possède un certificat SSL public. Function
FunctionApp devrait avoir PublicCertificates len ( ) gt 0
Nom Description Service Rule
Assurez-vous que LoadBalancer n’ait pas d’IP publique La configuration IP du frontend du LoadBalancer ne doit pas comporter d'adresses IP publiques. Réseau
Le LoadBalancer devrait avoir public_ip Len() EQ 0
Veillez à ce que les services UDP soient restreints sur Internet. Désactiver les ports UDP exposés sur Internet dans les groupes de sécurité réseau Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « UDP ») et Destination . PortRange avec [ (FromPort lte 22 et ToPort gte 22) ou (FromPort lte 53 et ToPort gte 53) ou (FromPort lte 67 et ToPort gte 67) ou (FromPort lte 80 et ToPort gte 80) ou (FromPort lte 123 et ToPort gte 123) ou (FromPort lte 161 et ToPort gte 161) ou (FromPort lte 389 et ToPort gte 389) ou (FromPort lte 443 et ToPort gte 443) ou (FromPort lte 520 et ToPort gte 520) ou (FromPort LTE 520) ou (FromPort LTE 520) ou (FromPort lte 547 et ToPort gte 547) ou (FromPort lte 1433 et ToPort gte 1433) ou (FromPort lte 1521 et ToPort gte 1521) ou (FromPort lte 1900 et ToPort gte 1900) ou (FromPort lte 3306 et ToPort gte 3306) ou (FromPort lte 3389 et ToPort gte 3389) ou (FromPort lte 5432 et ToPort gte 5432) ou (FromPort lte 27019 et ToPort gte 27017) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que le paramètre serveur log_checkpoints est défini sur ON pour PostgreSQL Database Server Activez log_checkpoints sur PostgreSQL Servers SQL
PostgreSQLServer devrait avoir log_checkpoints comme « ( ?i)on »
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
N’autorisez pas les groupes de sécurité réseau par défaut. Vérifiez la présence de groupes de sécurité réseau avec uniquement des règles par défaut, qui par défaut autorisent tout le trafic Internet sortant. Réseau
NetworkSecurityGroup devrait avoir SecurityRules len() gt 0 et pas de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction EQ « Inbound » et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ) ] et SecurityRules avec [ Égaliseur d’accès « Refuser » et Égalisation de direction « Sortie » et ( ( ( Destination . PortRange avec [ ( ( FromPort égalisation 0 et ToPort 65535 ) ] ) et ( ( Destination . Tapez l’égaliseur « Any » ) ou ( Destination . Tapez l’égaliseur « adresses IP » et Destination. Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ou ( Destination . Tapez l’égaliseur « Service Tag » et Destination. ServiceTag EQ « Internet » ) ) ) ]
Veillez à ce que tout le trafic entrant en provenance d’Internet soit restreint Vérifiez les groupes de sécurité réseau pour les règles autorisant tout trafic entrant en provenance d’Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de règles de sécurité avec [ Access eq "Allow" et Direction eq "Inbound" et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Type eq "Adresse IP" et ( Source . Adresses avec [ Prefix isPublic() ou Prefix dans ( "/0", "/0") ] ) ) ) ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Assurez-vous que l’accès aux bases de données relationnelles est restreint depuis Internet Veillez à ce que les ports des bases de données SQL courantes (SQL Server, MySQL, Oracle, PostgreSQL) ne soient pas autorisés à recevoir des connexions entrantes depuis Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction égaliseur « Inbound » et Protocol in (« * », « UDP », « TCP ») et ( Destination . PortRange avec [ (FromPort lte 1433 et ToPort gte 1433) ou (FromPort lte 3306 et ToPort gte 3306) ou (FromPort lte 1521 et ToPort gte 1521) ou (FromPort lte 5432 et ToPort gte 5432) ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ) ) ]
Assurez-vous que l’accès entrant depuis Internet soit restreint Assurez-vous que les groupes de sécurité réseau n'autorisent aucun accès entrant depuis Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction égaliseur « Inbound » et Protocol in (« * », « UDP », « TCP ») et ( Destination . PortRange avec [ ( ( FromPort EQ 0 et ToPort EQ 65535 ) ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ) ) ]
Assurez-vous que la période de conservation du journal de flux du groupe de sécurité réseau dépasse 90 jours Les journaux de flux du groupe de sécurité réseau doivent être activés et la période de conservation doit être définie sur une valeur supérieure ou égale à 90 jours. Réseau
NetworkSecurityGroup devrait avoir FlowLog. Politique de rétention. Jours > 90 et FlowLog. Politique de rétention. Activé
Assurez-vous que les protocoles de texte clair provenant d’Internet soient restreints Consultez les groupes de sécurité réseau pour l’accès entrant aux protocoles en texte clair (telnet, SMTP, POP, IMAP et SNMP) depuis Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction EQ « Inbound » et ( ( Protocole dans ( « * », « TCP » ) et ( Destination . PortRange avec [ ( FromPort lte 23 et ToPort gte 23 ) ou ( FromPort lte 25 et ToPort gte 25 ) ou ( FromPort lte 110 et ToPort gte 110 ) ou ( FromPort lte 143 et ToPort gte 143 ) ou ( FromPort lte 162 et ToPort gte 161 ) ] ) ) ou ( Protocole dans ( "*" , "UDP" ) et ( Destination . PortRange avec [ ( FromPort lte 162 et ToPort gte 161 ) ] ) ) ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( "0.0.0.0/0", "::/0", "/0", "/0") ] ) ) ]
Veillez à restreindre l'accès à Internet aux ports fréquemment attaqués. Empêcher l’accès entrant d’Internet vers les ports couramment attaqués (TCP 0, 19, 135-139, 445, 1080, 5900) et (UDP 67, 520, 547, 1900). Réseau
NetworkSecurityGroup ne devrait pas avoir de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction EQ « Inbound » et ( ( Protocole dans ( « * », « TCP » ) et ( Destination . PortRange avec [ ( FromPort lte 0 et ToPort gte 0 ) ou ( FromPort lte 19 et ToPort gte 19 ) ou ( FromPort lte 139 et ToPort gte 135 ) ou ( FromPort lte 445 et ToPort gte 445 ) ou ( FromPort lte 1080 et ToPort gte 1080 ) ou ( FromPort lte 5800 et ToPort gte 5800 ) ou ( FromPort lte 5900 et ToPort gte 5900) ] ) ) ou ( Protocole dans ( "*", "UDP" ) et ( Destination . PortRange avec [ ( FromPort lte 19 et ToPort gte 19 ) ou ( FromPort lte 123 et ToPort gte 123 ) ou ( FromPort lte 67 et ToPort gte 67 ) ou ( FromPort lte 139 et ToPort gte 135 ) ou ( FromPort lte 445 et ToPort gte 445 ) ou ( FromPort lte 520 et ToPort gte 520 ) ou ( FromPort lte 547 et ToPort gte 547 ) ou ( FromPort lte 1900 et ToPort gte 1900 ) ] ) ) ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( "0.0.0.0/0", "::/0", "/0", "/0" ) ] ) ) ]
Assurez-vous que l'accès FTP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour l’accès FTP depuis Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de règles de sécurité avec [ Access eq "Allow" and Direction eq "Inbound" and Protocol in ("*", "TCP") and ( Destination . PortRange avec [ ( FromPort lte 21 et ToPort gte 20 ) ] ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ) ) ]
Empêcher le trafic entrant d’Internet qui possède des adresses IP src usurpées ou invalides Empêchez tout trafic entrant en provenance d’internet qui possède des adresses IP sources non routables, réservées ou invalides. Réseau
NetworkSecurityGroup ne devrait pas avoir de règles de sécurité avec [ Access eq "Allow" et Direction eq "Inbound" et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Type eq "Adresse IP" et Source . Adresses avec [ Préfixe dans ( "0.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "192.0.0.0/24", "192.0.2.0/24", "192.88.99.0/24", "198.18.0.0/15", "198.51.100.0/25", "203.0.113.0/24", "224.0.0.0/4", "240.0.0.0/4", "255.255.255.255/32", "0.0.0.0/0" ) ] ) ) ]
Nom Description Service Rule
Assurez-vous que l'« Agent OMS » est activé pour le « profil complémentaire ». Agent OMS activé dans le profil d’extension Kubernetes
AKSCluster devrait avoir des AddonProfiles. Agent OMS. Ég activé vrai
Assurez-vous que les « Tags » sont présents sur le « Kubernetes Cluster » Vérifiez la présence de balises sur les clusters Kubernetes Kubernetes
AKSCluster devrait avoir Tags len ( ) gt 0
Assurez-vous que « l’authentification du site » est activée sur « Application fonctionnelle » Vérifier que l’authentification est activée sur l’application Function Function
FunctionApp doit avoir tous les paramètres d'authentification avec [ Enabled eq true ].
Assurez-vous que le certificat SSL public est présent dans l'application de fonction. Assurez-vous que l'application Function possède un certificat SSL public. Function
FunctionApp devrait avoir PublicCertificates len ( ) gt 0
Assurez-vous que « CORS allowed origin » est présent sur « Function App » Assurez-vous que FunctionApp dispose d'une origine autorisée CORS. Function
FunctionApp devrait avoir toutes les configurations avec [ CORS . AllowedOrigins len () gt 0 ]
Assurez-vous que l'accès non public à CosmosDB Assurez-vous que l'accès non public à CosmosDB Database
CosmosDB ne devrait pas avoir de IpRules avec [ valeur isPublic() ]
Assurez-vous que le « réseau virtuel » est intégré aux « points de terminaison » du service. Assurez-vous que le réseau virtuel est intégré aux points de terminaison de service. VPC
VirtualNetwork devrait avoir tous les sous-réseaux avec [ EndpointServices len ( ) gt 0 ]
Assurez-vous que LoadBalancer n’ait pas d’IP publique La configuration IP du frontend du LoadBalancer ne doit pas comporter d'adresses IP publiques. Réseau
Le LoadBalancer devrait avoir public_ip Len() EQ 0
Nom Description Service Rule
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Vérifiez que l'option « Envoyer les alertes à » est bien configurée pour les bases de données SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Adresses Email len() gt 0
Assurez-vous que « Service de messagerie et co-administrateurs » est « Activé » pour les bases de données SQL Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité provenant des bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. Eq EmailAccountAdmins « Activé »
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que « Audit » est réglé sur « Activé » pour les bases de données SQL Activez l’audit sur les bases de données SQL. SQL
SQLDatabase devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Détection de menaces » est réglée sur « Activé » pour les bases de données SQL Activer la détection des menaces sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Types de détection de menaces » est défini sur « Tous » pour les bases de données SQL Activer tous les types de détection des menaces sur les bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Nom Description Service Rule
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous que « Audit » est réglé sur « Activé » pour les bases de données SQL Activez l’audit sur les bases de données SQL. SQL
SQLDatabase devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Détection de menaces » est réglée sur « Activé » pour les bases de données SQL Activer la détection des menaces sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Types de détection de menaces » est défini sur « Tous » pour les bases de données SQL Activer tous les types de détection des menaces sur les bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Vérifiez que l'option « Envoyer les alertes à » est bien configurée pour les bases de données SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Adresses Email len() gt 0
Assurez-vous que « Service de messagerie et co-administrateurs » est « Activé » pour les bases de données SQL Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité provenant des bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. Eq EmailAccountAdmins « Activé »
Assurez-vous que le chiffrement des données est activé sur une base de données SQL. Activez le chiffrement transparent des données sur chaque base de données SQL SQL
SQLDatabase doit avoir DataEncryption.TransparentDataEncryptionStatus égal à "Enabled"
Assurez-vous que la durée de conservation des données d'audit est supérieure à 90 jours pour les bases de données SQL. La rétention de l’audit de base de données SQL doit être configurée pour dépasser 90 jours. SQL
SQLDatabase devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Assurez-vous que la rétention de la « détection de menaces » soit « supérieure à 90 jours » pour les bases de données SQL La durée de conservation des données de détection des menaces de la base de données SQL doit être configurée à plus de 90 jours. SQL
SQLDatabase devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Assurez-vous que la période de conservation du journal de flux du groupe de sécurité réseau dépasse 90 jours Les journaux de flux du groupe de sécurité réseau doivent être activés et la période de conservation doit être définie sur une valeur supérieure ou égale à 90 jours. Réseau
NetworkSecurityGroup devrait avoir FlowLog. Politique de rétention. Jours > 90 et FlowLog. Politique de rétention. Activé
Assurez-vous que les clés d’accès au compte de stockage sont périodiquement régénérées Régénérez les clés d'accès au compte de stockage tous les 90 jours. le stockage
StorageAccount devrait avoir KeyRegenerated
Nom Description Service Rule
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que les clés d’accès au compte de stockage sont périodiquement régénérées Régénérez les clés d'accès au compte de stockage tous les 90 jours. le stockage
StorageAccount devrait avoir KeyRegenerated
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Assurez-vous que la règle d’accès réseau par défaut pour les comptes de stockage est définie pour refuser La restriction de l'accès réseau par défaut contribue à fournir une New couche de sécurité, étant donné que les comptes de stockage acceptent les connexions de clients situés sur n'importe quel réseau. Pour limiter l'accès à certains réseaux, l'action par défaut doit être modifiée. le stockage
StorageAccount ne devrait pas avoir d’ACL. Égalisation DefaultAction « Permettre »
Assurez-vous que les « services Microsoft de confiance » sont activés pour l’accès aux comptes de stockage Certains services Microsoft qui interagissent avec les comptes de stockage opèrent depuis des réseaux auxquels l’accès ne peut pas être accordé via les règles réseau. Pour aider ce type de service à fonctionner comme prévu, permettre à l’ensemble des services Microsoft de confiance de contourner les règles réseau. Ces services utiliseront ensuite une authentification forte pour accéder au compte de stockage. Si l’exception Permettre les services Microsoft de confiance est activée, les services suivants : Azure Backup, Azure Site Recovery, Azure DevTest Labs, Azure Event Grid, Azure Event Hubs, Azure Networking, Azure Monitor et Azure SQL données Warehouse (lorsqu’ils sont enregistrés dans l’abonnement), bénéficient de l’accès au compte de stockage. le stockage
StorageAccount devrait avoir une ACL. Contourner a (« AzureServices »)
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que les groupes d'actions d'audit (AuditActionGroups) de la stratégie d'audit d'un serveur SQL sont correctement configurés. Configurez la propriété AuditActionGroups pour qu’elle aproprie les groupes afin de capturer toutes les activités critiques sur le serveur SQL et toutes les bases de données SQL hébergées sur le serveur SQL SQL
SQLServer devrait avoir AuditPolicy . AuditActionGroup a (« SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP », « FAILED_DATABASE_AUTHENTICATION_GROUP », « BATCH_COMPLETED_GROUP »)
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous que le chiffrement des données est activé sur une base de données SQL. Activez le chiffrement transparent des données sur chaque base de données SQL SQL
SQLDatabase doit avoir DataEncryption.TransparentDataEncryptionStatus égal à "Enabled"
Assurez-vous que le protecteur TDE du serveur SQL est chiffré avec la clé gérée par le client Le TDE avec prise en charge des clés gérées par le client offre une transparence et un contrôle accrus sur le TDE Protector, une sécurité renforcée grâce à un service externe basé sur un HSM et la promotion de la séparation des tâches. SQL
SQL Server doit avoir TDEProtector.kind égal à "azurekeyvault" et TDEProtector.serverKeyType eq "AzureKeyVault" et TDEProtector.uri
Assurez-vous que « Appliquer la connexion SSL » soit réglé sur « Activé » pour le serveur de base de données MySQL standard Activez la connexion SSL sur les serveurs MYSQL. SQL
MYSQLServer devrait avoir sslEnforcement égal à "Enabled"
Assurez-vous que le paramètre serveur log_checkpoints est défini sur ON pour PostgreSQL Database Server Activez log_checkpoints sur PostgreSQL Servers SQL
PostgreSQLServer devrait avoir log_checkpoints comme « ( ?i)on »
Assurez-vous que « Appliquer la connexion SSL » est réglé sur « ACTIVÉ » pour le serveur de base de données PostgreSQL Activez la connexion SSL sur les serveurs PostgreSQL. SQL
PostgreSQLServer devrait avoir sslEnforcement égal à "Enabled"
Assurez-vous que le paramètre serveur log_connections est activé (ON) pour le serveur de base de données PostgreSQL. Activer log_connections sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir log_connections comme « ( ?i)on »
Assurez-vous que le paramètre serveur log_disconnections est activé (ON) pour le serveur de base de données PostgreSQL. Activer log_disconnections sur les serveurs PostgreSQL. SQL
PostgreSQLServer devrait avoir des logs de déconnexion de type "(?i)on"
Assurez-vous que le paramètre serveur log_duration est activé pour PostgreSQL Database Server Activer log_duration sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir log_duration comme « ( ?i)on »
Assurez-vous que le paramètre serveur connection_throttling est activé pour PostgreSQL Database Server Activer la limitation de débit des connexions sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir une limitation de connexion de type "(?i)on"
Assurez-vous que le paramètre serveur log_retention_days est supérieur à 3 jours pour le serveur de base de données PostgreSQL. Activez log_retention_days sur PostgreSQL Servers. SQL
PostgreSQLServer devrait avoir log_retention_days gte 4
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous que le profil d’audit capture toutes les activités Le profil de journalisation doit être configuré pour exporter toutes les activités du contrôle/de la gestion. Monitor
ActivityLogProfile devrait avoir Catégories (« Écrire »), Catégories a (« Supprimer ») et Catégories a (« Action »)
Assurez-vous que le profil de journalisation capture les journaux d'activité pour toutes les régions, y compris la région mondiale. Configurez le profil de journalisation pour exporter les activités de toutes les régions/emplacements pris en charge par Azure, y compris l'emplacement global. Monitor
ActivityLogProfile devrait avoir l’égalisation AllRegion true
Assurez-vous que le compte de stockage contenant le conteneur avec les journaux d'activité est chiffré avec BYOK. Le compte de stockage avec le conteneur d’exportation du journal d’activité est configuré pour utiliser BYOK (Use Your Own Key). Monitor
ActivityLogProfile devrait avoir l’égalisation StorageAccount.EncryptionType « Microsoft.Keyvault » et StorageAccount.KeyVaultUri
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Assurez-vous que la période de conservation du journal de flux du groupe de sécurité réseau dépasse 90 jours Les journaux de flux du groupe de sécurité réseau doivent être activés et la période de conservation doit être définie sur une valeur supérieure ou égale à 90 jours. Réseau
NetworkSecurityGroup devrait avoir FlowLog. Politique de rétention. Jours > 90 et FlowLog. Politique de rétention. Activé
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Assurez-vous que les « disques déconnectés » sont chiffrés avec CMK Assurez-vous que les disques déconnectés dans un abonnement sont chiffrés avec une clé gérée par le client Compute
Disque où l’égalisation DiskAttachment « Unattached » doit avoir Encrypted
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Activer le contrôle d’accès basé sur les rôles (RBAC) au sein d’Azure Kubernetes Services Assurez-vous que le contrôle d'accès basé sur les rôles (RBAC) est activé sur toutes les instances Azure Kubernetes Services. Kubernetes
AKSCluster devrait avoir EnableRBAC
Vérifiez que l'authentification App Service est configurée sur Azure App Service. L’authentification Azure App Service est une fonctionnalité qui peut empêcher les requêtes HTTP anonymes d’atteindre l’application API, ou authentifier celles qui possèdent des jetons avant qu’elles n’atteignent l’application API. Si une requête anonyme est reçue depuis un navigateur, le service d’application redirigera vers une page de connexion. Pour gérer le processus de connexion, un choix parmi un ensemble de fournisseurs d’identité peut être fait, ou un mécanisme d’authentification personnalisé peut être mis en place. Function
FunctionApp devrait avoir AuthSettings avec [ Activé et UnauthenticatedClientAction neq « AllowAnonymous » ]
Assurez-vous que l’application web redirige tout le trafic HTTP vers HTTPS dans Azure App Service Azure Web Apps permet aux sites d’exécuter par défaut à la fois sous HTTP et HTTPS. Les applications web peuvent être accessibles par toute personne utilisant des liens HTTP non sécurisés par défaut. Les requêtes HTTP non sécurisées peuvent être restreintes et toutes les requêtes HTTP redirigées vers le port HTTPS sécurisé. Il est recommandé de faire respecter le trafic uniquement HTTPS. Function
L'application de fonction doit avoir HTTPS uniquement.
Assurez-vous que l’application web utilise la dernière version du chiffrement TLS Le protocole TLS (Transport Layer Security) sécurise la transmission des données via Internet à l’aide d’une technologie de chiffrement standard. Le chiffrement doit être configuré avec la dernière version de TLS. Le service d’application permet TLS 1.2 par défaut, qui est le niveau TLS recommandé selon les standards industriels, comme PCI DSS. Function
FunctionApp devrait avoir des configurations avec [ Égalisation MinTLSVersion « 1.2 » ]
Assurez-vous que l’application web a « Certificats clients (certificats clients entrants) » sur « Activé » Les certificats client permettent à l’application de demander un certificat pour les requêtes entrantes. Seuls les clients possédant un certificat valide pourront accéder à l’application. Function
FunctionApp devrait avoir ClientCertEnabled
Assurez-vous que Register with Azure Active Directory est activé sur App Service L’identité du service géré dans App Service rend l’application plus sécurisée en éliminant les secrets de l’application, tels que les identifiants dans les chaînes de connexion. Lors de l’enregistrement avec Azure Active Directory dans le service d’applications, l’application se connecte de manière sécurisée à d’autres services Azure sans avoir besoin de nom d’utilisateur ni de mots de passe. Function
FunctionApp devrait avoir ADRegistered
Nom Description Service Rule
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Assurez-vous que Microsoft Defender pour les registres de conteneurs est réglé sur 'Activé' L'activation de Microsoft Defender pour les registres de conteneurs permet la détection des menaces pour les registres de conteneurs, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForContainerRegistries
Microsoft Defender pour le cloud : assurez-vous que Microsoft Defender pour les serveurs SQL sur les machines est activé. L'activation de Microsoft Defender pour les serveurs SQL sur les machines permet la détection des menaces pour les serveurs SQL sur les machines, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForSQLServersOnMachine
Protection Azure Defender : Assurez-vous que Microsoft Defender for App Service est réglé sur 'Activé' L'activation d'Azure Defender permet la détection des menaces pour App Service, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForAppService
Microsoft Defender for Cloud : Assurez-vous que Microsoft Defender for Key Vault est réglé sur « Activé » L'activation de Microsoft Defender pour Key Vault permet la détection des menaces pour Key Vault, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
Azure Defender devrait avoir Azure Defender pour Key Vault
Protection Azure Defender : assurez-vous que Microsoft Defender pour serveurs est activé. L’activation d’Azure Defender permet la détection des menaces pour Server, fournissant des renseignements sur les menaces, la détection d’anomalies et l’analyse du comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForServer
Protection Azure Defender : assurez-vous que Microsoft Defender pour Azure SQL Database est activé. L’activation d’Azure Defender permet la détection des menaces pour les serveurs de bases de données Azure SQL, fournissant des renseignements sur les menaces, la détection d’anomalies et l’analyse du comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender should have AzureDefenderForAzureSQLDataBaseServers
Microsoft Defender pour le cloud : assurez-vous que Microsoft Defender pour Kubernetes est activé. L'activation de Microsoft Defender pour Kubernetes permet la détection des menaces pour Kubernetes, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForKubernetes
Protection Azure Defender : assurez-vous que Microsoft Defender pour le stockage est activé. L’activation d’Azure Defender permet la détection des menaces pour le Stockage, fournissant des renseignements sur les menaces, la détection d’anomalies et des analyses de comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForStorage
Protection du Centre de sécurité : assurez-vous que l’intégration de Microsoft Defender for Endpoint (WDATP) avec Microsoft Defender for Cloud est sélectionnée. Ce paramètre permet l’intégration de Microsoft Defender pour Endpoint avec Microsoft Defender for Cloud. SecurityCenter
La stratégie SecurityCenterPolicy doit inclure WDATPIntegratedWithSecurityCenter.
Microsoft Defender for Cloud : Assurez-vous que l’intégration Microsoft Defender for Cloud Apps (MCAS) avec Microsoft Defender for Cloud est sélectionnée Ce paramètre permet l’intégration de Microsoft Defender for Cloud Apps (MCAS) avec Microsoft Defender for Cloud. SecurityCenter
SecurityCenterPolicy devrait avoir MCASIntegratedWithSecurityCenter
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Protection du Centre de sécurité : assurez-vous que l’option « Notifier les alertes présentant le niveau de gravité suivant » est définie sur « Élevé ». Permet l'envoi d'alertes de sécurité par courriel au titulaire de l'abonnement ou à un autre contact de sécurité désigné. SecurityCenter
SecurityCenterPolicy devrait avoir AlertNotificationMinimalSeverity EQ « Élevé »
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Assurez-vous que le stockage des données critiques est chiffré avec une clé gérée par le client. Activez le chiffrement des données sensibles au repos en utilisant des clés gérées par le client plutôt que des clés gérées par Microsoft le stockage
Le compte de stockage doit avoir EncryptionType égal à "Microsoft.Keyvault".
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Protection de SQL Server : assurez-vous que l’évaluation des vulnérabilités (VA) est activée sur un serveur SQL en configurant un compte de stockage. Activez les analyses de service d’évaluation des vulnérabilités (VA) pour les serveurs SQL critiques et les bases de données SQL correspondantes SQL
SQLServer devrait avoir VulnerabilityAssessment . StorageAccount neq «  »
Protection SQL Server : Assurez-vous que VA règle « Scans périodiques récurrents » sur « activé » pour chaque serveur SQL Activer l'évaluation des vulnérabilités (VA) : analyses périodiques et récurrentes des serveurs SQL critiques et des bases de données SQL correspondantes SQL
SQL Server devrait avoir VulnerabilityAssessment.RecurringScansState
Protection du serveur SQL : assurez-vous que le paramètre VA « Envoyer les rapports d’analyse à » est configuré pour un serveur SQL. Configurez « Envoyer des rapports de scan à » avec les identifiants email des propriétaires de données ou parties prenantes concernées pour des serveurs SQL critiques SQL
SQLServer devrait avoir VulnerabilityAssessment.NotificationEmails len() gt 0
Protection de SQL Server : assurez-vous que le paramètre d’évaluation des vulnérabilités « Envoyer également des notifications par e-mail aux administrateurs et aux propriétaires d’abonnement » est activé pour chaque serveur SQL. Activez le paramètre Évaluation des vulnérabilités (VA) « Envoyer également des notifications par email aux administrateurs et aux propriétaires d’abonnement » SQL
SQLServer devrait avoir VulnerabilityAssessment.EmailSubscriptionAdmins
Protection SQL Server : Assurez-vous que « Permettre l’accès aux services Azure » pour PostgreSQL Database Server soit désactivé Désactiver l'accès depuis les services Azure au serveur de base de données PostgreSQL SQL
PostgreSQLServer ne devrait pas avoir firewall_rules avec [properties.startIpAddress EQ « 0.0.0.0 » et Properties.endIpAddress EQ « 0.0.0.0"]
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous que le paramètre de diagnostic capture les catégories appropriées Le paramètre de diagnostic doit être configuré pour enregistrer les activités appropriées du plan de contrôle/gestion. Monitor
L'abonnement doit comporter les paramètres suivants : [ Journaux avec [ Catégorie eq "Administrative" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Alert" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Policy" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Security" et Enabled ] ].
Assurez-vous que le conteneur de stockage contenant les journaux d’activité n’est pas accessible au public Le conteneur du compte de stockage contenant l’exportation du journal d’activité ne doit pas être accessible au public Monitor
ActivityLogProfile devrait avoir StorageContainerPublicAccess égal à "None"
Vérifiez que l'alerte du journal d'activité existe pour l'attribution de stratégie de suppression. Créer une alerte dans le journal d'activité pour l'événement Suppression de l'attribution de stratégie Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [Conditions avec [ Valeur comme « Microsoft.Authorization/policyAssignments/delete » ] ]
Veillez à ce que les services UDP soient restreints sur Internet. Désactiver les ports UDP exposés sur Internet dans les groupes de sécurité réseau Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « UDP ») et Destination . PortRange avec [ (FromPort lte 22 et ToPort gte 22) ou (FromPort lte 53 et ToPort gte 53) ou (FromPort lte 67 et ToPort gte 67) ou (FromPort lte 80 et ToPort gte 80) ou (FromPort lte 123 et ToPort gte 123) ou (FromPort lte 161 et ToPort gte 161) ou (FromPort lte 389 et ToPort gte 389) ou (FromPort lte 443 et ToPort gte 443) ou (FromPort lte 520 et ToPort gte 520) ou (FromPort LTE 520) ou (FromPort LTE 520) ou (FromPort lte 547 et ToPort gte 547) ou (FromPort lte 1433 et ToPort gte 1433) ou (FromPort lte 1521 et ToPort gte 1521) ou (FromPort lte 1900 et ToPort gte 1900) ou (FromPort lte 3306 et ToPort gte 3306) ou (FromPort lte 3389 et ToPort gte 3389) ou (FromPort lte 5432 et ToPort gte 5432) ou (FromPort lte 27019 et ToPort gte 27017) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que les machines virtuelles utilisent des disques gérés Migrer les disques durs virtuels (VHD) basés sur BLOB vers des disques managés sur des machines virtuelles Compute
VirtualMachine devrait avoir l’égalisation len() de UnmanagedDisks 0
Assurez-vous que les disques « OS et données » sont chiffrés avec CMK Assurez-vous que les disques du système d’exploitation (volumes de démarrage) et les disques de données (volumes non de démarrage) sont chiffrés avec CMK (clés gérées par le client). Les clés gérées par le client peuvent être soit ADE, soit un chiffrement côté serveur (SSE) Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk et DiskEncryptionStatus. DataDisk
Assurez-vous que la suppression réversible est activée pour Azure Storage. Azure Storage peut être récupérable en activant la configuration de suppression logicielle. Cela sert à sauvegarder et récupérer des données lorsque des blocs ou instantanés de blobs sont supprimés le stockage
StorageAccount devrait avoir SoftDelete. Activé
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que les clés d’accès au compte de stockage sont périodiquement régénérées Régénérez les clés d'accès au compte de stockage tous les 90 jours. le stockage
StorageAccount devrait avoir KeyRegenerated
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Assurez-vous que la règle d’accès réseau par défaut pour les comptes de stockage est définie pour refuser La restriction de l'accès réseau par défaut contribue à fournir une New couche de sécurité, étant donné que les comptes de stockage acceptent les connexions de clients situés sur n'importe quel réseau. Pour limiter l'accès à certains réseaux, l'action par défaut doit être modifiée. le stockage
StorageAccount ne devrait pas avoir d’ACL. Égalisation DefaultAction « Permettre »
Assurez-vous que les « services Microsoft de confiance » sont activés pour l’accès aux comptes de stockage Certains services Microsoft qui interagissent avec les comptes de stockage opèrent depuis des réseaux auxquels l’accès ne peut pas être accordé via les règles réseau. Pour aider ce type de service à fonctionner comme prévu, permettre à l’ensemble des services Microsoft de confiance de contourner les règles réseau. Ces services utiliseront ensuite une authentification forte pour accéder au compte de stockage. Si l’exception Permettre les services Microsoft de confiance est activée, les services suivants : Azure Backup, Azure Site Recovery, Azure DevTest Labs, Azure Event Grid, Azure Event Hubs, Azure Networking, Azure Monitor et Azure SQL données Warehouse (lorsqu’ils sont enregistrés dans l’abonnement), bénéficient de l’accès au compte de stockage. le stockage
StorageAccount devrait avoir une ACL. Contourner a (« AzureServices »)
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que le chiffrement des données est activé sur une base de données SQL. Activez le chiffrement transparent des données sur chaque base de données SQL SQL
SQLDatabase doit avoir DataEncryption.TransparentDataEncryptionStatus égal à "Enabled"
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Assurez-vous que « Appliquer la connexion SSL » est réglé sur « ACTIVÉ » pour le serveur de base de données PostgreSQL Activez la connexion SSL sur les serveurs PostgreSQL. SQL
PostgreSQLServer devrait avoir sslEnforcement égal à "Enabled"
Assurez-vous que « Appliquer la connexion SSL » soit réglé sur « Activé » pour le serveur de base de données MySQL standard Activez la connexion SSL sur les serveurs MYSQL. SQL
MYSQLServer devrait avoir sslEnforcement égal à "Enabled"
Assurez-vous que le paramètre serveur log_checkpoints est défini sur ON pour PostgreSQL Database Server Activez log_checkpoints sur PostgreSQL Servers SQL
PostgreSQLServer devrait avoir log_checkpoints comme « ( ?i)on »
Assurez-vous que le paramètre serveur log_connections est activé (ON) pour le serveur de base de données PostgreSQL. Activer log_connections sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir log_connections comme « ( ?i)on »
Assurez-vous que le paramètre serveur log_disconnections est activé (ON) pour le serveur de base de données PostgreSQL. Activer log_disconnections sur les serveurs PostgreSQL. SQL
PostgreSQLServer devrait avoir des logs de déconnexion de type "(?i)on"
Assurez-vous que le paramètre serveur connection_throttling est activé pour PostgreSQL Database Server Activer la limitation de débit des connexions sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir une limitation de connexion de type "(?i)on"
Assurez-vous que le paramètre serveur log_retention_days est supérieur à 3 jours pour le serveur de base de données PostgreSQL. Activez log_retention_days sur PostgreSQL Servers. SQL
PostgreSQLServer devrait avoir log_retention_days gte 4
Assurez-vous que le protecteur TDE du serveur SQL est chiffré avec la clé gérée par le client Le TDE avec prise en charge des clés gérées par le client offre une transparence et un contrôle accrus sur le TDE Protector, une sécurité renforcée grâce à un service externe basé sur un HSM et la promotion de la séparation des tâches. SQL
SQL Server doit avoir TDEProtector.kind égal à "azurekeyvault" et TDEProtector.serverKeyType eq "AzureKeyVault" et TDEProtector.uri
Assurez-vous que le compte de stockage contenant le conteneur avec les journaux d'activité est chiffré avec BYOK. Le compte de stockage avec le conteneur d’exportation du journal d’activité est configuré pour utiliser BYOK (Use Your Own Key). Monitor
ActivityLogProfile devrait avoir l’égalisation StorageAccount.EncryptionType « Microsoft.Keyvault » et StorageAccount.KeyVaultUri
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Assurez-vous que la période de conservation du journal de flux du groupe de sécurité réseau dépasse 90 jours Les journaux de flux du groupe de sécurité réseau doivent être activés et la période de conservation doit être définie sur une valeur supérieure ou égale à 90 jours. Réseau
NetworkSecurityGroup devrait avoir FlowLog. Politique de rétention. Jours > 90 et FlowLog. Politique de rétention. Activé
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Assurez-vous que les « disques déconnectés » sont chiffrés avec CMK Assurez-vous que les disques déconnectés dans un abonnement sont chiffrés avec une clé gérée par le client Compute
Disque où l’égalisation DiskAttachment « Unattached » doit avoir Encrypted
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Assurez-vous que le coffre à clés est récupérable Il est recommandé de rendre le coffre-fort de clés récupérable en activant les fonctions « Ne pas purger » et « Suppression logicielle ». Ceci afin d'éviter la perte de données chiffrées, notamment les comptes de stockage, les bases de données SQL et/ou les services dépendants fournis par les objets du coffre-fort de clés (clés, secrets, certificats), etc., comme cela peut se produire en cas de suppression accidentelle par un utilisateur ou d'activité perturbatrice d'un utilisateur malveillant. KeyVault
KeyVault devrait avoir les options EnableSoftDelete et EnablePurgeProtection.
Activer le contrôle d’accès basé sur les rôles (RBAC) au sein d’Azure Kubernetes Services Assurez-vous que le contrôle d'accès basé sur les rôles (RBAC) est activé sur toutes les instances Azure Kubernetes Services. Kubernetes
AKSCluster devrait avoir EnableRBAC
Vérifiez que l'authentification App Service est configurée sur Azure App Service. L’authentification Azure App Service est une fonctionnalité qui peut empêcher les requêtes HTTP anonymes d’atteindre l’application API, ou authentifier celles qui possèdent des jetons avant qu’elles n’atteignent l’application API. Si une requête anonyme est reçue depuis un navigateur, le service d’application redirigera vers une page de connexion. Pour gérer le processus de connexion, un choix parmi un ensemble de fournisseurs d’identité peut être fait, ou un mécanisme d’authentification personnalisé peut être mis en place. Function
FunctionApp devrait avoir AuthSettings avec [ Activé et UnauthenticatedClientAction neq « AllowAnonymous » ]
Assurez-vous que l’application web redirige tout le trafic HTTP vers HTTPS dans Azure App Service Azure Web Apps permet aux sites d’exécuter par défaut à la fois sous HTTP et HTTPS. Les applications web peuvent être accessibles par toute personne utilisant des liens HTTP non sécurisés par défaut. Les requêtes HTTP non sécurisées peuvent être restreintes et toutes les requêtes HTTP redirigées vers le port HTTPS sécurisé. Il est recommandé de faire respecter le trafic uniquement HTTPS. Function
L'application de fonction doit avoir HTTPS uniquement.
Assurez-vous que l’application web utilise la dernière version du chiffrement TLS Le protocole TLS (Transport Layer Security) sécurise la transmission des données via Internet à l’aide d’une technologie de chiffrement standard. Le chiffrement doit être configuré avec la dernière version de TLS. Le service d’application permet TLS 1.2 par défaut, qui est le niveau TLS recommandé selon les standards industriels, comme PCI DSS. Function
FunctionApp devrait avoir des configurations avec [ Égalisation MinTLSVersion « 1.2 » ]
Assurez-vous que l’application web a « Certificats clients (certificats clients entrants) » sur « Activé » Les certificats client permettent à l’application de demander un certificat pour les requêtes entrantes. Seuls les clients possédant un certificat valide pourront accéder à l’application. Function
FunctionApp devrait avoir ClientCertEnabled
Assurez-vous que Register with Azure Active Directory est activé sur App Service L’identité du service géré dans App Service rend l’application plus sécurisée en éliminant les secrets de l’application, tels que les identifiants dans les chaînes de connexion. Lors de l’enregistrement avec Azure Active Directory dans le service d’applications, l’application se connecte de manière sécurisée à d’autres services Azure sans avoir besoin de nom d’utilisateur ni de mots de passe. Function
FunctionApp devrait avoir ADRegistered
Nom Description Service Rule
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Protection Azure Defender : assurez-vous que Microsoft Defender pour serveurs est activé. L’activation d’Azure Defender permet la détection des menaces pour Server, fournissant des renseignements sur les menaces, la détection d’anomalies et l’analyse du comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForServer
Protection Azure Defender : Assurez-vous que Microsoft Defender for App Service est réglé sur 'Activé' L'activation d'Azure Defender permet la détection des menaces pour App Service, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForAppService
Protection Azure Defender : assurez-vous que Microsoft Defender pour Azure SQL Database est activé. L’activation d’Azure Defender permet la détection des menaces pour les serveurs de bases de données Azure SQL, fournissant des renseignements sur les menaces, la détection d’anomalies et l’analyse du comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender should have AzureDefenderForAzureSQLDataBaseServers
Microsoft Defender pour le cloud : assurez-vous que Microsoft Defender pour les serveurs SQL sur les machines est activé. L'activation de Microsoft Defender pour les serveurs SQL sur les machines permet la détection des menaces pour les serveurs SQL sur les machines, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForSQLServersOnMachine
Protection Azure Defender : assurez-vous que Microsoft Defender pour le stockage est activé. L’activation d’Azure Defender permet la détection des menaces pour le Stockage, fournissant des renseignements sur les menaces, la détection d’anomalies et des analyses de comportement dans le Centre de sécurité Azure. SecurityCenter
AzureDefender devrait avoir AzureDefenderForStorage
Microsoft Defender pour le cloud : assurez-vous que Microsoft Defender pour Kubernetes est activé. L'activation de Microsoft Defender pour Kubernetes permet la détection des menaces pour Kubernetes, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForKubernetes
Assurez-vous que Microsoft Defender pour les registres de conteneurs est réglé sur 'Activé' L'activation de Microsoft Defender pour les registres de conteneurs permet la détection des menaces pour les registres de conteneurs, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
AzureDefender devrait avoir AzureDefenderForContainerRegistries
Microsoft Defender for Cloud : Assurez-vous que Microsoft Defender for Key Vault est réglé sur « Activé » L'activation de Microsoft Defender pour Key Vault permet la détection des menaces pour Key Vault, fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Microsoft Defender pour le cloud. SecurityCenter
Azure Defender devrait avoir Azure Defender pour Key Vault
Protection du Centre de sécurité : assurez-vous que l’intégration de Microsoft Defender for Endpoint (WDATP) avec Microsoft Defender for Cloud est sélectionnée. Ce paramètre permet l’intégration de Microsoft Defender pour Endpoint avec Microsoft Defender for Cloud. SecurityCenter
La stratégie SecurityCenterPolicy doit inclure WDATPIntegratedWithSecurityCenter.
Microsoft Defender for Cloud : Assurez-vous que l’intégration Microsoft Defender for Cloud Apps (MCAS) avec Microsoft Defender for Cloud est sélectionnée Ce paramètre permet l’intégration de Microsoft Defender for Cloud Apps (MCAS) avec Microsoft Defender for Cloud. SecurityCenter
SecurityCenterPolicy devrait avoir MCASIntegratedWithSecurityCenter
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Protection du Centre de sécurité : assurez-vous que l’option « Notifier les alertes présentant le niveau de gravité suivant » est définie sur « Élevé ». Permet l'envoi d'alertes de sécurité par courriel au titulaire de l'abonnement ou à un autre contact de sécurité désigné. SecurityCenter
SecurityCenterPolicy devrait avoir AlertNotificationMinimalSeverity EQ « Élevé »
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que les clés d’accès au compte de stockage sont périodiquement régénérées Régénérez les clés d'accès au compte de stockage tous les 90 jours. le stockage
StorageAccount devrait avoir KeyRegenerated
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Assurez-vous que la règle d’accès réseau par défaut pour les comptes de stockage est définie pour refuser La restriction de l'accès réseau par défaut contribue à fournir une New couche de sécurité, étant donné que les comptes de stockage acceptent les connexions de clients situés sur n'importe quel réseau. Pour limiter l'accès à certains réseaux, l'action par défaut doit être modifiée. le stockage
StorageAccount ne devrait pas avoir d’ACL. Égalisation DefaultAction « Permettre »
Assurez-vous que les « services Microsoft de confiance » sont activés pour l’accès aux comptes de stockage Certains services Microsoft qui interagissent avec les comptes de stockage opèrent depuis des réseaux auxquels l’accès ne peut pas être accordé via les règles réseau. Pour aider ce type de service à fonctionner comme prévu, permettre à l’ensemble des services Microsoft de confiance de contourner les règles réseau. Ces services utiliseront ensuite une authentification forte pour accéder au compte de stockage. Si l’exception Permettre les services Microsoft de confiance est activée, les services suivants : Azure Backup, Azure Site Recovery, Azure DevTest Labs, Azure Event Grid, Azure Event Hubs, Azure Networking, Azure Monitor et Azure SQL données Warehouse (lorsqu’ils sont enregistrés dans l’abonnement), bénéficient de l’accès au compte de stockage. le stockage
StorageAccount devrait avoir une ACL. Contourner a (« AzureServices »)
Assurez-vous que la suppression réversible est activée pour Azure Storage. Azure Storage peut être récupérable en activant la configuration de suppression logicielle. Cela sert à sauvegarder et récupérer des données lorsque des blocs ou instantanés de blobs sont supprimés le stockage
StorageAccount devrait avoir SoftDelete. Activé
Assurez-vous que le stockage des données critiques est chiffré avec une clé gérée par le client. Activez le chiffrement des données sensibles au repos en utilisant des clés gérées par le client plutôt que des clés gérées par Microsoft le stockage
Le compte de stockage doit avoir EncryptionType égal à "Microsoft.Keyvault".
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que le chiffrement des données est activé sur une base de données SQL. Activez le chiffrement transparent des données sur chaque base de données SQL SQL
SQLDatabase doit avoir DataEncryption.TransparentDataEncryptionStatus égal à "Enabled"
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Protection de SQL Server : assurez-vous que l’évaluation des vulnérabilités (VA) est activée sur un serveur SQL en configurant un compte de stockage. Activez les analyses de service d’évaluation des vulnérabilités (VA) pour les serveurs SQL critiques et les bases de données SQL correspondantes SQL
SQLServer devrait avoir VulnerabilityAssessment . StorageAccount neq «  »
Protection SQL Server : Assurez-vous que VA règle « Scans périodiques récurrents » sur « activé » pour chaque serveur SQL Activer l'évaluation des vulnérabilités (VA) : analyses périodiques et récurrentes des serveurs SQL critiques et des bases de données SQL correspondantes SQL
SQL Server devrait avoir VulnerabilityAssessment.RecurringScansState
Protection du serveur SQL : assurez-vous que le paramètre VA « Envoyer les rapports d’analyse à » est configuré pour un serveur SQL. Configurez « Envoyer des rapports de scan à » avec les identifiants email des propriétaires de données ou parties prenantes concernées pour des serveurs SQL critiques SQL
SQLServer devrait avoir VulnerabilityAssessment.NotificationEmails len() gt 0
Protection de SQL Server : assurez-vous que le paramètre d’évaluation des vulnérabilités « Envoyer également des notifications par e-mail aux administrateurs et aux propriétaires d’abonnement » est activé pour chaque serveur SQL. Activez le paramètre Évaluation des vulnérabilités (VA) « Envoyer également des notifications par email aux administrateurs et aux propriétaires d’abonnement » SQL
SQLServer devrait avoir VulnerabilityAssessment.EmailSubscriptionAdmins
Assurez-vous que « Appliquer la connexion SSL » est réglé sur « ACTIVÉ » pour le serveur de base de données PostgreSQL Activez la connexion SSL sur les serveurs PostgreSQL. SQL
PostgreSQLServer devrait avoir sslEnforcement égal à "Enabled"
Assurez-vous que « Appliquer la connexion SSL » soit réglé sur « Activé » pour le serveur de base de données MySQL standard Activez la connexion SSL sur les serveurs MYSQL. SQL
MYSQLServer devrait avoir sslEnforcement égal à "Enabled"
Assurez-vous que le paramètre serveur log_checkpoints est défini sur ON pour PostgreSQL Database Server Activez log_checkpoints sur PostgreSQL Servers SQL
PostgreSQLServer devrait avoir log_checkpoints comme « ( ?i)on »
Assurez-vous que le paramètre serveur log_connections est activé (ON) pour le serveur de base de données PostgreSQL. Activer log_connections sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir log_connections comme « ( ?i)on »
Assurez-vous que le paramètre serveur log_disconnections est activé (ON) pour le serveur de base de données PostgreSQL. Activer log_disconnections sur les serveurs PostgreSQL. SQL
PostgreSQLServer devrait avoir des logs de déconnexion de type "(?i)on"
Assurez-vous que le paramètre serveur connection_throttling est activé pour PostgreSQL Database Server Activer la limitation de débit des connexions sur les serveurs PostgreSQL SQL
PostgreSQLServer devrait avoir une limitation de connexion de type "(?i)on"
Assurez-vous que le paramètre serveur log_retention_days est supérieur à 3 jours pour le serveur de base de données PostgreSQL. Activez log_retention_days sur PostgreSQL Servers. SQL
PostgreSQLServer devrait avoir log_retention_days gte 4
Protection SQL Server : Assurez-vous que « Permettre l’accès aux services Azure » pour PostgreSQL Database Server soit désactivé Désactiver l'accès depuis les services Azure au serveur de base de données PostgreSQL SQL
PostgreSQLServer ne devrait pas avoir firewall_rules avec [properties.startIpAddress EQ « 0.0.0.0 » et Properties.endIpAddress EQ « 0.0.0.0"]
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous que le protecteur TDE du serveur SQL est chiffré avec la clé gérée par le client Le TDE avec prise en charge des clés gérées par le client offre une transparence et un contrôle accrus sur le TDE Protector, une sécurité renforcée grâce à un service externe basé sur un HSM et la promotion de la séparation des tâches. SQL
SQL Server doit avoir TDEProtector.kind égal à "azurekeyvault" et TDEProtector.serverKeyType eq "AzureKeyVault" et TDEProtector.uri
Assurez-vous que le paramètre de diagnostic capture les catégories appropriées Le paramètre de diagnostic doit être configuré pour enregistrer les activités appropriées du plan de contrôle/gestion. Monitor
L'abonnement doit comporter les paramètres suivants : [ Journaux avec [ Catégorie eq "Administrative" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Alert" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Policy" et Enabled ] ] et [ Journaux avec [ Catégorie eq "Security" et Enabled ] ].
Assurez-vous que le conteneur de stockage contenant les journaux d’activité n’est pas accessible au public Le conteneur du compte de stockage contenant l’exportation du journal d’activité ne doit pas être accessible au public Monitor
ActivityLogProfile devrait avoir StorageContainerPublicAccess égal à "None"
Assurez-vous que le compte de stockage contenant le conteneur avec les journaux d'activité est chiffré avec BYOK. Le compte de stockage avec le conteneur d’exportation du journal d’activité est configuré pour utiliser BYOK (Use Your Own Key). Monitor
ActivityLogProfile devrait avoir l’égalisation StorageAccount.EncryptionType « Microsoft.Keyvault » et StorageAccount.KeyVaultUri
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour l'attribution de stratégie de suppression. Créer une alerte dans le journal d'activité pour l'événement Suppression de l'attribution de stratégie Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [Conditions avec [ Valeur comme « Microsoft.Authorization/policyAssignments/delete » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Assurez-vous que la période de conservation du journal de flux du groupe de sécurité réseau dépasse 90 jours Les journaux de flux du groupe de sécurité réseau doivent être activés et la période de conservation doit être définie sur une valeur supérieure ou égale à 90 jours. Réseau
NetworkSecurityGroup devrait avoir FlowLog. Politique de rétention. Jours > 90 et FlowLog. Politique de rétention. Activé
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Veillez à ce que les services UDP soient restreints sur Internet. Désactiver les ports UDP exposés sur Internet dans les groupes de sécurité réseau Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « UDP ») et Destination . PortRange avec [ (FromPort lte 22 et ToPort gte 22) ou (FromPort lte 53 et ToPort gte 53) ou (FromPort lte 67 et ToPort gte 67) ou (FromPort lte 80 et ToPort gte 80) ou (FromPort lte 123 et ToPort gte 123) ou (FromPort lte 161 et ToPort gte 161) ou (FromPort lte 389 et ToPort gte 389) ou (FromPort lte 443 et ToPort gte 443) ou (FromPort lte 520 et ToPort gte 520) ou (FromPort LTE 520) ou (FromPort LTE 520) ou (FromPort lte 547 et ToPort gte 547) ou (FromPort lte 1433 et ToPort gte 1433) ou (FromPort lte 1521 et ToPort gte 1521) ou (FromPort lte 1900 et ToPort gte 1900) ou (FromPort lte 3306 et ToPort gte 3306) ou (FromPort lte 3389 et ToPort gte 3389) ou (FromPort lte 5432 et ToPort gte 5432) ou (FromPort lte 27019 et ToPort gte 27017) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que les machines virtuelles utilisent des disques gérés Migrer les disques durs virtuels (VHD) basés sur BLOB vers des disques managés sur des machines virtuelles Compute
VirtualMachine devrait avoir l’égalisation len() de UnmanagedDisks 0
Assurez-vous que les disques « OS et données » sont chiffrés avec CMK Assurez-vous que les disques du système d’exploitation (volumes de démarrage) et les disques de données (volumes non de démarrage) sont chiffrés avec CMK (clés gérées par le client). Les clés gérées par le client peuvent être soit ADE, soit un chiffrement côté serveur (SSE) Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk et DiskEncryptionStatus. DataDisk
Assurez-vous que les « disques déconnectés » sont chiffrés avec CMK Assurez-vous que les disques déconnectés dans un abonnement sont chiffrés avec une clé gérée par le client Compute
Disque où l’égalisation DiskAttachment « Unattached » doit avoir Encrypted
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Assurez-vous que le coffre à clés est récupérable Il est recommandé de rendre le coffre-fort de clés récupérable en activant les fonctions « Ne pas purger » et « Suppression logicielle ». Ceci afin d'éviter la perte de données chiffrées, notamment les comptes de stockage, les bases de données SQL et/ou les services dépendants fournis par les objets du coffre-fort de clés (clés, secrets, certificats), etc., comme cela peut se produire en cas de suppression accidentelle par un utilisateur ou d'activité perturbatrice d'un utilisateur malveillant. KeyVault
KeyVault devrait avoir les options EnableSoftDelete et EnablePurgeProtection.
Activer le contrôle d’accès basé sur les rôles (RBAC) au sein d’Azure Kubernetes Services Assurez-vous que le contrôle d'accès basé sur les rôles (RBAC) est activé sur toutes les instances Azure Kubernetes Services. Kubernetes
AKSCluster devrait avoir EnableRBAC
Vérifiez que l'authentification App Service est configurée sur Azure App Service. L’authentification Azure App Service est une fonctionnalité qui peut empêcher les requêtes HTTP anonymes d’atteindre l’application API, ou authentifier celles qui possèdent des jetons avant qu’elles n’atteignent l’application API. Si une requête anonyme est reçue depuis un navigateur, le service d’application redirigera vers une page de connexion. Pour gérer le processus de connexion, un choix parmi un ensemble de fournisseurs d’identité peut être fait, ou un mécanisme d’authentification personnalisé peut être mis en place. Function
FunctionApp devrait avoir AuthSettings avec [ Activé et UnauthenticatedClientAction neq « AllowAnonymous » ]
Assurez-vous que l’application web redirige tout le trafic HTTP vers HTTPS dans Azure App Service Azure Web Apps permet aux sites d’exécuter par défaut à la fois sous HTTP et HTTPS. Les applications web peuvent être accessibles par toute personne utilisant des liens HTTP non sécurisés par défaut. Les requêtes HTTP non sécurisées peuvent être restreintes et toutes les requêtes HTTP redirigées vers le port HTTPS sécurisé. Il est recommandé de faire respecter le trafic uniquement HTTPS. Function
L'application de fonction doit avoir HTTPS uniquement.
Assurez-vous que l’application web utilise la dernière version du chiffrement TLS Le protocole TLS (Transport Layer Security) sécurise la transmission des données via Internet à l’aide d’une technologie de chiffrement standard. Le chiffrement doit être configuré avec la dernière version de TLS. Le service d’application permet TLS 1.2 par défaut, qui est le niveau TLS recommandé selon les standards industriels, comme PCI DSS. Function
FunctionApp devrait avoir des configurations avec [ Égalisation MinTLSVersion « 1.2 » ]
Assurez-vous que l’application web a « Certificats clients (certificats clients entrants) » sur « Activé » Les certificats client permettent à l’application de demander un certificat pour les requêtes entrantes. Seuls les clients possédant un certificat valide pourront accéder à l’application. Function
FunctionApp devrait avoir ClientCertEnabled
Assurez-vous que Register with Azure Active Directory est activé sur App Service L’identité du service géré dans App Service rend l’application plus sécurisée en éliminant les secrets de l’application, tels que les identifiants dans les chaînes de connexion. Lors de l’enregistrement avec Azure Active Directory dans le service d’applications, l’application se connecte de manière sécurisée à d’autres services Azure sans avoir besoin de nom d’utilisateur ni de mots de passe. Function
FunctionApp devrait avoir ADRegistered
Assurez-vous que la version HTTP est la plus récente si elle est utilisée pour exécuter l'application Web. Périodiquement, New versions sont publiées pour HTTP soit en raison de failles de sécurité, soit pour inclure des fonctionnalités supplémentaires. Utiliser la dernière version HTTP pour les applications web afin de tirer parti des correctifs de sécurité, le cas échéant, et/ou New fonctionnalités de la version New . Function
FunctionApp devrait avoir des configurations avec [ HTTP20Enabled ]
Assurez-vous que la « version TLS minimale » est définie sur « version 1.2 ». Azure Storage fixe par défaut la version minimale TLS à la version 1.0. TLS 1.0 est une version héritée et présente des vulnérabilités connues. Cette version minimale de TLS peut être configurée pour être des protocoles ultérieurs tels que TLS 1.2. Function
Le compte de stockage doit avoir la propriété MinimumTlsVersion égale à « TLS1_2 ».
Assurez-vous que le « double chiffrement de l'infrastructure » pour le serveur de base de données PostgreSQL est « activé ». Activer le chiffrement au repos pour les bases de données PostgreSQL. Cela garantit qu'une couche de chiffrement supplémentaire est mise en œuvre au niveau matériel avant le niveau de stockage ou de réseau. Les informations seront cryptées avant même d'être consultées, empêchant ainsi l'interception des données en transit si le chiffrement de la couche réseau est compromis, ainsi que des données stockées dans les ressources système telles que la mémoire ou le cache du processeur. SQL
PostgreSQLServer devrait avoir infrastructureEncryption égal à "Activé"
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Nom Description Service Rule
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Nom Description Service Rule
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Vérifiez que l'option « Envoyer les alertes à » est bien configurée pour les bases de données SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Adresses Email len() gt 0
Assurez-vous que « Service de messagerie et co-administrateurs » est « Activé » pour les bases de données SQL Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité provenant des bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. Eq EmailAccountAdmins « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que « Audit » est réglé sur « Activé » pour les bases de données SQL Activez l’audit sur les bases de données SQL. SQL
SQLDatabase devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Détection de menaces » est réglée sur « Activé » pour les bases de données SQL Activer la détection des menaces sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Types de détection de menaces » est défini sur « Tous » pour les bases de données SQL Activer tous les types de détection des menaces sur les bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]
Nom Description Service Rule
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Vérifiez que l'option « Envoyer les alertes à » est bien configurée pour les bases de données SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Adresses Email len() gt 0
Assurez-vous que « Service de messagerie et co-administrateurs » est « Activé » pour les bases de données SQL Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité provenant des bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. Eq EmailAccountAdmins « Activé »
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que « Audit » est réglé sur « Activé » pour les bases de données SQL Activez l’audit sur les bases de données SQL. SQL
SQLDatabase devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Détection de menaces » est réglée sur « Activé » pour les bases de données SQL Activer la détection des menaces sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Types de détection de menaces » est défini sur « Tous » pour les bases de données SQL Activer tous les types de détection des menaces sur les bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Nom Description Service Rule
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Nom Description Service Rule
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Vérifiez que l'option « Envoyer les alertes à » est bien configurée pour les bases de données SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Adresses Email len() gt 0
Assurez-vous que « Service de messagerie et co-administrateurs » est « Activé » pour les bases de données SQL Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité provenant des bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. Eq EmailAccountAdmins « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que « Audit » est réglé sur « Activé » pour les bases de données SQL Activez l’audit sur les bases de données SQL. SQL
SQLDatabase devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Détection de menaces » est réglée sur « Activé » pour les bases de données SQL Activer la détection des menaces sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Types de détection de menaces » est défini sur « Tous » pour les bases de données SQL Activer tous les types de détection des menaces sur les bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]
Nom Description Service Rule
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que l’accès entrant depuis Internet soit restreint Assurez-vous que les groupes de sécurité réseau n'autorisent aucun accès entrant depuis Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction égaliseur « Inbound » et Protocol in (« * », « UDP », « TCP ») et ( Destination . PortRange avec [ ( ( FromPort EQ 0 et ToPort EQ 65535 ) ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ) ) ]
N’autorisez pas les groupes de sécurité réseau par défaut. Vérifiez la présence de groupes de sécurité réseau avec uniquement des règles par défaut, qui par défaut autorisent tout le trafic Internet sortant. Réseau
NetworkSecurityGroup devrait avoir SecurityRules len() gt 0 et pas de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction EQ « Inbound » et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ) ] et SecurityRules avec [ Égaliseur d’accès « Refuser » et Égalisation de direction « Sortie » et ( ( ( Destination . PortRange avec [ ( ( FromPort égalisation 0 et ToPort 65535 ) ] ) et ( ( Destination . Tapez l’égaliseur « Any » ) ou ( Destination . Tapez l’égaliseur « adresses IP » et Destination. Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ou ( Destination . Tapez l’égaliseur « Service Tag » et Destination. ServiceTag EQ « Internet » ) ) ) ]
Assurez-vous que l’accès aux bases de données relationnelles est restreint depuis Internet Veillez à ce que les ports des bases de données SQL courantes (SQL Server, MySQL, Oracle, PostgreSQL) ne soient pas autorisés à recevoir des connexions entrantes depuis Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction égaliseur « Inbound » et Protocol in (« * », « UDP », « TCP ») et ( Destination . PortRange avec [ (FromPort lte 1433 et ToPort gte 1433) ou (FromPort lte 3306 et ToPort gte 3306) ou (FromPort lte 1521 et ToPort gte 1521) ou (FromPort lte 5432 et ToPort gte 5432) ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ) ) ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès FTP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour l’accès FTP depuis Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de règles de sécurité avec [ Access eq "Allow" and Direction eq "Inbound" and Protocol in ("*", "TCP") and ( Destination . PortRange avec [ ( FromPort lte 21 et ToPort gte 20 ) ] ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 », « /0 ») ] ) ) ]
Assurez-vous que les protocoles de texte clair provenant d’Internet soient restreints Consultez les groupes de sécurité réseau pour l’accès entrant aux protocoles en texte clair (telnet, SMTP, POP, IMAP et SNMP) depuis Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction EQ « Inbound » et ( ( Protocole dans ( « * », « TCP » ) et ( Destination . PortRange avec [ ( FromPort lte 23 et ToPort gte 23 ) ou ( FromPort lte 25 et ToPort gte 25 ) ou ( FromPort lte 110 et ToPort gte 110 ) ou ( FromPort lte 143 et ToPort gte 143 ) ou ( FromPort lte 162 et ToPort gte 161 ) ] ) ) ou ( Protocole dans ( "*" , "UDP" ) et ( Destination . PortRange avec [ ( FromPort lte 162 et ToPort gte 161 ) ] ) ) ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( "0.0.0.0/0", "::/0", "/0", "/0") ] ) ) ]
Veillez à restreindre l'accès à Internet aux ports fréquemment attaqués. Empêcher l’accès entrant d’Internet vers les ports couramment attaqués (TCP 0, 19, 135-139, 445, 1080, 5900) et (UDP 67, 520, 547, 1900). Réseau
NetworkSecurityGroup ne devrait pas avoir de SecurityRules avec [ Égaliseur d’accès « Allow » et Direction EQ « Inbound » et ( ( Protocole dans ( « * », « TCP » ) et ( Destination . PortRange avec [ ( FromPort lte 0 et ToPort gte 0 ) ou ( FromPort lte 19 et ToPort gte 19 ) ou ( FromPort lte 139 et ToPort gte 135 ) ou ( FromPort lte 445 et ToPort gte 445 ) ou ( FromPort lte 1080 et ToPort gte 1080 ) ou ( FromPort lte 5800 et ToPort gte 5800 ) ou ( FromPort lte 5900 et ToPort gte 5900) ] ) ) ou ( Protocole dans ( "*", "UDP" ) et ( Destination . PortRange avec [ ( FromPort lte 19 et ToPort gte 19 ) ou ( FromPort lte 123 et ToPort gte 123 ) ou ( FromPort lte 67 et ToPort gte 67 ) ou ( FromPort lte 139 et ToPort gte 135 ) ou ( FromPort lte 445 et ToPort gte 445 ) ou ( FromPort lte 520 et ToPort gte 520 ) ou ( FromPort lte 547 et ToPort gte 547 ) ou ( FromPort lte 1900 et ToPort gte 1900 ) ] ) ) ) et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( "0.0.0.0/0", "::/0", "/0", "/0" ) ] ) ) ]
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Empêcher le trafic entrant d’Internet qui possède des adresses IP src usurpées ou invalides Empêchez tout trafic entrant en provenance d’internet qui possède des adresses IP sources non routables, réservées ou invalides. Réseau
NetworkSecurityGroup ne devrait pas avoir de règles de sécurité avec [ Access eq "Allow" et Direction eq "Inbound" et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Type eq "Adresse IP" et Source . Adresses avec [ Préfixe dans ( "0.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "192.0.0.0/24", "192.0.2.0/24", "192.88.99.0/24", "198.18.0.0/15", "198.51.100.0/25", "203.0.113.0/24", "224.0.0.0/4", "240.0.0.0/4", "255.255.255.255/32", "0.0.0.0/0" ) ] ) ) ]
Veillez à ce que tout le trafic entrant en provenance d’Internet soit restreint Vérifiez les groupes de sécurité réseau pour les règles autorisant tout trafic entrant en provenance d’Internet. Réseau
NetworkSecurityGroup ne devrait pas avoir de règles de sécurité avec [ Access eq "Allow" et Direction eq "Inbound" et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Type eq "Adresse IP" et ( Source . Adresses avec [ Prefix isPublic() ou Prefix dans ( "/0", "/0") ] ) ) ) ]
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Assurez-vous que la durée de conservation des données d'audit est supérieure à 90 jours pour les bases de données SQL. La rétention de l’audit de base de données SQL doit être configurée pour dépasser 90 jours. SQL
SQLDatabase devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Assurez-vous que le chiffrement des données est activé sur une base de données SQL. Activez le chiffrement transparent des données sur chaque base de données SQL SQL
SQLDatabase doit avoir DataEncryption.TransparentDataEncryptionStatus égal à "Enabled"
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Assurez-vous que la date d'expiration est définie sur toutes les clés. Assurez-vous que toutes les clés dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de clés avec [ Expire l’égalisation faux ]
Assurez-vous que la date d’expiration est fixée sur tous les Secrets Assurez-vous que tous les Secrets dans Azure Key Vault ont une date d’expiration fixée. KeyVault
KeyVault ne devrait pas avoir de Secrets avec [ Expire l’égalisation faux ]
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Audit » est réglé sur « Activé » pour les bases de données SQL Activez l’audit sur les bases de données SQL. SQL
SQLDatabase devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Vérifiez que l'option « Envoyer les alertes à » est bien configurée pour les bases de données SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Adresses Email len() gt 0
Assurez-vous que « Service de messagerie et co-administrateurs » est « Activé » pour les bases de données SQL Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité provenant des bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. Eq EmailAccountAdmins « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que « Détection de menaces » est réglée sur « Activé » pour les bases de données SQL Activer la détection des menaces sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Types de détection de menaces » est défini sur « Tous » pour les bases de données SQL Activer tous les types de détection des menaces sur les bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Nom Description Service Rule
Assurez-vous que la rétention « auditée » est « supérieure à 90 jours » pour les serveurs SQL La rétention de l’audit SQL Server doit être configurée pour dépasser 90 jours. SQL
SQL Server devrait avoir ( AuditPolicy . RetentionDays gte 90 ou AuditPolicy . RetentionDays lte 0 )
Enregistrements d’audit/journal : Assurez-vous que la rétention de la « détection de menace » est « supérieure à 90 jours » pour les SQL Servers La durée de conservation des données de détection des menaces de SQL Server doit être configurée à plus de 90 jours. SQL
SQLServer devrait avoir ( ThreatPolicy . RetentionDays gte 90 ou Menace Policy. RetentionDays lte 0 )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller la protection des points de terminaison » n'est pas désactivé. Activer les recommandations de protection des terminaux pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMEndpointProtection dans ( "AuditIfNotExists", "Audit" )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement du disque » n'est pas désactivé. Activer les recommandations de chiffrement de disque pour les machines virtuelles. SecurityCenter
La stratégie SecurityCenterPolicy devrait avoir VMDiskEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Chiffrement de stockage » est réglé sur « Activé » Activez les recommandations du chiffrement du stockage. SecurityCenter
SecurityCenterPolicy devrait inclure StorageEncryption dans ( « AuditIfNotOccurs », « Audit » )
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller le chiffrement SQL » n'est pas désactivé. Activez les recommandations de chiffrement SQL. SecurityCenter
SecurityCenterPolicy devrait avoir SQLEncryption dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Transfert sécurisé requis » est réglé sur « Activé » Activez le chiffrement des données pour le transit. le stockage
Le compte de stockage doit avoir l'option EnableHttpsTrafficOnly
Assurez-vous que le chiffrement du service de stockage est activé pour le service Blob. Activer le chiffrement des données au repos pour les objets blob. le stockage
Le compte de stockage doit avoir l'option BlobEncryptionEnabled activée.
Assurez-vous que « Chiffrement du service de stockage » est activé pour le service de fichiers Activer le chiffrement des données au repos pour le service de fichiers. le stockage
StorageAccount devrait avoir FileEncryptionEnabled
Les données au repos sont protégées : assurez-vous que le disque du système d’exploitation est chiffré. Assurez-vous que les disques OS (volumes de démarrage) sont chiffrés, lorsque cela est possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. OSDisk
Assurez-vous que les « disques de données » sont chiffrés Assurez-vous que les disques de données (volumes non de démarrage) sont chiffrés, lorsque possible Compute
VirtualMachine doit avoir DiskEncryptionStatus. DataDisk
Identités et identifiants : Assurez-vous qu’il n’y ait pas d’utilisateurs invités N'ajoutez pas d'utilisateurs invités si ce n'est pas nécessaire. AAD
L'utilisateur ne devrait pas avoir le type égal à « Invité ».
Identités et identifiants : assurez-vous qu’aucun rôle de propriétaire d’abonnement personnalisé n’est créé. Ne créez pas de rôles personnalisés avec la propriété par abonnement. Il est recommandé d’utiliser le principe du moindre privilège, en n’attribuant que les privilèges nécessaires au lieu d’autoriser un accès administratif complet. Auth
Le rôle ne doit pas avoir ( Type eq "CustomRole" et Permissions avec [ Actions a ( "*" ) ] )
Identités et informations d'identification : assurez-vous que l'administrateur Azure Active Directory est configuré pour les serveurs SQL. Utilisez l'authentification Azure Active Directory pour l'authentification auprès de la base de données SQL. SQL
SQL Server devrait avoir ADAdmin. Statut
Assurez-vous qu'un profil de journalisation existe. Activez le profil de journalisation pour l'exportation des journaux d'activité. Monitor
Azure devrait avoir ActivityLogProfile len () > 0
Assurez-vous que la durée de conservation des journaux d'activité est de 365 jours ou plus. Assurez-vous que la durée de conservation des journaux d'activité est configurée pour 365 jours ou plus. Monitor
ActivityLogProfile doit avoir (RetentionEnabled et RetentionDays > 365) ou (RetentionEnabled = False et RetentionDays = 0).
Assurez-vous qu’une alerte de journal d’activité existe pour l’attribution de politique de création Créez une alerte journal d’activité pour l’événement Création d’attribution de politique. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Authorization/policyAssignments/write" ] ]
Vérifiez que l'alerte du journal d'activité existe pour la création ou la mise à jour du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une alerte ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Network/networkSecurityGroups/write » ] ]
Vérifiez que l'alerte du journal d'activité existe pour la suppression du groupe de sécurité réseau. Créez une alerte journal d’activité pour l’événement Supprimer le groupe de sécurité réseau. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création ou mise à jour du groupe de sécurité réseau Créez une alerte journal d’activité pour l’événement Créer ou mettre à jour la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/write" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle Supprimer le groupe de sécurité réseau Créer une alerte journal d’activité pour l’événement Supprimer la règle du groupe de sécurité réseau Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Network/networkSecurityGroups/securityRules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la création ou la mise à jour de la solution de sécurité. Créez une alerte de journal d'activité pour l'événement « Créer ou mettre à jour une solution de sécurité ». Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/write" ] ]
Assurez-vous qu'une alerte de journal d'activité existe pour la solution de sécurité de suppression. Créez une alerte journal d’activité pour l’événement Supprimer la solution de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/securitySolutions/delete" ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de création, mise à jour ou suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Créer, mettre à jour ou supprimer la règle de pare-feu SQL Server. Monitor
Azure devrait avoir au moins un ActivityLogAlert avec [ SubscriptionScope et RegionName éq « global » et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Champ égaliseur « operationName » et Valeur comme « Microsoft.Sql/servers/firewallRules/write » ] ]
Assurez-vous que l’alerte du journal d’activité existe pour la règle de suppression du pare-feu SQL Server Créez une alerte journal d’activité pour l’événement Supprimer la règle du pare-feu SQL Server. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ Conditions avec [ Valeur comme "microsoft.sql/servers/firewallrules/delete" ] ]
Assurez-vous qu'une alerte du journal d'activité existe pour la mise à jour de la politique de sécurité. Créez une alerte dans le journal d’activité pour l’événement Mettre à jour la politique de sécurité. Monitor
Azure devrait avoir au moins une ActivityLogAlert avec [ SubscriptionScope et RegionName eq "global" et Enabled et ActionGroupId len () gt 0 et Conditions avec [ Field eq "operationName" et Value like "Microsoft.Security/policies/write" ] ]
Assurez-vous que la connexion pour Azure KeyVault est « Activée » Activez la journalisation des événements d'audit pour les instances Key Vault afin de garantir que les interactions avec les coffres de clés sont enregistrées et disponibles. KeyVault
KeyVault devrait avoir DiagnosticSettings avec [ StorageAccountId len ( ) gt 0 et Logs avec [ Category len ( ) gt 0 et LogEnabled et ( RetentionPolicy . Jours gte 180 ou Politique de rétention . Jours eq 0 ) ] ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveillance de l'évaluation des vulnérabilités » n'est pas désactivé. Activez les recommandations d’évaluation des vulnérabilités pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait inclure VMVulnerabilityAssessment dans ( « AuditIfNotOccurs », « Audit » )
Plan de gestion des vulnérabilités : s’assurer que l’agent VM est installé Installer l'agent VM sur les machines virtuelles Compute
VirtualMachine devrait avoir des extensions avec [ ExtensionType EQ « MicrosoftMonitoringAgent » et ProvisioningState EQ « Succeeded » ]
Vérifiez que le paramètre de stratégie par défaut d'ASC « Surveiller les groupes de sécurité réseau » n'est pas désactivé. Activer les recommandations des groupes de sécurité réseau pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNetworkSecurityGroups dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller le pare-feu d’application web » n’est pas « désactivé » Activez les recommandations de pare-feu d’applications Web pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMWebApplicationFirewall dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Activer la surveillance du pare-feu de nouvelle génération (NGFW) » n’est pas « désactivé » Activer les recommandations de pare-feu de nouvelle génération pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMNextGenerationFirewall dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’accès réseau JIT » n’est pas « désactivé » Activer l'accès réseau JIT pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMJITNetworkAccess dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller la liste blanche adaptative d’application » n’est pas « désactivé » Activer les commandes adaptatives de l'application. SecurityCenter
SecurityCenterPolicy devrait avoir AdaptiveApplicationControls dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que l'accès RDP est restreint depuis Internet. Vérifiez les groupes de sécurité réseau pour tout accès entrant depuis Internet vers le port RDP 3389 (UDP ou TCP). Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 3389 et ToPort gte 3389 ] et ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Assurez-vous que l'accès SSH est restreint depuis Internet. Désactiver l'accès SSH aux groupes de sécurité réseau depuis Internet Réseau
VirtualMachine ne devrait pas avoir d’interfaces réseau avec [ SecurityGroup . SecurityRules avec [ Égalisation d’accès « Allow » et Direction égalisation « Inbound » et Protocole dans (« * », « TCP ») et Destination . PortRange avec [ FromPort lte 22 et ToPort gte 22 ] et ( ( ( Source . Tapez l’égaliseur « Any ») ou ( Source . Tapez l’égaliseur « Service Tag » et Source . ServiceTag EQ « Internet ») ou ( Source . Tapez l’égaliseur « IP Addresses » et Source . Adresses avec [ Préfixe dans ( « 0.0.0.0/0 », « ::/0 », « /0 » ) ] ) ) ] ]
Protection du réseau de communication et de contrôle : veiller à ce que l’accès au serveur SQL soit restreint depuis Internet. Assurez-vous qu’aucune base de données SQL n’autorise l’accès depuis Internet. SQL
SQL Server ne devrait pas avoir de FirewallRule avec [ StartIP eq 0.0.0.0 et EndIP eq 0.0.0.0 ].
Opérations réseau et flux de données de base : assurez-vous que Network Watcher est « activé ». Activez Network Watcher pour vos abonnements Azure Réseau
L'abonnement doit avoir NetworkWatcherEnabled
Les données au repos sont protégées : assurez-vous que le « Niveau d’accès public » est défini sur Privé pour les conteneurs d’objets blob. Désactivez l’accès anonyme aux conteneurs blobs. le stockage
Le compte de stockage doit contenir tous les conteneurs Blob avec [ Access eq "None" ] ou ne pas autoriser les Blob publics.
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Emails de contact de sécurité » est défini Fournissez une adresse e-mail de contact de sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactEmails len() > 0
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que le « numéro de téléphone » du contact de sécurité est défini Fournissez un numéro de téléphone de sécurité pour la sécurité. SecurityCenter
SecurityCenterPolicy devrait avoir SecurityContactPhoneNumber neq «  »
Le personnel connaît les rôles/opérations de réponse : Assurez-vous que « Envoyez-moi des e-mails concernant les alertes » soit réglé sur « Activé » Activez les alertes de sécurité envoyées par email à contact sécurité. SecurityCenter
La stratégie SecurityCenterPolicy devrait inclure SendEmailAboutAlerts.
Le personnel connaît les rôles et les procédures de réponse : assurez-vous que l’option « Envoyer également un e-mail aux titulaires d’abonnement » est activée. Activer l'envoi d'alertes de sécurité par e-mail aux titulaires d'abonnements. SecurityCenter
SecurityCenterPolicy devrait avoir EnvoyerEmailÀPropriétairesDeAbonnement
Le personnel connaît les rôles et les opérations de réponse : assurez-vous que l’option « Envoyer les alertes à » est configurée pour les serveurs SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Adresses e-mail
Le personnel connaît les rôles et les procédures de réponse : s’assurer que le service de messagerie et les co-administrateurs sont activés pour les serveurs SQL. Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité de SQL Server. SQL
SQLServer devrait avoir ThreatPolicy . Eq EmailAccountAdmins « Activé »
Vérifiez que l'option « Envoyer les alertes à » est bien configurée pour les bases de données SQL. Fournissez l’adresse e-mail à laquelle les alertes seront envoyées en cas de détection d’activités anormales sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Adresses Email len() gt 0
Assurez-vous que « Service de messagerie et co-administrateurs » est « Activé » pour les bases de données SQL Autoriser les administrateurs de service et les co-administrateurs à recevoir des alertes de sécurité provenant des bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. Eq EmailAccountAdmins « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que le niveau tarifaire Standard est sélectionné dans Azure Security Center. Le niveau de tarification standard permet la détection des menaces pour les réseaux et les machines virtuelles, en fournissant des renseignements sur les menaces, la détection des anomalies et l'analyse comportementale dans Azure Security Center. SecurityCenter
SecurityCenterPolicy devrait avoir SelectedPricingTier égal à « Standard ».
Assurez-vous que l'approvisionnement automatique de l'agent Log Analytics pour les machines virtuelles Azure est activé. Activer le provisionnement automatique de l'agent de surveillance pour la collecte des données de sécurité. AAD
SecurityCenterPolicy devrait avoir l’égalisation AutomaticProvisioningOfMonitoringAgent « Activée »
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller les mises à jour du système » n’est pas « désactivé » Activez les recommandations des mises à jour système pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSystemUpdates dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que le paramètre de politique par défaut ASC « Surveiller les vulnérabilités du système d’exploitation » n’est pas « désactivé » Activez les recommandations des vulnérabilités du système d’exploitation pour les machines virtuelles. SecurityCenter
SecurityCenterPolicy devrait avoir VMSecurityConfigurations dans ( « AuditIfNotExists », « Audit » )
Assurez-vous que le paramètre de politique par défaut de l’ASC « Surveiller l’audit SQL » n’est pas « désactivé » Activer les recommandations d'audit SQL et de détection des menaces. SecurityCenter
SecurityCenterPolicy devrait avoir SQLAuditingAndThreatDetection dans ( "AuditIfNotExists", "Audit" )
Assurez-vous que « Audit » est réglé sur « Activé » pour les serveurs SQL Activer l'audit sur les serveurs SQL. SQL
SQLServer devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que la « Détection des menaces » est activée pour les serveurs SQL. Activez la détection des menaces sur SQL Servers. SQL
SQLServer devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Surveillez le réseau pour détecter les incidents de cybersécurité potentiels : assurez-vous que l’option « Types de détection des menaces » est définie sur « Tous » pour les serveurs SQL. Activez tous les types de détection des menaces sur les serveurs SQL. SQL
SQLServer devrait avoir ThreatPolicy . État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que « Audit » est réglé sur « Activé » pour les bases de données SQL Activez l’audit sur les bases de données SQL. SQL
SQLDatabase devrait avoir AuditPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Détection de menaces » est réglée sur « Activé » pour les bases de données SQL Activer la détection des menaces sur les bases de données SQL. SQL
SQLDatabase devrait avoir ThreatPolicy . Égaliseur d’état « Activé »
Assurez-vous que « Types de détection de menaces » est défini sur « Tous » pour les bases de données SQL Activer tous les types de détection des menaces sur les bases de données SQL. SQL
SQLDatabase doit avoir une stratégie de menace. État égal à « Activé » et non ( ThreatPolicy . Désactivation des alertes telles que « Sql » ou ThreatPolicy. Alertes désactivées comme « Anomalie » )
Assurez-vous que la protection des terminaux pour toutes les machines virtuelles est installée Installez Endpoint Protection pour toutes les machines virtuelles. Compute
VirtualMachine doit avoir des extensions avec [ ExtensionType in ( « EndpointSecurity », « TrendMicroDSA* », « Antimalware », « EndpointProtection », « SCWPAgent », « PortalProtectExtension* » , « FileSecurity* » ) ]