WIKI
SC-500 Cloud and AI Security Engineer

08 · Implémenter la sécurité pour les serveurs et les machines virtuelles

47 min de lecture Mis à jour le 21 octobre 2026
Sur cette page

Version : 1.2 · Date : 2026-10-21 · Domaine 3 de l'examen : Calcul sécurisé (20 à 25 %)

En une phrase : on n'expose aucun port d'administration (Bastion, Just-in-time VM access), on démarre une machine vérifiée (Trusted Launch, confidential VM), on chiffre les disques de bout en bout (encryption at host, clé client), on impose les réglages de l'OS (Machine Configuration), et on surveille posture et menaces partout, y compris hors d'Azure (Defender for Servers, Azure Arc, agentless scanning).

Vue d'ensemble : sécuriser une machine, de l'accès à la posture

Ce que l'examen demande#

Intitulés officiels, en anglais, du guide d'étude SC-500 :

# Compétence mesurée (guide officiel, en anglais) Section de ce chapitre
1 Implement and configure disk encryption 2
2 Plan and implement Azure Bastion 3
3 Enable and enforce use of just-in-time (JIT) VM access 4
4 Extend security controls to hybrid and multicloud servers by using Azure Arc 5
5 Onboard servers to Defender for Servers in Defender for Cloud, including hybrid and multicloud scenarios 6
6 Configure Defender for Servers settings, including vulnerability scanning, and endpoint detection and response (EDR) 7
7 Implement and manage agentless scanning for VMs in Defender for Servers 8
8 Configure security features on a VM, including secure boot, virtual Trusted Platform Module (vTPM), integrity monitoring, and security type 9
9 Enforce security configuration of Azure-managed servers by using Azure Machine Configuration 10

Les compléments de l'ancienne AZ-500 (connexion Entra ID aux VM, Run Command, Update Manager, images, sauvegarde) sont regroupés en 11.


1. Les bases à maîtriser avant tout#

1.1 Qui protège quoi sur une VM#

Une machine virtuelle est du IaaS : Microsoft protège l'hyperviseur, les hôtes et le réseau physique ; vous êtes responsable du système d'exploitation invité, de ses correctifs, de ses comptes, de ses ports ouverts et des données sur ses disques. Toutes les fonctionnalités de ce chapitre servent à remplir cette part de responsabilité.

1.2 Quel outil pour quel besoin ?#

Besoin Outil Section
Administrer en RDP/SSH sans IP publique sur les VM Azure Bastion 3
Ne pas laisser 3389/22 ouverts en permanence Just-in-time VM access (JIT), Defender for Servers Plan 2 4
Chiffrer disques temporaires, caches et flux Encryption at host (+ Disk Encryption Set pour une clé client) 2
Contrôler soi-même la clé des disques Customer-managed key dans Key Vault ou Managed HSM, via un Disk Encryption Set (DES) 2.3
Bloquer bootkits et rootkits Trusted Launch : Secure Boot, vTPM, integrity monitoring 9
Protéger la mémoire même vis-à-vis de l'hôte confidential VM (AMD SEV-SNP, Intel TDX) 9.6
Gérer et protéger des serveurs locaux, AWS ou GCP Azure Arc + Defender for Servers 5
EDR, antivirus, vulnérabilités Defender for Servers (Defender for Endpoint, Defender Vulnerability Management) 6, 7
Analyser sans installer d'agent Agentless scanning (instantanés de disques) 8
Auditer ou imposer des réglages dans l'OS Azure Machine Configuration (Azure Policy) 10

1.3 Le plan de contrôle peut administrer l'OS#

Piège de fond : sur une VM ou un serveur Arc, quiconque peut déployer une extension ou lancer une Run Command depuis Azure exécute du code avec les privilèges les plus élevés dans l'OS. Microsoft le dit explicitement pour Arc : tout Contributor sur la ressource est un administrateur indirect du serveur. Le RBAC Azure fait donc partie de la sécurité du serveur (voir 03-gouvernance.md).


2. Chiffrement des disques#

Où chaque option chiffre les données d'une VM

2.1 Les quatre options#

Option Où se fait le chiffrement Ce qui est couvert
Server-side encryption (SSE) du stockage sur disque Dans le stockage Azure Disques OS et données, instantanés, images. Toujours actif, AES-256, conforme FIPS 140-2, sans coût ni impact. Ne couvre ni le disque temporaire ni les caches
Encryption at host Sur le serveur Azure qui héberge la VM Tout ce que couvre SSE plus le disque temporaire, les disques OS éphémères, les caches, et les flux vers le stockage. N'utilise pas le CPU de la VM
Azure Disk Encryption (ADE) Dans l'OS invité (BitLocker sous Windows, DM-Crypt sous Linux) Volumes OS et données, disque temporaire selon l'option. Utilise le CPU de la VM, clé dans Key Vault, KEK optionnelle
Confidential disk encryption Lié au vTPM d'une confidential VM Disque OS (temporaire en option) ; seule la VM peut le lire, la clé contourne l'hyperviseur et l'OS de l'hôte

Date à connaître : Azure Disk Encryption sera retiré le 15 septembre 2028. Après cette date, les disques chiffrés par ADE ne pourront plus être déverrouillés au redémarrage. Microsoft recommande le encryption at host pour les nouvelles VM, ou une confidential VM avec chiffrement du disque OS pour l'informatique confidentielle, et la migration de toutes les VM ADE (sauvegardes comprises) avant cette date. La migration ne se fait pas sur place : elle passe par de nouveaux disques et de nouvelles VM.

Les VM de version 5 et plus récentes (par exemple Dsv5, Dsv6) chiffrent automatiquement au repos leurs disques temporaires et, le cas échéant, leurs disques OS éphémères.

2.2 Le tableau comparatif officiel#

SSE Encryption at host ADE Disque confidentiel (OS)
Disques OS et données au repos Oui Oui Oui Oui
Disque temporaire Non Oui (clés plateforme seulement) Oui Oui, sur inscription
Caches Non Oui Oui Oui
Flux calcul vers stockage chiffrés Non Oui Oui Oui
Clé client Oui, avec un DES Oui, avec un DES Oui, avec une KEK Oui, avec un DES
HSM Key Vault Premium, Managed HSM Key Vault Premium, Managed HSM Key Vault Premium Key Vault Premium, Managed HSM
N'utilise pas le CPU de la VM Oui Oui Non Non
Images personnalisées Oui Oui Non pour les images Linux personnalisées Oui
Protection renforcée des clés Non Non Non Oui
État dans Defender for Cloud Non sain Sain Sain Non applicable

Recommandations Defender for Cloud liées : Virtual machines and virtual machine scale sets should have encryption at host enabled ; Windows (ou Linux) virtual machines should enable Azure Disk Encryption or EncryptionAtHost.

2.3 Customer-managed key et Disk Encryption Set#

