Activez l'authentification multifacteur (MFA), utilisez des rôles RAM plutôt que des AccessKeys et faites tourner régulièrement vos identifiants pour prévenir tout accès non autorisé.
Risques de sécurité
Les principales menaces pesant sur un compte Alibaba Cloud incluent les attaques par force brute contre les mots de passe et la fuite d'identifiants à longue durée de vie, tels que les AccessKeys et les jetons STS. Si un attaquant obtient ces identifiants, il peut usurper l'identité d'un utilisateur légitime pour se connecter, gérer des ressources ou accéder à des données sensibles. Cela peut entraîner :
Une utilisation non autorisée des ressources, générant des pertes financières directes.
Des dommages à l'infrastructure ou des interruptions de service affectant la disponibilité métier.
La fuite ou le chiffrement de données sensibles, conduisant à une divulgation d'informations et à des risques de rançongiciel.
L'installation de programmes malveillants ou de portes dérobées, posant des menaces à long terme pour la sécurité du système et l'intégrité des données.
Bonnes pratiques
Protéger les mots de passe du compte et activer l'authentification MFA
Définissez des mots de passe complexes : les mots de passe faibles constituent une cause principale de compromission de compte. Évitez les mots de passe simples pour prévenir les attaques par force brute.
Changez régulièrement vos mots de passe : modifiez votre mot de passe tous les 90 jours afin de réduire le risque de fuite lié à une utilisation prolongée.
Activez l'authentification MFA : Associer ou dissocier un dispositif MFA virtuel pour votre compte Alibaba Cloud et vos utilisateurs RAM. L'authentification MFA ajoute un code de vérification dynamique, tel qu'un jeton mobile ou une clé protégée matériellement, comme couche supplémentaire au-delà de l'authentification par mot de passe, afin d'empêcher tout accès non autorisé.
Utiliser des rôles RAM ECS plutôt que des AccessKeys
Si une application exécutée sur une instance ECS doit appeler des API Alibaba Cloud, par exemple pour le scaling ECS, utilisez un rôle RAM plutôt qu'une AccessKey.
Créer un utilisateur RAM et lui associer un rôle
Le compte doit disposer de l'autorisation sts:AssumeRole pour associer un rôle à une instance.
Console
Créer et autoriser un utilisateur Resource Access Management (RAM).
-
Associez un rôle RAM à une instance ECS.
Associer un rôle lors de la création d'une instance
Lorsque vous créez une instance sur la page d'achat d'instance, sélectionnez Instance RAM Role dans Advanced Options.
Sélectionnez Security Hardening Mode pour Metadata Access Mode afin d'éviter la fuite de jetons STS causée par des vulnérabilités de l'instance ou des erreurs de configuration. Consultez Accéder aux métadonnées d'instance en utilisant le mode imposé.
Associer un rôle à une instance existante
Accédez à la page Console ECS - Instances et sélectionnez la région cible.
Cliquez sur l'ID de l'instance pour accéder à la page des détails de l'instance.
Dans la section Autres informations, cliquez sur Attach/Detach RAM Role.
Sélectionnez le rôle RAM et cliquez sur OK.
ImportantUne instance ECS ne peut avoir qu'un seul rôle RAM. Si votre application nécessite plusieurs autorisations, accordez-les toutes à ce rôle unique.
Par exemple, si une instance possède déjà le rôle
AliyunECSDiskEncryptDefaultRoleet a également besoin d'autorisations de gestion des interfaces réseau, ajoutez la stratégieAliyunECSNetworkInterfaceManagementAccessau rôle dans la console RAM.
API
Utilisez les opérations d'API pour associer et dissocier des rôles :
Associer un rôle lors de la création d'une instance : lors de l'appel à RunInstances ou CreateInstance, spécifiez le paramètre
RamRoleName.Associer un rôle à une instance existante : appelez AttachInstanceRamRole.
Dissocier un rôle : appelez DetachInstanceRamRole.
Utiliser un rôle RAM pour accéder aux services Alibaba Cloud depuis une application
Une application exécutée sur une instance ECS peut obtenir un jeton STS temporaire auprès du service de métadonnées de l'instance et l'utiliser pour appeler les API Alibaba Cloud.
Protéger les AccessKeys et réduire le risque de fuite
Si vous devez utiliser une AccessKey, renforcez sa gestion de sécurité tout au long de son cycle de vie — création, stockage, distribution et utilisation.
Création : appliquez le principe « une AccessKey par personne, une AccessKey par application ». Ne partagez pas une AccessKey entre plusieurs utilisateurs ou programmes. Cela vous permet d'identifier rapidement la partie responsable, de limiter l'impact et de faire tourner la clé en cas de fuite.
Gestion des autorisations : suivez le principe du moindre privilège et n'accordez que les autorisations nécessaires. Utilisez des utilisateurs RAM et attribuez les autorisations en fonction des responsabilités. Évitez d'utiliser l'AccessKey du compte Alibaba Cloud. Consultez Éviter d'utiliser votre compte Alibaba Cloud et accorder différentes autorisations aux utilisateurs RAM selon leurs responsabilités.
-
Stockage sécurisé : stockez les AccessKeys sur des appareils de confiance, tels que :
Un fichier lisible uniquement par root ou un utilisateur spécifique.
Une base de données ou Key Management Service (KMS) avec contrôle d'accès.
Ne stockez pas les AccessKeys dans des notes, des référentiels de code, des historiques de chat ou des signatures personnelles.
Distribution sécurisée : envoyez le fichier AccessKey chiffré via un canal (par exemple, l'e-mail) et le mot de passe de déchiffrement via un canal séparé (par exemple, un SMS).
Utilisation sécurisée : n'intégrez pas les AccessKeys en dur dans votre code. Stockez l'AccessKey dans un fichier de configuration séparé, chiffrez-le et enregistrez-le sur un serveur de confiance. Après la distribution, déchiffrez le fichier et définissez les autorisations de sorte que seul le propriétaire puisse le lire.
Contrôle d'accès réseau : configurez une politique de contrôle d'accès réseau pour l'AccessKey dans la console RAM.
-
Rotation et nettoyage réguliers
Effectuer une rotation régulière : Faire tourner votre AccessKey tous les 90 jours. Générez une nouvelle AccessKey et informez les utilisateurs de la mise à jour.
Nettoyer régulièrement : vérifiez les enregistrements d'opération des AccessKeys dans la console RAM et révoquez les clés inutilisées. Consultez Supprimer l'AccessKey d'un utilisateur RAM.
Surveiller les fuites d'AccessKey : utilisez la fonctionnalité Détection de fuite d'AccessKey dans Security Center pour vérifier si une AccessKey a été divulguée. Cette fonctionnalité prend en charge les notifications d'alerte. En cas de fuite, Alibaba Cloud fournit une protection restrictive pour l'AccessKey afin d'éviter toute escalade.
Conformité
Vérifier si une instance ECS utilise une AccessKey
Interroger les journaux AccessKey pour trouver les services, adresses IP et ressources associés à une AccessKey.
Prérequis : vous avez créé une piste ActionTrail et livré les journaux vers un Logstore SLS.
-
Interroger les appels AccessKey initiés depuis un point de terminaison VPC :
* | SELECT "event.eventid","event.sourceipaddress", "event.userIdentity.accessKeyId", "event.vpcId" WHERE "event.userIdentity.accessKeyId" LIKE 'LTA%' and "event.vpcId" LIKE 'vpc%'Exemple de résultat :

Utilisez les champs
vpcIdetsourceipaddresspour identifier l'instance ECS qui a initié l'appel. Ensuite, examinez quels programmes utilisent l'accessKeyIdpour appeler l'OpenAPI. -
Interroger les appels AccessKey initiés depuis un point de terminaison Internet :
* | SELECT "event.eventid","event.sourceipaddress", "event.userIdentity.accessKeyId" WHERE "event.userIdentity.accessKeyId" LIKE 'LTA%' and "event.vpcId" IS NULLExemple de résultat :

Déterminez si l'
sourceipaddressest une adresse IP publique d'une instance ECS. Récupérez les EIP et les adresses IP publiques sous votre compte, puis vérifiez si l'sourceipaddressvous appartient. Si une EIP ou une adresse IP publique est directement attachée à une instance ECS, vous pouvez localiser l'instance et modifier sa configuration.
Remplacer l'AccessKey par un rôle RAM d'instance
Consultez Utiliser des rôles RAM ECS plutôt que des AccessKeys et Solutions pour la fuite d'AccessKey.