Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le protocole MSP (Metadata Security Protocol) offre une personnalisation pour limiter au maximum l’accès au serveur de métadonnées dans votre charge de travail. Cet article présente les concepts fondamentaux que vous pouvez activer rapidement sur n’importe quelle machine virtuelle ou groupe de machines virtuelles identiques pris en charge.
Si vous connaissez bien la façon dont votre charge de travail utilise les services de métadonnées, vous pouvez renforcer l’accès en suivant le guide de configuration avancée.
Vous pouvez configurer MSP via :
- Modèles Microsoft Azure Resource Manager
- API REST
- PowerShell
- portail Azure
Les concepts
| Terme | Définition |
|---|---|
| Services de métadonnées | Un terme général pour la pratique industrielle de l’offre d’API HTTP privées, non Internet, anonymes disponibles à un emplacement fixe. L’emplacement est généralement 169.254.169.254. Bien que les fonctionnalités exactes, les détails et le nombre de services varient selon le fournisseur de cloud, ils partagent tous une architecture et un objectif similaires. |
| Service de métadonnées d’instance Azure | Un service de métadonnées accessible par l'utilisateur avec de l'assistance et une documentation API complète. Il est destiné aux intégrations Azure et non-Microsoft. Il offre une combinaison de métadonnées et d’informations d’identification. |
| WireServer | Service de métadonnées orienté plateforme que les organisations utilisent pour implémenter des fonctionnalités IaaS (Infrastructure as a Service) de base. Elle n’est pas destinée à la consommation générale et Azure ne prend pas en charge cette opération. Bien que les consommateurs du service soient liés à une implémentation Azure, le service doit toujours être pris en compte dans les évaluations de sécurité. Les ressources WireServer sont traitées comme privilégiées par défaut. Toutefois, vous ne devez pas afficher les ressources du service de métadonnées d’instance comme non privilégiées. Selon votre charge de travail, le service de métadonnées d’instance peut également fournir des informations sensibles. |
| Agent proxy invité (GPA) | Agent invité qui active les protections MSP. |
Champs Azure Resource Manager
Vous gérez toute la configuration via de nouvelles propriétés dans la securityProfile section de la configuration de votre ressource.
La version minimale de l’API pour configurer MSP est 2024-03-01.
Configuration générale
ProxyAgentSettings est la nouvelle propriété dans le modèle de machine virtuelle pour les machines virtuelles Azure et les groupes de machines virtuelles identiques afin de configurer la fonctionnalité MSP.
| Nom du paramètre | Type | Par défaut | Détails |
|---|---|---|---|
enabled |
Bool |
false |
Spécifie si la fonctionnalité MSP doit être activée sur la machine virtuelle ou l'ensemble de machines virtuelles. La valeur par défaut est false. Cette propriété contrôle :
|
imds |
HostEndpointSettings |
Sans objet | Configuration spécifique au service de métadonnées d’instance. Consultez Configuration pour chaque service de métadonnées plus loin dans cet article. |
wireServer |
HostEndpointSettings |
Sans objet | Paramètres du point de terminaison WireServer. Consultez Configuration pour chaque service de métadonnées plus loin dans cet article. |
keyIncarnationId |
Integer |
0 |
Compteur pour la génération de clés. L’augmentation de cette valeur indique au MSP de réinitialiser la clé utilisée pour sécuriser un canal de communication entre l’invité et l’hôte. Le GPA détecte la réinitialisation de la clé et en acquiert automatiquement une nouvelle. Cette propriété est uniquement à des fins de récupération et de résolution des problèmes. |
Configuration de chaque service de métadonnées
Vous pouvez configurer des protections individuelles pour chaque service de métadonnées. Le schéma est le même pour chaque service.
Les configurations en ligne et les configurations liées s'excluent mutuellement pour chaque service.
Configuration en ligne
Vous pouvez définir une configuration inline à l’aide de la mode propriété de HostEndpointSettings. Les configurations inline ne prennent pas en charge la personnalisation.
Dans le tableau suivant, mode est une énumération exprimée sous la forme String.
valeur mode |
Comportement de GPA | Comportement du service |
|---|---|---|
Disabled |
Le GPA ne configure pas l’interception eBPF des requêtes adressées à ce service. Les demandes sont directement envoyées au service. | Inchangé. Le service n’exige pas que le GPA approuve (signe) les demandes. |
Audit |
Le GPA intercepte les demandes adressées à ce service et détermine si la configuration actuelle les autorise. La requête est toujours transférée au service, mais les informations du résultat et de l’appelant sont enregistrées. | Inchangé. Le service n’exige pas que le GPA approuve (signe) les demandes. |
Enforce |
Le GPA intercepte les demandes adressées à ce service et détermine si la configuration actuelle les autorise. Si l’appelant est autorisé, le GPA signe la demande pour l’approuver. Si l’appelant n’est pas autorisé, le GPA répond avec le code d’état 401 ou 403. Tous les résultats sont enregistrés dans le journal d’audit. |
Le GPA doit approuver (signer) les demandes adressées au service. Les demandes non signées sont rejetées avec un code d’état 401 . |
Important
Vous ne pouvez pas utiliser cette propriété en même temps que inVMAccessControlProfileReferenceId.
En mode WireServer Enforce , le GPA nécessite implicitement qu’un processus s’exécute en tant que Administrator ou root pour accéder à WireServer. Cette exigence équivaut à la règle de pare-feu in-guest qui existe même quand le MSP est désactivé, mais avec une implémentation plus sécurisée.
Configuration liée
Le type de ressource inVMAccessControlProfiles définit une configuration par service qui peut être associée à une machine virtuelle ou à un ensemble élastique de machines virtuelles. Ces configurations prennent en charge les personnalisations complètes. Pour plus d’informations, consultez Configuration avancée pour MSP.
Propriété HostEndpointSettings |
Type | Détails |
|---|---|---|
inVMAccessControlProfileReferenceId |
String |
ID de ressource de la configuration à appliquer. |
Cette propriété doit être un ID Resource Manager complet, qui prend la forme suivante : /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version}.
Important
Vous ne pouvez pas utiliser cette propriété en même temps que mode.
Exemple complet
- VM :
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachines/{virtualMachine-Name}?api-version=2024-03-01 - Groupe de machines virtuelles identiques :
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSet-name}/virtualMachines/{instance-id}?api-version=2024-03-01
L'exemple suivant utilise mode :
{
"name": "GPAWinVM",
"location": "centraluseuap",
"properties": {
...
...
"securityProfile": {
"proxyAgentSettings": {
"enabled": true,
"wireServer": {
"mode": "Enforce"
},
"imds": {
"mode": "Audit"
}
}
},
}
}
L’exemple suivant utilise inVMAccessControlProfileReferenceId:
{
"name": "GPAWinVM",
"location": "centraluseuap",
"properties": {
...
...
"securityProfile": {
"proxyAgentSettings": {
"enabled": true,
"wireServer": {
"inVMAccessControlProfileReferenceId": "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version}"
},
"imds": {
"inVMAccessControlProfileReferenceId": "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version}"
}
}
},
}
}
Journaux d’audit
En mode Audit et en mode Enforce, les journaux d’audit sont générés sur le disque local.
| Famille de système d’exploitation | Emplacement du journal d’audit |
|---|---|
| Linux | /var/lib/azure-proxy-agent/ProxyAgent.Connection.log |
| Fenêtres | C:\WindowsAzure\ProxyAgent\Logs\ProxyAgent.Connection.log |
Progression recommandée
Les clients ne sont souvent pas conscients de l’étendue complète de l’utilisation de WireServer et du service de métadonnées d’instance dans leur charge de travail. L’utilisation de votre machine virtuelle est une combinaison de toutes les intégrations personnalisées que vous créez et des détails d’implémentation de tout autre logiciel que vous exécutez. Nous vous recommandons de commencer par une configuration plus simple et d’effectuer une itération au fil du temps à mesure que vous obtenez plus d’informations. En général, il est préférable d’aller dans cet ordre :
- Activez MSP pour WireServer et Instance Metadata Service, en mode
Audit. Cette étape vous permet de confirmer la compatibilité et d’en savoir plus sur votre charge de travail. Il génère également des données précieuses pour détecter les acteurs des menaces. - Passez en revue les données d’audit. Soyez particulièrement attentif(ve) aux demandes signalées. Ces requêtes peuvent être des signes d’une attaque en cours ou d’une incompatibilité de charge de travail.
- Corrigez les problèmes. Sous la configuration par défaut, tout ce qui est marqué par un indicateur est une mauvaise utilisation des services de métadonnées. Contactez votre équipe de sécurité ou les propriétaires de services correspondants en fonction des besoins.
- Passer du
Auditmode auEnforcemode. Les requêtes signalées sont rejetées pour protéger la charge de travail. - Expérimentez avec une configuration avancée. La configuration par défaut reflète les règles de sécurité pré-MSP, qui sont souvent trop permissives. La définition d’une configuration personnalisée pour votre charge de travail vous permet d’améliorer davantage la sécurité en appliquant le principe de l’accès avec privilèges minimum.
Ne vous inquiétez pas de suivre une progression parfaite. Tout niveau d’activation MSP améliore considérablement votre sécurité et vous aide à vous protéger contre la plupart des attaques réelles.