Par défaut les disques utilisent des platform-managed keys. Pour contrôler la clé :

  1. Créer un coffre Key Vault (Premium recommandé pour une clé protégée par HSM) ou un Managed HSM, avec la protection contre le vidage (obligatoire pour chiffrer des disques managés) ; voir 02-key-vault.md.
  2. Créer une clé RSA 2048, 3072 ou 4096 bits (aucune autre clé n'est prise en charge).
  3. Créer un Disk Encryption Set (DES) qui pointe vers la clé : il reçoit une system-assigned managed identity.
  4. Donner à cette identité le droit d'utiliser la clé (encapsuler / désencapsuler).
  5. Associer les disques au DES (à la création ou après).

Le mécanisme est un chiffrement d'enveloppe : chaque disque est chiffré par une clé de données AES-256 (DEK), elle-même chiffrée par votre clé RSA. Une rotation ne rechiffre donc pas les données, seulement les DEK.

Règle Détail
Rotation automatique Activée sur le DES : tous les disques, instantanés et images du DES passent à la nouvelle version en une heure, sans redémarrage des VM
Clé désactivée, supprimée ou expirée Les VM qui utilisent cette clé s'arrêtent automatiquement et ne redémarrent plus tant que la clé n'est pas réactivée ; les E/S échouent en général une heure après
Région Le DES, les disques et le coffre doivent être dans la même région (le coffre peut être dans un autre abonnement, et même un autre locataire avec la fonction inter-locataires)
Déplacement Disques, instantanés et images chiffrés par clé client : pas de déplacement vers un autre abonnement ; changement de groupe de ressources seulement si la VM est désallouée
Limites 5 000 DES par région et par abonnement ; un disque et ses instantanés incrémentiels doivent utiliser le même DES
Incompatibilité Un disque chiffré (aujourd'hui ou par le passé) avec ADE ne peut pas utiliser de clé client SSE

2.4 Encryption at host#

  • Il faut inscrire la fonctionnalité EncryptionAtHost du fournisseur Microsoft.Compute sur l'abonnement (cela ne change rien aux VM existantes).
  • Une VM existante doit être désallouée puis réallouée pour être chiffrée ; sur un Virtual Machine Scale Set, seules les nouvelles instances le sont automatiquement.
  • Incompatible avec ADE : impossible sur une VM qui a, ou a eu, ADE ; et ADE est impossible sur un disque chiffré sur l'hôte.
  • Les tailles prises en charge se lisent dans la capacité EncryptionAtHostSupported des SKU de VM.
  • Le double encryption at rest ajoute une seconde couche, d'un autre algorithme, au niveau de l'infrastructure (clés plateforme) ; il n'est pas pris en charge sur les disques Ultra et SSD Premium v2.
flowchart TD
    A["Nouvelle VM à protéger"] --> B{"Données très sensibles,<br/>besoin de protéger la mémoire<br/>vis-à-vis de l'hôte ?"}
    B -- Oui --> C["confidential VM<br/>+ confidential OS disk encryption"]
    B -- Non --> D["Encryption at host<br/>(disque temporaire, caches, flux)"]
    D --> E{"Contrôler soi-même la clé ?"}
    E -- Oui --> F["Disk Encryption Set (DES)<br/>clé RSA dans Key Vault Premium ou Managed HSM<br/>rotation automatique"]
    E -- Non --> G["Platform-managed keys"]
    H["VM existante sous ADE"] --> I["Migrer vers l'encryption at host<br/>avant le 15/09/2028"]

2.5 Mise en œuvre#

Azure CLI (exemple avec clé client) :

# 1. Inscrire la fonctionnalité sur l'abonnement (une seule fois), puis vérifier l'état « Registered »
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
az feature show --namespace Microsoft.Compute --name EncryptionAtHost

# 2. Disk Encryption Set pointant vers la clé du coffre (purge protection active)
keyUrl=$(az keyvault key show --vault-name kv-disques-prd --name cle-disques --query key.kid -o tsv)
az disk-encryption-set create -n des-disques-prd -g rg-vm-prd -l francecentral \
  --key-url "$keyUrl" --enable-auto-key-rotation true

# 3. Droit de l'identité du DES sur le coffre (modèle RBAC ; en stratégies d'accès : get, wrapkey, unwrapkey)
desId=$(az disk-encryption-set show -n des-disques-prd -g rg-vm-prd --query identity.principalId -o tsv)
az role assignment create --assignee-object-id "$desId" --assignee-principal-type ServicePrincipal \
  --role "Key Vault Crypto Service Encryption User" \
  --scope "$(az keyvault show -n kv-disques-prd --query id -o tsv)"

# 4. Lister les tailles compatibles avec l'encryption at host
az vm list-skus --location francecentral --all --resource-type virtualMachines \
  --query "[?capabilities[?name=='EncryptionAtHostSupported' && value=='True']].name" -o tsv

Terraform (azurerm 5.x, arguments vérifiés dans le registre) :

resource "azurerm_linux_virtual_machine" "app" {
  name                       = "vm-app-prd-01"
  resource_group_name        = azurerm_resource_group.vm.name
  location                   = azurerm_resource_group.vm.location
  size                       = "Standard_D4s_v5"
  admin_username             = "azureadmin"
  network_interface_ids      = [azurerm_network_interface.app.id]
  encryption_at_host_enabled = true   # disque temporaire, caches et flux chiffrés
  secure_boot_enabled        = true   # Trusted Launch
  vtpm_enabled               = true

  admin_ssh_key {
    username   = "azureadmin"
    public_key = var.ssh_public_key   # clé publique uniquement, jamais la clé privée
  }

  identity {
    type = "SystemAssigned"           # requise par Machine Configuration et la connexion Entra ID
  }

  os_disk {
    caching                = "ReadWrite"
    storage_account_type   = "Premium_LRS"
    disk_encryption_set_id = azurerm_disk_encryption_set.disques.id   # customer-managed key
  }

  source_image_reference {
    publisher = "Canonical"
    offer     = "0001-com-ubuntu-server-jammy"
    sku       = "22_04-lts-gen2"
    version   = "latest"
  }
}

3. Azure Bastion#

Azure Bastion : RDP et SSH sur IP privée

3.1 Le principe#

Azure Bastion est un service PaaS déployé dans votre réseau virtuel : l'administrateur ouvre une session RDP ou SSH dans son navigateur (Azure portal, HTTPS 443) ou avec son native client (Azure CLI), et Bastion se connecte à la VM par son IP privée. Les VM n'ont pas besoin d'IP publique, ni d'agent, et 3389/22 ne sont jamais exposés à Internet.

3.2 Les quatre SKU#

Fonctionnalité Developer Basic Standard Premium
Sous-réseau AzureBastionSubnet Non (ressource partagée) Oui Oui Oui
IP publique Non Oui Oui Non en private-only deployment
VNet appairés Non Oui Oui Oui
Connexions simultanées Non (une VM à la fois) Oui Oui Oui
RDP vers Linux, SSH vers Windows Non Non Oui Oui
Native client (Azure CLI), transfert de fichiers Non Non Oui Oui
Port personnalisé, connexion par IP, shareable link Non Non Oui Oui
Désactiver le copier/coller Non Non Oui Oui
Mise à l'échelle de l'hôte Non 2 instances fixes 2 à 50 instances 2 à 50 instances
Session recording Non Non Non Oui
Private-only deployment Non Non Non Oui
Coût Gratuit Payant Payant Payant

Capacité : 20 sessions RDP et 40 sessions SSH par instance (jusqu'à 1 000 RDP et 2 000 SSH à 50 instances). On peut monter de SKU (environ 10 minutes), jamais descendre (il faut supprimer et recréer). Developer n'est pas adapté à la production. Microsoft présente Premium comme le choix recommandé en production, l'écart de prix avec Standard étant marginal.

3.3 Les prérequis réseau#

  • Sous-réseau dédié nommé exactement AzureBastionSubnet, de taille /26 ou plus (/27 toléré pour les déploiements d'avant le 2 novembre 2021), dans le même VNet et le même groupe de ressources que Bastion, sans autre ressource.
  • IP publique Standard, statique (sauf Developer et private-only deployment).
  • Les user-defined routes (UDR) ne sont pas prises en charge sur le sous-réseau de Bastion.
  • Un NSG sur AzureBastionSubnet est possible, mais toutes les règles suivantes sont alors obligatoires (sinon plus de mises à jour de la plateforme, ni de connectivité) :
Règle Sens Source Destination Ports
AllowHttpsInbound Entrant Internet (ou vos IP) * 443 TCP
AllowGatewayManagerInbound Entrant GatewayManager * 443 TCP
AllowBastionHostCommunication Entrant VirtualNetwork VirtualNetwork 8080, 5701
AllowAzureLoadBalancerInbound Entrant AzureLoadBalancer * 443 TCP
AllowSshRdpOutbound Sortant * VirtualNetwork 22, 3389
AllowAzureCloudOutbound Sortant * AzureCloud 443 TCP
AllowBastionCommunication Sortant VirtualNetwork VirtualNetwork 8080, 5701
AllowHttpOutbound Sortant * Internet 80

Sur le sous-réseau des VM : autoriser 3389/22 (ou le port personnalisé) depuis la plage de AzureBastionSubnet seulement.

3.4 Les droits et l'authentification#

Pour se connecter, l'utilisateur a besoin de Reader sur la VM, sur la network interface (avec l'IP privée), sur la ressource Bastion, et sur le VNet de la VM si Bastion est dans un VNet appairé. Il doit aussi avoir les droits dans l'OS (par exemple membre de Utilisateurs du Bureau à distance).

Authentification : nom d'utilisateur et mot de passe, clé SSH (fichier ou Key Vault), Kerberos, et Microsoft Entra ID (RDP vers Windows et SSH vers Linux, avec le rôle Virtual Machine Administrator Login ou Virtual Machine User Login). L'Entra ID en RDP ne se combine pas avec l'session recording graphiques ni avec la connexion par IP.

3.5 Mise en œuvre#

# Bastion Premium dans le hub (le sous-réseau AzureBastionSubnet /26 et l'IP publique Standard existent déjà)
az network bastion create --name bas-hub-prd --resource-group rg-hub-prd --location francecentral \
  --vnet-name vnet-hub-prd --public-ip-address pip-bas-hub-prd --sku Premium \
  --enable-tunneling true          # native client (az network bastion rdp/ssh/tunnel)

# Connexion par le native client avec Microsoft Entra ID
az network bastion rdp --name bas-hub-prd --resource-group rg-hub-prd \
  --target-resource-id "<id-de-la-vm-windows>" --enable-mfa          # Entra ID
az network bastion ssh --name bas-hub-prd --resource-group rg-hub-prd \
  --target-resource-id "<id-de-la-vm-linux>" --auth-type "AAD"

4. Just-in-time (JIT) VM access#

Just-in-time VM access : un port, une adresse IP, une durée

4.1 Le principe#

Les ports d'administration ouverts sont scannés en permanence sur Internet. Le JIT de Defender for Cloud les ferme par défaut et ne les ouvre qu'à la demande, pour un port, une IP source et une durée. C'est une fonctionnalité de Defender for Servers Plan 2.

Fonctionnement côté Azure :

  • Defender for Cloud s'assure que des règles « refuser tout le trafic entrant » existent pour les ports choisis, dans le NSG et dans les règles du Azure Firewall.
  • Si des règles existent déjà pour ces ports, elles gardent la priorité ; sinon les nouvelles règles sont prioritaires.
  • À une demande, Defender for Cloud vérifie que l'utilisateur a les droits Azure RBAC sur la VM, puis ajoute une autorisation depuis l'IP demandée, pour la durée demandée.
  • À l'expiration, les NSG reviennent à leur état antérieur ; les connexions déjà établies ne sont pas coupées.
  • Derrière Azure Firewall, l'utilisateur reçoit les détails de connexion avec le mappage de ports de la table DNAT.
  • Sur AWS (préversion), JIT révoque les règles des groupes de sécurité EC2 et en crée un temporaire.
sequenceDiagram
    actor A as Administrateur
    participant D as Defender for Cloud (JIT)
    participant N as NSG / Azure Firewall
    participant V as VM
    Note over N: Deny sur 22, 3389, 5985, 5986
    A->>D: Demander l'accès (port 3389, mon IP, 1 h)
    D->>D: Vérifier les droits RBAC du demandeur
    D->>N: Ajouter une règle Allow prioritaire pour cette IP
    A->>V: Session RDP
    Note over N: Après 1 h, NSG restauré
    D-->>D: Demande tracée dans le Activity log

4.2 Prérequis et limites#

Point Détail
Plan Defender for Servers Plan 2 sur l'abonnement
Pris en charge VM Azure Resource Manager ; VM protégées par un Azure Firewall du même VNet ; instances EC2 (préversion)
Non pris en charge VM classiques ; VM derrière un Azure Firewall piloté par Azure Firewall Manager (le pare-feu doit utiliser des règles classiques, pas une Firewall Policy)
Prérequis réseau Un NSG ou un Azure Firewall (sinon la VM est « non prise en charge »)
Nom Nom de la stratégie JIT et de la VM : 56 caractères maximum
Ports recommandés 22 (SSH), 3389 (RDP), 5985 et 5986 (WinRM)
Valeurs par défaut (activation depuis la page de la VM) 3389 ou 22, 3 heures maximum, toutes les IP sources (à restreindre)
Lire l'état Reader et Security Reader

4.3 Les droits (rôle personnalisé à privilège minimal)#

Action Autorisations
Configurer une stratégie JIT Microsoft.Security/locations/jitNetworkAccessPolicies/write et Microsoft.Compute/virtualMachines/write
Demander l'accès Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action, …/jitNetworkAccessPolicies/*/read, Microsoft.Compute/virtualMachines/read, Microsoft.Network/networkInterfaces/*/read, Microsoft.Network/publicIPAddresses/read

Microsoft fournit le script Set-JitLeastPrivilegedRole pour créer un rôle qui ne permet que de demander l'accès.

4.4 Mise en œuvre et audit#

Activation depuis Defender for Cloud (Workload protections > Just-in-time VM access > Not configured), depuis la page Configuration de la VM, ou par PowerShell et API REST :

# Stratégie JIT : ports 22 et 3389 fermés, ouverture de 3 heures au maximum
$JitPolicy = @{
  id    = "/subscriptions/<sub>/resourceGroups/rg-vm-prd/providers/Microsoft.Compute/virtualMachines/vm-app-prd-01"
  ports = @(
    @{ number = 22;   protocol = "*"; allowedSourceAddressPrefix = @("203.0.113.10"); maxRequestAccessDuration = "PT3H" },
    @{ number = 3389; protocol = "*"; allowedSourceAddressPrefix = @("203.0.113.10"); maxRequestAccessDuration = "PT3H" })
}
Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "francecentral" -Name "default" `
  -ResourceGroupName "rg-vm-prd" -VirtualMachine @($JitPolicy)

# Demande d'accès au port 22 jusqu'à une heure donnée
$Demande = @{ id = $JitPolicy.id; ports = @(@{ number = 22; endTimeUtc = "2026-10-21T17:00:00Z"; allowedSourceAddressPrefix = @("203.0.113.10") }) }
Start-AzJitNetworkAccessPolicy -ResourceId "/subscriptions/<sub>/resourceGroups/rg-vm-prd/providers/Microsoft.Security/locations/francecentral/jitNetworkAccessPolicies/default" `
  -VirtualMachine @($Demande)

Audit : onglet Configured > menu de la VM > Activity log (opérations, heure, abonnement, export CSV).

JIT ou Bastion ? Les deux se complètent : Bastion supprime l'exposition publique ; JIT ferme le port même côté réseau privé et trace chaque ouverture. L'examen peut demander l'un, l'autre, ou les deux.


5. Azure Arc pour les serveurs hybrides et multicloud#

Azure Arc : les serveurs hors d'Azure deviennent des ressources Azure

5.1 Le principe#

Azure Arc pour les serveurs projette dans Azure les serveurs physiques ou virtuels hébergés hors d'Azure (datacenter, AWS, GCP, autre hébergeur). Chaque machine reçoit un ID de ressource Azure (Microsoft.HybridCompute/machines), se range dans un groupe de ressources, porte des étiquettes, reçoit des stratégies et des rôles RBAC, comme une VM Azure. Arc n'est pas fait pour gérer les VM qui tournent dans Azure.

Il suffit d'installer l'Azure Connected Machine agent (azcmagent). Il donne aussi au serveur une managed identity (utilisable par les applications locales pour obtenir des jetons Entra).

État Signification
Connecté Pulsation reçue (l'agent en envoie toutes les 5 minutes)
Déconnecté Plus de pulsation depuis 15 à 30 minutes
Expiré Déconnecté depuis environ 45 jours : l'identifiant de la managed identity (valable 90 jours, renouvelé tous les 45 jours) a expiré ; il faut déconnecter puis reconnecter la machine

5.2 Ce qu'Arc apporte à la sécurité#

  • Gouverner : Azure Policy et Machine Configuration dans l'OS (10).
  • Protéger : Defender for Servers et Defender for Endpoint (6), Microsoft Sentinel (11-sentinel.md).
  • Configurer : Azure Update Manager, extensions de VM, Run Command (préversion), Automation, suivi des modifications.
  • Surveiller : agent Azure Monitor (AMA), VM Insights.
  • Extended Security Updates (ESU) facturées via Azure : Windows Server 2012 / 2012 R2 (période terminée le 13 octobre 2026, dernière mise à jour ce jour-là, licences désactivées le 14 octobre 2026) et Windows Server 2016. Les VM Azure reçoivent gratuitement les ESU 2012.

5.3 Intégrer les serveurs (onboarding)#

Méthode Usage
Interactive (navigateur local sous Windows, ou code d'appareil) Quelques serveurs
Service principal À l'échelle (script, stratégie de groupe, Configuration Manager, Ansible…) ; préférer un certificat à un secret (contrôlable par Conditional Access)
Jeton d'accès Court terme, obtenu par un autre identifiant
Connecteurs multicloud de Defender for Cloud AWS et GCP : provisionnement automatique de l'agent Arc sur les instances

L'identifiant d'intégration ne sert qu'au moment du azcmagent connect ; s'il expire ou est supprimé, les serveurs restent connectés. S'il fuite, un attaquant peut inscrire ses propres serveurs dans votre abonnement : d'où le rôle minimal et, au besoin, les private endpoints.

# Service principal d'intégration, limité au groupe de ressources cible (secret valable un an : préférer un certificat)
az ad sp create-for-rbac --name "sp-arc-onboarding" --role "Azure Connected Machine Onboarding" \
  --scopes "/subscriptions/<sub>/resourceGroups/rg-arc-serveurs"
sequenceDiagram
    participant S as Serveur local
    participant E as Microsoft Entra ID
    participant A as Azure Resource Manager
    participant H as Service Arc
    S->>S: Installer l'Connected Machine agent
    S->>E: azcmagent connect (service principal, rôle Onboarding)
    E-->>S: Jeton
    S->>A: Créer la ressource Microsoft.HybridCompute/machines
    A-->>S: ID de ressource + managed identity
    loop Toutes les 5 minutes
        S->>H: Pulsation
    end

5.4 Les rôles et les garde-fous#

Rôle Peut Ne peut pas
Azure Connected Machine Onboarding Lire et créer des serveurs Arc Supprimer des serveurs, gérer les extensions
Azure Connected Machine Resource Administrator Lire, modifier, réintégrer, supprimer des serveurs Arc, extensions, licences, Private Link Scopes Gérer les autres ressources du groupe
Contributor, Owner Tout, dont déployer des extensions : administrateur indirect du serveur —

Garde-fous dans le serveur :

  • Listes d'autorisation et de blocage d'extensions de l'agent, par exemple azcmagent config set extensions.blocklist "microsoft.cplat.core/runcommandhandlerwindows".
  • Le groupe local Hybrid agent extension applications (Windows) ou himds (Linux) contrôle qui peut demander des jetons à la managed identity du serveur.

Une Azure Arc Private Link Scope relie un private endpoint (dans un VNet joint par VPN ou ExpressRoute) à vos serveurs Arc, pour que leur trafic Arc ne passe pas par Internet. À savoir :

  • une seule portée par VNet ; un serveur ne se rattache qu'à une portée ; serveur et portée dans la même région ;
  • le trafic vers Microsoft Entra ID et Azure Resource Manager ne passe pas par la portée (sortie Internet par défaut, ou lien privé de gestion des ressources) ;
  • les autres services (Azure Monitor, Key Vault, Stockage pour Custom Script) demandent leurs propres private endpoints ;
  • décocher Autoriser l'accès réseau public force le passage par le private endpoint ;
  • agent 1.4 ou plus récent ; l'association d'un serveur peut prendre jusqu'à 15 minutes ;
  • Windows Admin Center et SSH à distance ne sont pas pris en charge par le lien privé.

6. Intégrer les serveurs à Defender for Servers#

Defender for Servers : Plan 1 et Plan 2

6.1 Deux plans#

  • Plan 1 : l'entrée de gamme, centré sur l'EDR de Defender for Endpoint intégré à Defender for Cloud.
  • Plan 2 : tout le Plan 1, plus l'agentless scanning, Defender Vulnerability Management Premium, le JIT, la FIM, les bases de référence de l'OS, l'évaluation des mises à jour, la carte du réseau, les alertes DNS et couche réseau, et 500 Mo par jour d'ingestion gratuite dans Log Analytics.

La licence Defender for Servers donne sur les serveurs les mêmes droits que Defender for Endpoint Plan 2 sur les postes, facturés à l'heure plutôt qu'à l'utilisateur. Si vous avez déjà des licences Defender for Endpoint pour serveurs, une remise évite la double facturation. Defender for Servers n'utilise plus l'agent Log Analytics (MMA) ni l'agent Azure Monitor pour la plupart des fonctionnalités : l'agentless scanning et l'intégration de Defender for Endpoint les remplacent.

6.2 L'étendue d'activation#

Étendue Plan 1 Plan 2
Activer sur un abonnement (recommandé) Oui Oui
Activer sur une ressource Oui Non
Désactiver sur une ressource Oui Oui

Pour cibler des machines : script, stratégie de la catégorie Security Center – Granular Pricing (par étiquette ou groupe de ressources), ou API pricings (pricingTier = standard, subPlan = P1). On peut aussi rétrograder un groupe de machines en Plan 1 dans un abonnement en Plan 2.

# Plan 2 sur l'abonnement courant
Set-AzSecurityPricing -Name "VirtualMachines" -PricingTier "Standard" -SubPlan P2
az security pricing create -n VirtualMachines --tier standard --subplan P2

Dès l'activation : essai de 30 jours (ni arrêtable, ni prolongeable), extension Defender for Endpoint déployée automatiquement sur les machines prises en charge, évaluation des vulnérabilités active, agentless scanning active (Plan 2), évaluation de la configuration de l'OS (Plan 2, avec l'extension Machine Configuration). La FIM se configure ensuite.

Un Log Analytics workspace n'est nécessaire que pour la FIM et pour l'avantage d'ingestion de 500 Mo (Plan 2).

6.3 Hybride et multicloud#

Origine Comment l'intégrer Couverture
VM Azure Activer le plan sur l'abonnement Complète
AWS (EC2) Connecteur multicloud AWS de Defender for Cloud (pile CloudFormation) ; agent Arc provisionné automatiquement Complète via Arc
GCP (Compute Engine) Connecteur multicloud GCP (script d'intégration) ; agent Arc automatique Complète via Arc
Local (recommandé) Intégrer en serveurs Azure Arc Complète
Local (alternative) Installer directement Defender for Endpoint sans Arc Plan 1, et en Plan 2 seulement les fonctions Premium de Defender Vulnerability Management

Piège classique : « des serveurs locaux doivent bénéficier de la FIM, des bases de référence et de l'évaluation des mises à jour » : il faut Azure Arc. L'agent Defender for Endpoint seul ne suffit pas pour tout le Plan 2.


7. Configurer Defender for Servers, vulnérabilités et EDR#

Les réglages se trouvent dans Defender for Cloud > Environment settings > abonnement > Defender for Servers > Settings (Settings & monitoring).

Composant Par défaut À savoir
Évaluation des vulnérabilités des machines Active (P1 et P2) Defender Vulnerability Management, avec ou sans agent
Protection des points de terminaison (Defender for Endpoint) Active Provisionnement automatique du capteur ; désactivable
Agentless scanning des machines Active en P2 (et avec Defender CSPM) Exclusion par étiquettes (8)
File Integrity Monitoring Inactive Plan 2 ; à activer et configurer
Machine Configuration (Guest Configuration agent) Selon le réglage Requis pour l'évaluation des bases de référence de l'OS

7.1 EDR : Defender for Endpoint#

  • Defender for Cloud déploie l'extension MDE.Windows ou MDE.Linux. Pour déplacer une VM vers un autre abonnement du même locataire : supprimer l'extension, Defender for Cloud la redéploie.
  • Fonctions : EDR (détection, investigation, réponse, Advanced hunting), antivirus nouvelle génération, règles de réduction de la surface d'attaque, analyse des menaces, alertes unifiées visibles dans Defender for Cloud et détaillées dans le portail Defender.
  • Un locataire Defender for Endpoint est créé automatiquement ; l'emplacement de ses données ne peut plus être changé ensuite.
  • Les machines connues de Defender for Cloud mais sans capteur apparaissent dans l'inventaire Defender for Endpoint avec l'état Peut être intégré.
  • État d'intégrité de Defender for Endpoint (problèmes d'installation, de pulsation), actualisé toutes les 4 heures : demande le Plan 2, ou Defender CSPM avec le Plan 1. L'agentless scanning vérifie aussi si une solution EDR est présente et bien configurée.

7.2 Vulnérabilités : Defender Vulnerability Management#

Inventaire logiciel, évaluation continue, score de sécurité des appareils, recommandations priorisées, correction ; fonctions Premium en Plan 2.

flowchart TD
    A["Agentless scanning active"] --> B{"Solution d'analyse avec agent ?"}
    B -- Aucune --> C["Résultats de l'agentless scanning<br/>(Defender Vulnerability Management)"]
    B -- "Defender sensor for Endpoint" --> D{"Les deux méthodes<br/>sur la machine ?"}
    D -- Oui --> E["Résultats avec agent seulement<br/>(plus frais)"]
    D -- Non --> F["Résultats de la méthode présente"]
    B -- "Scanner BYOL<br/>Qualys ou Rapid7" --> G["Résultats du partenaire par défaut<br/>sans agent pour les machines sans le partenaire"]

Les résultats se lisent dans Recommendations > Vulnerabilities (CVE, étapes de correction). Pour voir les résultats, il faut Security Reader ; pour déployer un scanner, Owner sur le groupe de ressources.

7.3 File Integrity Monitoring (FIM)#

  • Plan 2, inactive par défaut ; on choisit un espace Log Analytics où stocker les événements.
  • Collecte par Defender for Endpoint (quasi temps réel) et par l'agentless scanning (toutes les 24 heures, chemins personnalisés possibles).
  • Surveille fichiers de l'OS, registre Windows, fichiers d'application et système Linux : création, suppression, taille, ACL, hachage, avec l'auteur et le processus de la modification.
  • 500 règles maximum ; agent Defender for Endpoint Windows 10.8799 ou plus récent ; l'ancienne FIM fondée sur MMA ou AMA est à migrer vers Defender for Endpoint.
  • Exemples recommandés : /etc/crontab, /etc/*.conf, /usr/bin ; C:\Windows\regedit.exe ; HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.

7.4 Posture de l'OS#

  • Mises à jour de l'OS (Plan 2) : évaluation des correctifs manquants, intégrée à Azure Update Manager.
  • Mauvaises configurations de l'OS (Plan 2) par rapport aux bases de référence de sécurité de calcul du Microsoft Cloud Security Benchmark, via l'extension Machine Configuration (10).
  • Defender Experts for Servers (vendu à part) : service managé de détection et de réponse pour les alertes Defender for Servers.

8. Agentless scanning#

Agentless scanning : instantané, analyse, suppression

8.1 Ce qu'elle fait#

Sans agent, sans connectivité réseau et sans impact sur les performances, elle analyse :

Capacité Defender CSPM Defender for Servers Plan 2
Inventaire logiciel Oui Oui
Évaluation des vulnérabilités Oui Oui
Recherche de secrets en clair sur les disques (dont les clés SSH utilisables pour un mouvement latéral) Oui Oui
Analyse des programmes malveillants (antivirus Microsoft Defender, analyses rapides et complètes) Non Oui
Réglages EDR Oui Oui

Elle couvre les VM Azure (et les Virtual Machine Scale Sets en orchestration flexible), les instances AWS EC2 et GCP Compute Engine, et les VM de nœuds Kubernetes (avec le Plan 2 ou Defender for Containers). Un seul interrupteur par environnement : on ne choisit pas les capacités une à une, ce sont les plans actifs qui décident.

8.2 Comment#

  1. Defender for Cloud prend un instantané des disques (OS + données) ; la copie reste dans la région de la VM.
  2. Il lit la configuration de l'OS et le système de fichiers dans un environnement d'analyse régional, volatil, isolé, puis supprime la copie dès les métadonnées obtenues (en général quelques minutes).
  3. Les moteurs (Defender Vulnerability Management, antivirus…) produisent recommandations et alertes, fusionnées avec les résultats des agents.

Cadence : toutes les 24 heures, non configurable ; une machine arrêtée ou désallouée pendant le cycle n'est pas analysée.

8.3 Droits et customer-managed keys#

  • Le rôle intégré VM Scanner Operator (lecture des disques : Microsoft.Compute/disks/read, …/beginGetAccess/action, …/diskEncryptionSets/read, lecture des VM et des Virtual Machine Scale Sets) est ajouté automatiquement à l'abonnement.
  • Disques chiffrés par clé client : donner au principal Microsoft Defender for Cloud Servers Scanner Resource Provider (ID d'application 0c7668b5-3260-4ad0-9f53-34ed54fa19b2) Get, Wrap Key, Unwrap Key (stratégies d'accès) ou le rôle Key Vault Crypto Service Encryption User (coffre en RBAC).
  • AWS : permissions via la pile CloudFormation du connecteur (rôle VmScanner) ; GCP : via le script d'intégration.

8.4 Limites à connaître#

Limite Conséquence
Plus de 14 disques VM non analysée
Total des disques > 4 To Seul le disque OS (s'il fait moins de 4 To) est analysé
Disques UltraSSD_LRS, PremiumV2_LRS, OS éphémères AKS VM non analysée
VM Databricks ; systèmes de fichiers UFS, ReFS, ZFS ; OracleASM, DRBD, RAID Linux ; DM_Verity, swap VM non analysée
Paquets compressés > 1 Go, > 10 000 fichiers, > 5 niveaux d'archives Analyse des malwares partielle
AMI AWS avec licence tierce Non prises en charge

Activation : Environment settings > abonnement (ou connecteur) > Defender CSPM ou Defender for Servers P2 > Settings > Agentless scanning des machines. Exclure des machines : Modifier la configuration puis des paires étiquette:valeur.


9. Sécurité de la VM elle-même, Trusted Launch et confidential VMs#

Trusted Launch : chaîne de démarrage vérifiée, mesurée et attestée

9.1 Le security type#

La propriété securityType du profil de sécurité d'une VM vaut Standard, TrustedLaunch ou ConfidentialVM. Trusted Launch et confidential VM exigent une VM de génération 2.

9.2 Les briques de Trusted Launch#

Brique Rôle
Secure Boot (Secure Boot) Dans le microprogramme : seuls un chargeur de démarrage, un noyau et des pilotes signés par des éditeurs approuvés démarrent. Si l'image n'est pas signée, la VM ne démarre pas
vTPM TPM 2.0 virtuel dédié, hors de portée de la VM : coffre pour clés et mesures, il mesure toute la chaîne de démarrage (UEFI, OS, pilotes)
Boot integrity monitoring Avec l'Guest Attestation extension, Defender for Cloud atteste à distance que la VM a démarré correctement
Sécurité basée sur la virtualisation (VBS) Permet HVCI (intégrité du code protégée par l'hyperviseur) et Credential Guard (contre Pass-the-Hash) sous Windows

Trusted Launch ne coûte rien de plus, existe en x64 et Arm64, et ne protège que l'OS et le disque OS (pas les disques de données). Non pris en charge : images managées (utiliser l'Azure Compute Gallery) et mise en veille prolongée des VM Linux. Certaines familles de tailles ne le prennent pas en charge (par exemple série M, A, Dv2, Dv3).

9.3 Par défaut, ou à activer#

  • Nouvelles VM Gen2 créées par le portail, Azure CLI ou PowerShell : Trusted Launch par défaut.
  • Modèles (ARM, Bicep, Terraform, SDK) : par défaut avec l'API Microsoft.Compute 2025-11-01 ou plus récente (si l'image, le disque et la taille le permettent) ; sinon ajouter securityProfile ; inscription TrustedLaunchByDefaultPreview pour les versions plus anciennes.
  • Pour s'en passer : securityType = Standard explicite.
  • VM Gen2 existante : la désallouer, passer securityType à TrustedLaunch avec Secure Boot et vTPM, redémarrer. Une VM Gen1 peut aussi être mise à niveau. Le retour arrière vers Gen2 sans Trusted Launch est à sens unique : on ne pourra plus réactiver Trusted Launch sur cette VM.
"securityProfile": {
  "securityType": "TrustedLaunch",
  "uefiSettings": { "secureBootEnabled": true, "vTpmEnabled": true }
}
az vm deallocate -g rg-vm-prd -n vm-app-prd-01
az vm update -g rg-vm-prd -n vm-app-prd-01 --security-type TrustedLaunch --enable-secure-boot true --enable-vtpm true
az vm start -g rg-vm-prd -n vm-app-prd-01

9.4 Ce que Defender for Cloud en fait#

Signal Gravité
Recommandation : activer le Secure Boot Faible
Recommandation : activer le vTPM Faible
Recommandation : installer l'Guest Attestation extension Faible
Évaluation de l'intégrité de l'attestation (boot integrity monitoring) —
Alerte : échec de l'attestation de la VM (journal de démarrage différent de la référence, ou attestation qui ne vient pas du vTPM) Moyenne
Alerte : module de noyau Linux non approuvé refusé au chargement Faible

L'attestation échoue si le Secure Boot est désactivé : si vous devez le désactiver, supprimez l'alerte pour éviter les faux positifs.

9.5 Mise en œuvre à l'échelle#

Azure Advisor recommande Trusted Launch pour les VM Gen2 existantes ; Azure Policy et Defender for Cloud remontent les VM non conformes. En IaC, les arguments Terraform secure_boot_enabled et vtpm_enabled (voir 2.5).

9.6 Les confidential VMs#

Trusted Launch confidential VM
Protège contre Bootkits, rootkits, malwares bas niveau En plus, l'hyperviseur et le code de gestion de l'hôte (isolation matérielle de la mémoire)
Matériel Toute taille Gen2 compatible Processeurs AMD SEV-SNP ou Intel TDX (séries DCasv5, DCadsv5, ECasv5, ECadsv5, v6, NCCadsH100v5…)
Démarrage Secure Boot, vTPM Démarre seulement après attestation réussie de la plateforme (Azure Attestation) ; vTPM dédié ; Secure Boot
Disque OS Chiffrement habituel Chiffrement de disque OS confidentiel facultatif (clé plateforme ou client), clés liées au vTPM, choix non modifiable après déploiement
Limites — Pas d'Azure Site Recovery, galerie limitée, pas d'accélération réseau, pas de migration à chaud ; rotation de la clé client hors ligne uniquement

10. Azure Machine Configuration#

Machine Configuration : auditer et appliquer par Azure Policy

10.1 Le principe#

Azure Machine Configuration (anciennement Azure Policy Guest Configuration) audite ou configure, sous forme de code, des réglages dans l'OS : paramètres système, présence ou configuration d'applications, environnement. Elle s'applique aux VM Azure et aux serveurs Azure Arc, machine par machine ou à l'échelle par Azure Policy. Exemple : « toutes les machines doivent utiliser TLS 1.2 ». Chaque configuration est une ressource d'extension (« affectation d'invité ») attachée à la machine.

10.2 Les prérequis#

Machine Prérequis
VM Azure Extension Machine Configuration + system-assigned managed identity (pour s'authentifier auprès du service)
Serveur Arc Rien de plus : le service est intégré à l'Connected Machine agent ; les définitions d'audit couvrent Microsoft.HybridCompute/machines

À l'échelle : affecter l'initiative intégrée « Deploy prerequisites to enable Guest Configuration policies on virtual machines » au groupe d'administration, à l'abonnement ou au groupe de ressources. Elle ajoute l'identité système en plus des identités utilisateur existantes (attention : une application qui ne précise pas son identité utilisera alors l'identité système). Une variante en préversion utilise une managed identity affectée par l'utilisateur.

Autres repères : extension 1.26.24 ou plus récente (agent Arc 1.10.0 ou plus récent) pour appliquer des configurations ; 50 affectations d'invités maximum par machine ; l'agent est limité à 5 % du CPU ; pas de Virtual Machine Scale Sets uniformes (flexibles oui) ; sortie HTTPS 443 ou lien privé.

# Prérequis sur une seule VM Linux
az vm identity assign -g rg-vm-prd -n vm-app-prd-01
az vm extension set -g rg-vm-prd --vm-name vm-app-prd-01 --name ConfigurationForLinux \
  --publisher Microsoft.GuestConfiguration --enable-auto-upgrade
# Windows : --name ConfigurationForWindows

10.3 Les modes d'application#

assignmentType (sensible à la casse) Comportement
Audit Rapporte l'état, ne change rien
ApplyAndMonitor Applique une fois, puis signale la dérive (NonCompliant) sans corriger, sauf correction déclenchée
ApplyAndAutoCorrect Applique, et corrige automatiquement la dérive à l'évaluation suivante (signale toujours Compliant, sauf erreur)
  • Les définitions qui modifient la machine utilisent l'effet DeployIfNotExists ; une tâche de correction (case Créer une tâche de correction à l'affectation) traite les machines déjà existantes.
  • Avec le mode d'application de la stratégie désactivé, la configuration ne s'applique qu'à la correction.
  • L'étiquette CustomGuestConfigurationSetPolicy = disable sur une machine désactive la correction des paquets personnalisés (pas du contenu intégré).
  • Résultats : page Affectations d'invités et détails de conformité d'Azure Policy.

10.4 Contenu intégré et personnalisé#

  • Initiatives intégrées de la catégorie Guest Configuration : bases de référence Windows et Linux (sécurité de calcul Azure), mots de passe, protocoles TLS, et la stratégie qui vérifie les ESU des serveurs Windows Server 2012 Arc.
  • Paquets personnalisés : écrits en PowerShell DSC avec le module GuestConfiguration (PowerShell 7), puis publiés en définitions personnalisées AuditIfNotExists ou DeployIfNotExists (disponibilité générale).
  • Créer l'identité ou affecter une stratégie qui a le rôle Guest Configuration Resource Contributor demande les droits RBAC correspondants.

11. Compléments AZ-500#

11.1 Se connecter aux VM avec Microsoft Entra ID#

  • Windows : extension AADLoginForWindows ; Linux : extension AADSSHLoginForLinux (authentification SSH par certificat OpenSSH, connexion par az ssh vm -n <vm> -g <rg>, ou az ssh config pour tout client OpenSSH). L'identité managée système doit être activée (az vm identity assign). Linux : sortie 443 vers login.microsoftonline.com et pas.windows.net, au moins 1 Go de mémoire.
  • Rôles Azure Virtual Machine Administrator Login (administrateur, sudo sous Linux) ou Virtual Machine User Login (utilisateur standard) : Owner ou Contributor ne suffisent pas pour ouvrir une session (séparation voulue entre qui gère la VM et qui y entre). Les attribuer au groupe de ressources plutôt qu'à chaque VM.
  • Avantages : comptes nominatifs, MFA et Conditional Access (applications Azure Windows VM Sign-In et Azure Linux VM Sign-In), plus de mot de passe local partagé (voir 01-entra-id.md).
  • RDP : le poste client doit être joint, joint hybride ou inscrit à Entra ID dans le même annuaire. SSH : l'exigence d'appareil conforme ne fonctionne qu'avec Azure CLI sous Windows ou macOS (pas Cloud Shell).

11.2 Run Command : un accès administrateur caché#

Run Command exécute des scripts dans la VM par l'agent de VM, même sans port RDP/SSH ouvert. Exécuter une commande demande Microsoft.Compute/virtualMachines/runCommand/action (ou …/runCommand/write pour les commandes managées), présent dans Virtual Machine Contributor et au-dessus. Pour un serveur Arc, Microsoft.HybridCompute/machines/runCommands/write (Resource Administrator et au-dessus), et blocage local possible par la liste de blocage d'extensions. À surveiller dans le journal d'activité.

11.3 Azure Update Manager#

Gestion unifiée des correctifs Windows et Linux, VM Azure et serveurs Arc : évaluation périodique toutes les 24 heures (activable par Azure Policy), mises à jour immédiates ou planifiées dans des configurations de maintenance (orchestration Customer Managed Schedules requise sur les VM Azure), correctif à chaud (hotpatch) pour Windows Server Datacenter : Azure Edition, contrôle d'accès par RBAC. Seules les VM en marche sont évaluées.

Trusted Launch n'accepte pas les images managées : utiliser l'Azure Compute Gallery. Des images durcies et versionnées, chiffrables par clé client, réduisent la dérive dès le déploiement.

11.5 Sauvegarde#

Protection des sauvegardes de VM (coffres, soft delete, immuabilité, Multi-user authorization) : voir 03-gouvernance.md. Les confidential VMs ont une prise en charge de Azure Backup en préversion.


12. Labs conseillés#

À faire dans un abonnement de test (petites tailles de VM, tout supprimer à la fin ; l'essai de 30 jours de Defender for Servers suffit).

Lab 1 : encryption at host avec clé client.

  1. Inscrire EncryptionAtHost, créer un Key Vault Premium avec purge protection, une clé RSA 3072 et un DES avec rotation automatique (2.5).
  2. Créer une VM Linux Gen2 (taille v5) avec --encryption-at-host true et le DES sur le disque OS.
  3. Désactiver la version de la clé dans le coffre, attendre, observer la VM.
  4. Résultat attendu : la VM s'arrête et ne redémarre pas tant que la clé n'est pas réactivée ; dans Defender for Cloud, la recommandation « encryption at host » passe au vert pour cette VM.

Lab 2 : Bastion et connexion Entra ID.

  1. Créer AzureBastionSubnet /26 et un Bastion Standard avec --enable-tunneling true.
  2. Sur une VM Linux sans IP publique : extension AADSSHLoginForLinux, rôle Virtual Machine Administrator Login pour votre compte.
  3. Se connecter avec az network bastion ssh … --auth-type AAD, puis tester sudo.
  4. Résultat attendu : connexion sans clé ni mot de passe local ; retirer le rôle et constater le refus (Owner ne suffit pas).

Lab 3 : Just-in-time VM access.

  1. Activer Defender for Servers Plan 2 sur l'abonnement (une VM avec NSG suffit).
  2. Activer JIT sur la VM (22, durée maximale 3 h, votre IP seulement), regarder la règle Deny créée dans le NSG.
  3. Demander l'accès pour 1 h, regarder la règle Allow prioritaire, puis le Activity log.
  4. Résultat attendu : la règle Allow disparaît à l'expiration ; la demande est tracée.

Lab 4 : Trusted Launch et Machine Configuration.

  1. Créer une VM Gen2 (Trusted Launch par défaut) et vérifier securityType, Secure Boot et vTPM.
  2. Affecter l'initiative « Deploy prerequisites to enable Guest Configuration policies on virtual machines » au groupe de ressources, avec une tâche de correction.
  3. Affecter la base de référence Linux de sécurité de calcul en Audit.
  4. Résultat attendu : extension installée et identité système ajoutée ; la page Affectations d'invités affiche les règles non conformes.

Lab 5 (facultatif) : un serveur hors d'Azure dans Arc.

  1. Sur une VM locale (Hyper-V, VirtualBox) ou une VM d'un autre cloud, installer l'Connected Machine agent et le connecter avec un service principal Azure Connected Machine Onboarding limité à un groupe de ressources.
  2. Résultat attendu : la machine apparaît en Microsoft.HybridCompute/machines, reçoit Defender for Endpoint (plan actif) et les affectations Azure Policy du groupe de ressources.

13. Les pièges d'examen#

Situation dans la question Réponse attendue Pourquoi
Chiffrer le disque temporaire et les caches sans consommer de CPU de la VM Encryption at host SSE ne couvre ni temp ni caches ; ADE utilise le CPU
Nouvelle VM, on propose ADE Non : encryption at host ADE retiré le 15/09/2028
La clé du DES a été désactivée, les VM se sont arrêtées Comportement attendu ; réactiver la clé ou en affecter une autre Les VM s'arrêtent et ne redémarrent pas sans clé
Le DES ne peut pas utiliser le coffre Vérifier purge protection, région, droit de l'identité du DES Prérequis du DES
Activer l'encryption at host échoue sur l'abonnement Inscrire la fonctionnalité EncryptionAtHost Prérequis d'abonnement
Encryption at host sur une VM qui a eu ADE Impossible Incompatibles
Bastion : sous-réseau nommé « bastion-subnet » Doit s'appeler AzureBastionSubnet, /26 ou plus Exigence stricte
Bastion : enregistrer les sessions, ou aucune IP publique Premium Seul SKU qui le fait
Bastion : native client, shareable link, port personnalisé Standard minimum Pas en Basic ni Developer
Bastion vers une VM d'un VNet appairé avec le SKU Developer Impossible : passer en Basic ou plus Developer sans peering
Un utilisateur ne voit pas la VM dans Bastion Lui donner Reader sur VM, network interface, Bastion (et VNet si appairé) Droits minimaux documentés
UDR 0.0.0.0/0 sur AzureBastionSubnet Non pris en charge Bastion a besoin de sa sortie
JIT non disponible sur une VM Vérifier Defender for Servers Plan 2, présence d'un NSG ou d'un pare-feu, VM non classique, pas de Firewall Manager Prérequis JIT
JIT : un utilisateur doit seulement demander l'accès Rôle personnalisé avec jitNetworkAccessPolicies/initiate/action Moindre privilège
Fin d'une fenêtre JIT : la session RDP est-elle coupée ? Non Les connexions établies restent
Serveurs locaux : FIM, bases de référence OS, mises à jour Azure Arc + Defender for Servers Plan 2 MDE seul ne donne pas tout le Plan 2
Service principal d'intégration Arc : quel rôle ? Azure Connected Machine Onboarding, portée minimale, certificat Ne peut pas gérer les extensions
Empêcher Run Command sur un serveur Arc Liste de blocage d'extensions de l'agent (azcmagent config) Contrôle local
Activer le Plan 2 pour une seule VM Impossible : P2 par abonnement (désactivable par ressource) ; P1 activable par ressource Étendue des plans
Analyse des malwares sans agent avec Defender CSPM seul Non : Defender for Servers Plan 2 Malwares réservés au P2
VM avec disques Ultra non analysée sans agent Limite documentée Type de disque non pris en charge
Disques CMK non analysés sans agent Donner au scanner Get/Wrap/Unwrap ou Key Vault Crypto Service Encryption User Accès à la clé
Alerte « échec de l'attestation de la VM » Trusted Launch avec vTPM + Guest Attestation extension ; chaîne de démarrage modifiée Integrity monitoring
Trusted Launch sur une VM existante Désallouer, securityType = TrustedLaunch, redémarrer Changement à froid
Protéger la mémoire de la VM contre l'hôte confidential VM Trusted Launch ne le fait pas
Machine Configuration ne s'applique pas sur une VM Azure Manque l'extension ou l'system-assigned managed identity Prérequis
Corriger automatiquement la dérive de configuration ApplyAndAutoCorrect ApplyAndMonitor signale seulement
Un Contributor peut-il se connecter à une VM en Entra ID ? Non : Virtual Machine Administrator/User Login Rôles dédiés

14. Scénarios d'entraînement#

1. Contoso crée des VM Linux contenant des données de santé. L'audit exige que le disque temporaire, les caches et les flux vers le stockage soient chiffrés, avec une clé dont l'entreprise contrôle la rotation. Que configurer ?

Encryption at host (fonctionnalité EncryptionAtHost inscrite) et un Disk Encryption Set pointant vers une clé RSA d'un Key Vault Premium (purge protection), avec rotation automatique. Pas ADE (CPU de la VM, retrait 2028).

2. Une équipe veut administrer ses VM sans aucune IP publique, ni sur les VM ni sur l'outil d'accès, et la conformité exige d'enregistrer les sessions. Quelle solution ?

Azure Bastion Premium en private-only deployment avec session recording (stockées dans un conteneur blob). Les administrateurs arrivent par VPN ou ExpressRoute sur l'IP privée de Bastion.

3. Après déploiement de Bastion Standard dans le hub, un administrateur ne voit pas une VM du spoke appairé. Il est Contributor sur le groupe de ressources de la VM. Que manque-t-il ?

Reader sur la ressource Bastion (dans le hub) et sur le VNet de la VM (Bastion dans un VNet appairé), en plus de la VM et de sa network interface. Vérifier aussi que le NSG du sous-réseau de la VM autorise 3389/22 depuis AzureBastionSubnet.

4. Les VM de production exposent RDP via un NSG « Allow 3389 from Any ». On veut que le port ne s'ouvre que sur demande, une heure au plus, depuis l'IP de l'administrateur, et garder une trace. Comment ?

Activer Defender for Servers Plan 2, configurer le JIT sur 3389 (durée maximale PT1H, IP sources restreintes), retirer la règle Any. Les demandes apparaissent dans le Activity log. Donner aux administrateurs un rôle avec initiate/action.

5. Fabrikam a 300 serveurs Windows locaux et 80 instances EC2. Elle veut l'EDR, l'évaluation des vulnérabilités, la FIM et les bases de référence de l'OS dans Defender for Cloud. Démarche ?

Serveurs locaux : Azure Arc à l'échelle avec un service principal (rôle Azure Connected Machine Onboarding, certificat). AWS : connecteur multicloud AWS avec provisionnement automatique d'Arc. Puis Defender for Servers Plan 2 sur les abonnements cibles, FIM configurée avec un espace Log Analytics.

6. Pour des raisons de coût, seules 10 VM d'un abonnement doivent avoir Defender for Servers, en Plan 1. Possible ?

Oui : le Plan 1 s'active par ressource (script, stratégie Granular Pricing par étiquette, ou API pricings avec subPlan = P1). Le Plan 2, lui, ne s'active que par abonnement.

7. Après activation de l'agentless scanning, une VM à 16 disques et une autre à disques Ultra n'ont aucun résultat. Pourquoi ?

Limites : plus de 14 disques, et type UltraSSD_LRS, ne sont pas pris en charge. Elles restent à couvrir par l'agent Defender for Endpoint.

8. Defender for Cloud lève l'alerte « échec de l'attestation de la VM » sur une VM Windows Trusted Launch. Que signifie-t-elle, et quels prérequis permettent cette détection ?

Le journal de démarrage mesuré par le vTPM ne correspond pas à la référence (module non approuvé possible) ou l'attestation ne provient pas du vTPM. Il faut Secure Boot, vTPM et l'Guest Attestation extension. Enquêter : la VM peut être compromise.

9. Toutes les VM Windows et les serveurs Arc doivent imposer TLS 1.2 et revenir automatiquement à ce réglage s'il est modifié. Comment ?

Affecter l'initiative Deploy prerequisites to enable Guest Configuration policies (extension + identité système sur les VM Azure), puis une définition Machine Configuration avec assignmentType = ApplyAndAutoCorrect, et une tâche de correction pour les machines existantes. Les serveurs Arc n'ont pas besoin de l'extension.

10. Un auditeur remarque que des développeurs Contributor sur des VM peuvent y exécuter des scripts sans ouvrir de port. Que font-ils, et comment le limiter ?

Run Command (ou des extensions), qui exige runCommand/action : inclus dans Virtual Machine Contributor et au-dessus. Réduire les rôles (rôle personnalisé sans cette action, PIM), surveiller le Activity log ; sur Arc, liste de blocage d'extensions.

11. Une VM Gen2 de 2023 n'a pas Trusted Launch. Advisor le recommande. Procédure, et risque ?

Vérifier taille, image et OS compatibles, créer un point de restauration, désallouer, az vm update --security-type TrustedLaunch --enable-secure-boot true --enable-vtpm true, redémarrer, tester RDP/SSH. Le retour arrière est à sens unique.


15. Pour aller plus loin (au-delà de l'examen)#

  • Bastion et Conditional Access : avec l'authentification Entra ID, les sessions passent par Conditional Access ; combiner avec PIM pour les rôles Virtual Machine Administrator Login.
  • Secrets sur disque : l'agentless scanning repère les clés SSH privées et chaînes de connexion en clair ; les remplacer par des managed identities et Key Vault (01-entra-id.md, 02-key-vault.md).
  • Defender for Cloud et les attack paths : une VM exposée avec une vulnérabilité critique et une identité à privilèges devient un attack path priorisé par Defender CSPM (10-defender-for-cloud.md).
  • Inscription automatique des machines Arc (préversion) : activer automatiquement un ensemble de fonctionnalités de surveillance, sécurité et gestion sur les nouveaux serveurs Arc.
  • Nœuds AKS : l'agentless scanning et l'analyse des malwares couvrent les VM de nœuds Kubernetes ; la sécurité d'AKS est traitée au chapitre 09-services-applicatifs.md.
  • Journalisation : envoyer les alertes Defender for Servers et les événements de sécurité Windows vers Microsoft Sentinel (11-sentinel.md).

16. Fiche à retenir#

  • SSE toujours actif (AES-256) mais ni disque temporaire ni caches ; encryption at host = temp + caches + flux, sans CPU de la VM.
  • ADE retiré le 15/09/2028 ; incompatible avec l'encryption at host et avec la clé client SSE.
  • Clé client = DES (system-assigned managed identity) + clé RSA 2048/3072/4096 + coffre avec purge protection, même région ; rotation auto en 1 h sans redémarrage ; clé désactivée = VM arrêtées.
  • Bastion : AzureBastionSubnet /26+, IP publique Standard statique, pas d'UDR, 8 règles NSG si NSG ; Reader sur VM + network interface + Bastion (+ VNet appairé).
  • SKU Bastion : Developer (gratuit, 1 VM, pas de peering) · Basic · Standard (native client, lien, ports, 2-50 instances) · Premium (enregistrement, privé uniquement).
  • JIT = Defender for Servers P2 + NSG ou pare-feu ; Deny puis Allow temporaire par IP ; défaut 3 h ; pas de Firewall Manager ; sessions établies conservées.
  • Arc : Connected Machine agent, ID de ressource + managed identity ; pulsation 5 min, déconnecté 15-30 min, expiré ~45 jours ; rôle Onboarding (sans extensions) vs Resource Administrator.
  • Azure Arc Private Link Scope : Entra ID et ARM restent hors portée ; une portée par VNet ; même région.
  • Defender for Servers : P1 = EDR (activable par ressource) ; P2 = P1 + sans agent, JIT, FIM, MDVM Premium, bases OS, 500 Mo/jour (par abonnement) ; essai 30 jours.
  • Multicloud : connecteurs AWS/GCP avec Arc automatique ; local : Arc recommandé (MDE seul = couverture partielle).
  • Sans agent : instantané, analyse isolée, suppression ; 24 h ; ≤ 14 disques, ≤ 4 To ; pas Ultra/Premium v2/éphémère AKS ; malwares = P2 ; rôle VM Scanner Operator ; exclusion par étiquette.
  • FIM : Plan 2, inactive par défaut, espace Log Analytics, MDE (temps réel) + sans agent (24 h), 500 règles.
  • securityType : Standard · TrustedLaunch · ConfidentialVM ; Gen2 ; Secure Boot + vTPM + Guest Attestation extension = integrity monitoring.
  • Trusted Launch par défaut (portail, CLI, PowerShell, API 2025-11-01+) ; existant : désallouer ; retour arrière à sens unique.
  • confidential VM : AMD SEV-SNP / Intel TDX, attestation avant démarrage, disque OS confidentiel (choix figé).
  • Machine Configuration : VM Azure = extension + identité système (initiative Deploy prerequisites…) ; Arc = rien ; Audit · ApplyAndMonitor · ApplyAndAutoCorrect.
  • Entra ID sur VM : Virtual Machine Administrator/User Login (Contributor ne suffit pas) ; Run Command = administrateur indirect.

Références#

Toutes lues le 21/10/2026 sur Microsoft Learn :

Sur cette page
Échap

Tape au moins 2 lettres. Plusieurs mots : tous doivent apparaître.