Une paire AccessKey est un identifiant utilisé pour la vérification de l'identité lorsque vous appelez les API Alibaba Cloud. Une fuite de paire AccessKey peut compromettre la sécurité de toutes les ressources associées à votre compte, entraînant des frais imprévus, des demandes de rançon et, dans les cas graves, des préjudices pour Alibaba Cloud ou d'autres utilisateurs. Cette rubrique décrit comment réagir en cas de suspicion de fuite d'AccessKey afin d'éviter une utilisation abusive plus large des identifiants.
Mesures de sécurité d'Alibaba Cloud
Alibaba Cloud renforce continuellement la sécurité des services cloud et vous aide à protéger votre compte et vos actifs. Si Alibaba Cloud détecte, sur la base de renseignements externes, que votre paire AccessKey a été exposée publiquement, il vous en informe rapidement via vos canaux de contact enregistrés. Pour garantir la sécurité de votre activité et de vos données, Alibaba Cloud applique également une protection restrictive à cette paire AccessKey, en bloquant son appel aux API à haut risque de certains services cloud. Pour plus d'informations, consultez Protection restrictive pour les AccessKeys.
Surveillez les notifications envoyées par SMS, e-mail et via les messages dans la console. Réagissez rapidement en fonction de vos besoins opérationnels réels et soyez attentif à toute activité inhabituelle des ressources cloud sous votre compte afin d'assurer le bon fonctionnement de votre activité.
Alibaba Cloud ne peut pas surveiller l'état de sécurité de toutes vos paires AccessKey. Dans le cadre du modèle de responsabilité partagée, la sécurité cloud est une responsabilité conjointe entre vous et Alibaba Cloud. Les paires AccessKey sont les identifiants de compte et d'identité des clients cloud, et vous restez responsable de leur sécurité. Restez vigilant.
Si la protection restrictive empêche un utilisateur RAM de se connecter à la console, consultez Que faire si une fuite d'AccessKey empêche un utilisateur RAM de se connecter ou si le compte est gelé ?.
Réagir en cas de suspicion de fuite
Lorsque vous soupçonnez qu'une paire AccessKey a fuité, réagissez immédiatement. Déterminez d'abord l'étendue de la fuite : vous pouvez confirmer l'ID AccessKey spécifique qui a fuité grâce aux notifications envoyées à votre adresse e-mail de sécurité et aux messages dans la console. Si la notification ne concerne qu'une seule paire AccessKey et qu'il n'y a pas d'autres alertes, seule cette paire AccessKey a probablement fuité.
Déterminez si la paire AccessKey qui a fuité appartient à votre compte Alibaba Cloud (compte racine) ou à un utilisateur RAM, puis suivez la sous-section correspondante. Une paire AccessKey de compte racine peut accéder à toutes les ressources du compte ; traitez donc une fuite de compte racine avec la plus haute urgence. Une réponse complète couvre les phases suivantes :
Désactivez et supprimez la paire AccessKey qui a fuité, ou effectuez une rotation. Si vous ne pouvez pas effectuer la rotation immédiatement, réduisez d'abord ses permissions.
Enquêtez sur les opérations anormales de la paire AccessKey.
Identifiez l'étendue d'utilisation de la paire AccessKey avant de la supprimer.
Vérifiez s'il existe des frais anormaux.
Rétablissez une utilisation sécurisée de votre compte.
Gérer une fuite de paire AccessKey du compte Alibaba Cloud (compte racine)
La paire AccessKey n'est plus utilisée — Accédez à la page de gestion des AccessKeys et désactivez et supprimez immédiatement la paire AccessKey.
-
La paire AccessKey est utilisée — Effectuez une rotation de la paire AccessKey sur la page de gestion des AccessKeys :
Créez une nouvelle paire AccessKey et stockez le secret AccessKey de manière sécurisée.
Remplacez la paire AccessKey d'origine par la nouvelle.
Après avoir confirmé que tout fonctionne normalement, désactivez et supprimez la paire AccessKey d'origine.
La simple suppression des utilisateurs RAM créés malicieusement n'élimine pas le risque de fuite. Le risque principal réside dans le fait que la paire AccessKey du compte Alibaba Cloud (compte racine) ou d'un utilisateur RAM à privilèges élevés a déjà fuité, et qu'un attaquant peut utiliser cette paire pour créer continuellement de nouveaux utilisateurs ou élever ses privilèges. Vous devez effectuer une rotation de la paire AccessKey et enquêter sur la voie de la fuite, telle que le code, les fichiers de configuration et la sécurité du serveur. Sinon, le risque persiste.
Avant de supprimer la paire AccessKey d'origine, identifiez son étendue d'utilisation comme décrit dans Identifier l'étendue d'utilisation de la paire AccessKey. Après avoir effectué la rotation ou supprimé la paire AccessKey, suivez les étapes décrites dans Enquêter sur les opérations anormales et Vérifier les frais anormaux.
Gérer une fuite de paire AccessKey d'un utilisateur RAM
La réponse appropriée dépend du fait que la paire AccessKey est toujours utilisée et, le cas échéant, si elle peut faire l'objet d'une rotation à court terme. Si la paire AccessKey peut être renouvelée, la rotation est la réponse recommandée.
La paire AccessKey n'est plus utilisée
Accédez à la console RAM et désactivez et supprimez la paire AccessKey. Pour obtenir des instructions, consultez Désactiver l'AccessKey d'un utilisateur RAM et Supprimer l'AccessKey d'un utilisateur RAM.
Lorsque vous désactivez une paire AccessKey, la console vous demande d'effectuer une authentification de sécurité (authentification multifacteur, MFA). Le statut de la paire AccessKey passe à Désactivé uniquement après la réussite de l'authentification. Si la paire AccessKey a été utilisée au cours des 60 derniers jours, la console vous avertit que sa désactivation peut perturber votre activité. Confirmez qu'aucune activité ne dépend de la paire AccessKey avant de continuer.
La paire AccessKey est utilisée et peut faire l'objet d'une rotation (Recommandé)
Effectuez une rotation de la paire AccessKey dès que possible :
Cliquez sur Create AccessKey. Dans la boîte de dialogue Scenarios, sélectionnez le scénario correspondant à votre utilisation réelle parmi CLI, Local Development, ECS, ACK, Third-party Application et Other.
Créez la nouvelle paire AccessKey et stockez le secret AccessKey de manière sécurisée.
Remplacez la paire AccessKey d'origine par la nouvelle.
-
Après avoir confirmé que tout fonctionne normalement, désactivez et supprimez l'ancienne paire AccessKey.
Pour obtenir des instructions, consultez Effectuer la rotation de l'AccessKey d'un utilisateur RAM.
Lorsque vous supprimez une paire AccessKey, vous devez saisir manuellement l'AccessKey ID pour effectuer une seconde confirmation. Si la paire AccessKey a été désactivée depuis moins de sept jours, la console vous avertit que sa suppression peut perturber votre activité. Confirmez qu'aucune activité ne dépend de la paire AccessKey avant de continuer. Une paire AccessKey supprimée n'est pas détruite immédiatement. Elle est déplacée vers la corbeille, conservée pendant 30 jours, puis automatiquement effacée. Pour restaurer la paire AccessKey, effectuez l'opération dans le délai de conservation.
La paire AccessKey est utilisée mais ne peut pas faire l'objet d'une rotation à court terme
Si vous confirmez que la paire AccessKey est utilisée mais ne peut pas être renouvelée facilement à court terme, suivez les étapes illustrées dans la figure suivante pour réduire l'impact d'une utilisation abusive. Effectuez la rotation dès que possible par la suite.
Étape 1 : Réduire les permissions de la paire AccessKey
Identifiez d'abord votre scénario métier. Sans perturber les opérations en cours, réduisez dès que possible les permissions de la paire AccessKey suspectée. Restreignez les permissions à haut risque pour diminuer le risque de dommages à votre activité et à votre facturation. Ne révoquez pas cette politique restrictive tant que la paire AccessKey n'a pas été désactivée et supprimée.
Les permissions à haut risque recommandées à restreindre incluent : empêcher l'utilisateur RAM de créer de nouveaux utilisateurs RAM ou d'accorder des permissions dans RAM, bloquer la libération des ressources ECS, RDS, OSS et SLS, et bloquer l'envoi de SMS.
L'exemple suivant montre une politique personnalisée qui refuse les actions à haut risque. Évaluez son impact minutieusement et ajustez-la en fonction de vos besoins métier.
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ram:AddUserToGroup",
"ram:AttachPolicyToGroup",
"ram:AttachPolicyToRole",
"ram:AttachPolicyToUser",
"ram:ChangePassword",
"ram:CreateAccessKey",
"ram:CreateLoginProfile",
"ram:CreatePolicyVersion",
"ram:CreateRole",
"ram:CreateUser",
"ram:DetachPolicyFromUser",
"ram:PassRole",
"ram:SetDefaultPolicyVersion",
"ram:UpdateAccessKey",
"ram:SetPasswordPolicy",
"ram:UpdateRole",
"ram:UpdateLoginProfile",
"ram:UpdateUser"
],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"ecs:DeleteInstance",
"ecs:DeleteInstances",
"ecs:DeregisterManagedInstance",
"ecs:ReleaseDedicatedHost"
],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"rds:DeleteAccount",
"rds:DeleteDatabase",
"rds:DeleteDBInstance",
"rds:DestroyDBInstance"
],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"oss:DeleteBucket",
"oss:DeleteObject",
"oss:PutBucketAcl",
"oss:PutBucketPolicy"
],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"log:DeleteLogStore",
"log:DeleteProject",
"log:PutProjectPolicy",
"log:DeleteProjectPolicy"
],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"dysms:CreateProductNew",
"dysms:CreateSmsTemplateNew",
"dysms:AddSmsTemplate",
"dysms:SendSms",
"dysms:SendBatchSms"
],
"Resource": "*"
}
]
}
Pour obtenir des instructions, consultez Créer une politique personnalisée et Gérer les permissions des utilisateurs RAM.
Définissez clairement les permissions métier dont la paire AccessKey a besoin et supprimez toutes les permissions inutiles.
Étape 2 : Activer la MFA pour l'utilisateur RAM
En tant que bonne pratique, activez l'authentification multifacteur (MFA) pour tous les utilisateurs RAM sous votre compte Alibaba Cloud (compte racine) qui accèdent à la console.
Exigez la MFA pour que les utilisateurs RAM sous le compte racine se connectent à la console. Pour obtenir des instructions, consultez Exiger la MFA pour la connexion des utilisateurs RAM.
-
Associez un dispositif MFA à l'utilisateur. Pour obtenir des instructions, consultez Associer un dispositif MFA à un utilisateur RAM.
Après avoir réduit les permissions et activé la MFA, suivez les étapes décrites dans Enquêter sur les opérations anormales, Identifier l'étendue d'utilisation de la paire AccessKey et Vérifier les frais anormaux. Ensuite, effectuez la rotation dès que possible.
Enquêter sur les opérations anormales
Vérifiez si la paire AccessKey qui a fuité présente des opérations anormales et enquêtez pour déterminer si d'autres identités sont suspectées d'avoir fuité. Concentrez-vous sur les adresses IP source anormales et les opérations de création ou de suppression de ressources dont votre activité n'a pas besoin.
Les opérations dangereuses à investiguer pendant la période de fuite incluent :
Modifications d'identité et de permissions : création d'utilisateurs RAM (
CreateUser), création de paires AccessKey (CreateAccessKey), attachement de politiques d'accès (AttachPolicyToUser), création de rôles (CreateRole) et activation de la connexion à la console (CreateLoginProfile). Des événements tels queCreateLoginProfile,AttachPolicyToUseretCreateUserindiquent généralement qu'un attaquant crée des comptes backdoor ou élève ses privilèges. Soyez particulièrement attentif aux adresses IP source et aux UserAgents de ces appels.Suppression et libération de ressources : suppression d'instances ECS (
DeleteInstance), suppression d'instances RDS (DeleteDBInstance) et suppression de buckets OSS (DeleteBucket).Exfiltration de données : modification des permissions d'accès aux buckets OSS (
PutBucketAcl), modification des politiques de buckets OSS (PutBucketPolicy) et opérations similaires.-
Comportement d'appel anormal : grand nombre de requêtes API sur une courte période, opérations provenant d'adresses IP ou de régions inhabituelles et opérations par lots en dehors des heures de travail.
Pour vérifier : dans la console RAM, trouvez la liste des AccessKeys de l'utilisateur RAM et consultez les enregistrements d'opérations dans la liste, ou saisissez l'AccessKey ID sur la page AccessKey audit de la console ActionTrail pour interroger directement les enregistrements d'opérations.
En plus d'ActionTrail, vous pouvez vous connecter à la console Security Center pour afficher les détails des alertes de fuite d'AccessKey, y compris les noms des utilisateurs RAM créés malicieusement et les adresses IP d'appel anormales.
La fonctionnalité d'audit AccessKey d'ActionTrail affiche tous les appels API d'une paire AccessKey spécifiée au cours des 90 derniers jours, y compris l'heure de l'appel, le nom de l'action, l'adresse IP source et le service cloud accédé. Pour obtenir des instructions, consultez Audit AccessKey.
Pour les journaux d'opérations du plan de données qui ne sont pas connectés à ActionTrail, tels que ceux d'OSS et de SLS, utilisez la fonctionnalité de journalisation de chaque service cloud pour effectuer des requêtes.
Enquêtez plus avant pour déterminer si d'autres utilisateurs RAM et paires AccessKey présentent des opérations anormales en plus de la paire AccessKey présentant un risque de fuite connu. Si vous constatez un comportement anormal, confirmez avec la personne concernée si les opérations ont été effectuées par elle. Si une fuite est suspectée, procédez comme suit :
Si l'utilisateur RAM doit rester utilisé, changez immédiatement le mot de passe de l'utilisateur RAM et activez l'authentification multifacteur (MFA).
Si l'utilisateur RAM n'a pas été créé légitimement ou s'il est confirmé qu'il s'agit d'un utilisateur inactif qui n'est plus nécessaire, supprimez-le. Un utilisateur RAM supprimé est déplacé vers la corbeille. Surveillez si votre activité est affectée. Si c'est le cas, l'utilisateur RAM peut être restauré rapidement.
Pour les opérations anormales d'une paire AccessKey, restreignez d'abord ses permissions, puis effectuez une rotation.
Identifier l'étendue d'utilisation de la paire AccessKey
Les adresses IP source enregistrées par ActionTrail ne reflètent que les appels d'événements de type gestion, tels que les opérations de gestion GetService et GetBucketInfo d'OSS. Les opérations du plan de données qui ne sont pas connectées à ActionTrail, telles que les téléchargements et téléversements d'objets OSS, ne sont pas enregistrées par défaut. Par conséquent, la liste des adresses IP source seule ne peut pas révéler l'étendue complète d'utilisation de la paire AccessKey. Avant de désactiver ou de supprimer la paire AccessKey d'origine, vérifiez la configuration AccessKey dans chacun des environnements suivants :
Machines de développement locales — Variables d'environnement du développeur, fichiers de configuration SDK et fichiers d'identifiants CLI.
Pipelines CI/CD — Variables d'environnement des jobs de build, magasins d'identifiants et scripts de déploiement.
Applications tierces et SaaS — Identifiants accordés aux plateformes externes qui appellent les API Alibaba Cloud.
Conteneurs et images — Couches d'images de conteneurs, secrets Kubernetes et identifiants dans les modèles d'orchestration.
Tâches planifiées et scripts d'exploitation — Entrées crontab du serveur, scripts de sauvegarde et collecteurs de surveillance.
-
Services de messagerie et de notification — Appelants tels que les applications qui appellent Short Message Service pour envoyer des SMS.
Après avoir remplacé tous ces environnements par la nouvelle paire AccessKey et confirmé que votre activité fonctionne normalement, désactivez ou supprimez la paire AccessKey d'origine. Cela évite les perturbations de l'activité causées par un appelant oublié.
Vérifier les frais anormaux
Dans Expenses and Costs, vérifiez si des frais anormaux sont générés. Pour les services affectés, prenez des mesures de protection basées sur les opérations anormales que vous avez identifiées lors de l'enquête.
Rétablir une utilisation sécurisée après une fuite d'AccessKey
Après la fuite de la paire AccessKey de votre compte Alibaba Cloud (compte racine), suivez ces directives pour rétablir une utilisation sécurisée :
Créer un utilisateur RAM distinct — N'utilisez pas le compte racine pour créer des paires AccessKey. Créez un utilisateur RAM distinct dans la console RAM et accordez-lui uniquement les permissions minimales requises. Lors de la création de la paire AccessKey, notez les points suivants :
Sur la page des détails de l'utilisateur, cliquez sur l'onglet Authentication, puis cliquez sur Create AccessKey. Lorsque vous sélectionnez la méthode d'accès, choisissez Use permanent AccessKey pairs to access.
Après avoir coché la case I confirm that I must create an AccessKey pair, vous devez effectuer une authentification de sécurité (authentification multifacteur, MFA) pour poursuivre la création.
Le secret AccessKey n'est affiché qu'une seule fois lors de la création. Après avoir fermé la boîte de dialogue, vous ne pouvez plus le consulter. Enregistrez-le de manière sécurisée immédiatement.
Sur la page des détails de l'utilisateur, accordez des permissions à l'utilisateur RAM. Lors de l'attribution des permissions,
AdministratorAccessest marqué comme présentant un risque élevé. Suivez le principe du moindre privilège et n'accordez que les permissions minimales dont l'utilisateur RAM a besoin, telles queAliyunOSSReadOnlyAccess. N'accordez pasAdministratorAccess.Sauf si votre scénario nécessite des appels sans mot de passe à long terme, utilisez des identifiants temporaires Security Token Service (STS) token au lieu d'une paire AccessKey permanente pour réduire davantage le risque de fuite.
Étendue des permissions de la paire AccessKey — Une paire AccessKey d'un utilisateur RAM dispose uniquement des permissions dans l'étendue des politiques d'accès attachées. Elle n'hérite pas de toutes les permissions du compte racine.
Vérifier la configuration AccessKey dans votre code — Vérifiez tous les paramètres de configuration AccessKey dans votre code et supprimez les paires AccessKey en texte clair. Si votre code a été téléchargé sur une plateforme d'hébergement de code tierce telle que GitHub, utilisez la Détection de fuite d'AccessKey de Security Center pour vérifier l'exposition.
Stocker les identifiants de manière sécurisée — Utilisez des variables d'environnement ou Key Management Service (KMS) pour stocker les paires AccessKey et évitez de les coder en dur. Pour obtenir des instructions, consultez Bonnes pratiques pour l'utilisation des identifiants d'accès afin d'appeler l'OpenAPI Alibaba Cloud.
Récupérer toutes les paires AccessKey lorsqu'un employé quitte l'entreprise
Après le départ d'un employé, vérifiez et récupérez rapidement les paires AccessKey sous son nom pour éviter l'utilisation abusive des identifiants restants. Suivez ces étapes :
Connectez-vous à la console RAM. Dans la liste Users, localisez l'utilisateur RAM de l'employé parti.
Cliquez sur l'utilisateur pour ouvrir la page des détails de l'utilisateur, puis cliquez sur l'onglet Credentials.
Vérifiez le statut de toutes les paires AccessKey sous cet utilisateur.
Pour chaque paire AccessKey dont le statut est Enabled, désactivez-la d'abord. La désactivation nécessite une authentification de sécurité (authentification multifacteur, MFA). Si la paire AccessKey a été utilisée au cours des 60 derniers jours, la console vous avertit que sa désactivation peut perturber votre activité.
Après avoir confirmé qu'aucune activité ne dépend de la paire AccessKey, supprimez-la. Vous devez saisir manuellement l'AccessKey ID pour effectuer une seconde confirmation. La paire AccessKey supprimée est déplacée vers la corbeille, conservée pendant 30 jours, puis automatiquement effacée.
FAQ
Que faire si une fuite d'AccessKey empêche un utilisateur RAM de se connecter ou si le compte est gelé ?
Lorsque le système de sécurité d'Alibaba Cloud détecte qu'une paire AccessKey présente un risque de fuite, il déclenche automatiquement des mécanismes de protection qui restreignent la connexion de l'utilisateur RAM associé à la console. Vous pouvez rencontrer des messages d'erreur tels que Authentication.Block.AccountFrozen ou « The current account is not allowed to log on. »
Pour résoudre ce problème :
Connectez-vous à la console RAM avec le compte Alibaba Cloud (compte racine). Désactivez ou supprimez immédiatement la paire AccessKey qui a fuité, puis créez une nouvelle paire AccessKey pour effectuer la rotation. La simple désactivation de la paire AccessKey peut ne pas lever la restriction. Vous devez la supprimer ou effectuer une rotation.
Après avoir traité la paire AccessKey, si l'utilisateur RAM ne peut toujours pas se connecter, soumettez un ticket pour demander la levée de la restriction de contrôle des risques de sécurité.
Pourquoi ma paire AccessKey est-elle détectée comme ayant fuité alors qu'elle est stockée dans un dépôt privé, Nacos ou une base de données hors ligne ?
Même si vous pensez que votre paire AccessKey est stockée de manière sécurisée, elle peut toujours être détectée ou volée via les voies courantes suivantes :
Dépôts de code — Si un dépôt privé était auparavant public, a été forké ou si un collaborateur a téléchargé le code vers un autre emplacement, la paire AccessKey peut toujours être détectée par les services de scan.
Centres de configuration (tels que Nacos) — Si le centre de configuration manque de contrôle d'accès, présente des vulnérabilités ou si le serveur a été compromis, les paires AccessKey stockées en texte clair peuvent être volées.
Stockage hors ligne — Si l'application ou le script qui lit la paire AccessKey se connecte à Internet pour appeler des API, la clé peut être interceptée pendant la transmission ou écrite dans un enregistrement de journal.
-
Vulnérabilités des applications — Les vulnérabilités d'exécution de code à distance (RCE) ou de lecture de fichier arbitraire peuvent permettre aux attaquants de voler des paires AccessKey à partir des fichiers de configuration sur le serveur.
Pour prévenir les fuites futures :
Utilisez l'outil Credentials pour gérer les identifiants au lieu de coder en dur les paires AccessKey.
Configurez des restrictions d'accès réseau (liste blanche IP) pour les paires AccessKey.
Évitez d'écrire directement les paires AccessKey dans le code source ou les fichiers de configuration.
Puis-je demander la désactivation d'urgence d'une paire AccessKey appartenant à un autre compte ?
En raison de la protection de la vie privée et de l'isolation des permissions, Alibaba Cloud ne peut pas désactiver directement, sur la base d'un signalement de fuite, une paire AccessKey qui n'appartient pas à votre compte actuellement connecté. Procédez comme suit :
Si vous connaissez le compte propriétaire de la paire AccessKey, contactez le titulaire du compte et demandez-lui de traiter la situation.
Si vous avez accès au compte propriétaire de la paire AccessKey, utilisez l'API
DeleteAccessKeyou la console RAM pour supprimer la clé vous-même.Pour les paires AccessKey ayant fuité qui appartiennent à d'autres comptes auxquels vous ne pouvez pas accéder, coordonnez le traitement par le biais de canaux juridiques ou de conformité en matière de sécurité.