Tous les produits
Search
Centre de documentation

Elastic Compute Service:Prevent sensitive data leaks from images and snapshots

Dernière mise à jour :Sep 07, 2026

Restreignez les autorisations d'exportation et de partage des images pour éviter l'exposition accidentelle d'identifiants, de données utilisateur et de traces système.

Risques de sécurité

Le partage et l'exportation d'images améliorent l'efficacité du déploiement, mais introduisent des risques pour la sécurité des données. Des autorisations mal configurées ou des images non nettoyées peuvent entraîner la fuite de code source, de configurations d'environnement et de données sensibles. Par exemple, un employé pourrait exporter une image de production pour obtenir des identifiants, ou des données de test résiduelles et des identifiants temporaires contenus dans une image pourraient être exposés lors du partage de celle-ci. Les risques spécifiques incluent :

  • Snapshots de données statiques : Les images et les snapshots capturent l'état complet d'une instance ECS à un instant donné, y compris le système d'exploitation, les fichiers d'application et les données sensibles telles que :

    • Identifiants : Clés privées SSH, AccessKeys API, chaînes de connexion à la base de données et mots de passe d'application codés en dur.

    • Données utilisateur : Code source principal de l'entreprise, informations de base de données et données utilisateur privées.

    • Traces système : Historique des commandes Shell (.bash_history), fichiers temporaires, ainsi que journaux et caches d'application.

  • Risque de divergence des autorisations : Le partage et l'exportation étendent l'accès aux données d'un environnement contrôlé à un périmètre plus large, parfois incontrôlable. Si une image contenant des informations sensibles est partagée avec un compte incorrect ou exportée vers un environnement hors ligne, des acteurs malveillants peuvent exploiter ces données.

Bonnes pratiques

Création d'image

Avant de créer une image, connectez-vous à l'instance et supprimez les informations sensibles. Si une image contient des identifiants de connexion tels que des clés SSH, ces identifiants persistent dans les nouvelles instances créées à partir de cette image, même si vous associez une nouvelle paire de clés ou définissez un nouveau mot de passe lors de la création de l'instance.

  • Nettoyez les informations de mot de passe utilisateur :

    • Linux : Supprimez les entrées utilisateur inutiles des fichiers /etc/shadow et /etc/passwd.

    • Windows : Exécutez System Preparation (Sysprep) pour généraliser l'image. Cette opération réinitialise le SID, efface les informations utilisateur et exige un nouveau compte ou un nouveau mot de passe administrateur au prochain démarrage. Supprimez également les comptes locaux inutiles dans Utilisateurs et groupes locaux (lusrmgr.msc).

  • Supprimez toutes les clés SSH :

    • Linux : Supprimez les fichiers de clé (en particulier id_rsa et authorized_keys) du répertoire /root/.ssh et de tous les répertoires personnels des utilisateurs (/home/*/.ssh).

    • Windows : Supprimez les fichiers de clé du répertoire C:\Users\Administrator\.ssh et de tous les répertoires personnels des utilisateurs (C:\Users\*\\.ssh). Effacez également les identifiants mis en cache dans le Gestionnaire d'identification.

  • Effacez l'historique Shell :

    • Linux : Exécutez history -c et supprimez le fichier .bash_history du répertoire /root/ et de tous les répertoires personnels des utilisateurs (/home/*/).

    • Windows : Exécutez Clear-History pour effacer l'historique de la session PowerShell actuelle. Supprimez ensuite le fichier d'historique PowerShell pour tous les utilisateurs, généralement situé dans AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt.

  • Nettoyez les fichiers temporaires et les journaux :

    • Linux : Videz les répertoires /tmp et /var/tmp. Consultez et nettoyez les journaux situés dans /var/log.

    • Windows : Exécutez Nettoyage de disque (cleanmgr.exe) pour supprimer les fichiers temporaires système, la corbeille et autres éléments. Utilisez la commande wevtutil cl <LogName> (par exemple, wevtutil cl System) ou l'Observateur d'événements pour effacer tous les principaux journaux des événements Windows, tels que les journaux d'application, de sécurité et système.

  • Supprimez les identifiants codés en dur : Vérifiez le code de l'application et les fichiers de configuration à la recherche d'informations sensibles codées en dur, telles que les mots de passe de base de données ou les clés API.

  • Nettoyez les données métier et les caches d'application : Supprimez les données métier et les répertoires de cache des serveurs web, des bases de données et d'autres applications.

Capacités de conformité

Bloquer l'exportation d'images et le partage d'images/snapshots

Pour les utilisateurs RAM ou les groupes d'utilisateurs ayant un niveau de confiance faible, utilisez une politique Deny pour interdire les opérations à haut risque sur les ressources d'image principales, notamment l'exportation d'images, le partage d'images et le partage de snapshots. Au niveau de l'organisation ou du compte, appliquez ces restrictions via une politique RAM.

  • Pour les utilisateurs entreprise :

    1. Connectez-vous à la console Resource Directory avec votre compte Alibaba Cloud. Dans la barre de menu de gauche, cliquez sur Control Policy, créez une politique personnalisée et collez le contenu JSON suivant.

      Cette politique refuse l'exportation d'images, le partage d'images et le partage de snapshots.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:ExportImage",
                      "ecs:ModifyImageSharePermission"
                  ],
                  "Resource": "*",
                  "Effect": "Deny"
              },
              {
                  "Action": [
                      "resourcesharing:CreateResourceShare",
                      "resourcesharing:AssociateResourceShare"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "resourcesharing:RequestedResourceType": [
                              "Snapshot",
                              "Image"
                          ]
                      }
                  },
                  "Effect": "Deny"
              }
          ]
      }
    2. Dans Resource Directory, sélectionnez un nœud et attachez la politique. La politique bloque les opérations spécifiées pour tous les comptes sous ce nœud.

  • Pour les utilisateurs non entreprise :

    1. Connectez-vous à la console RAM avec votre compte Alibaba Cloud. Dans le volet de navigation de gauche, cliquez sur Permission Policy. Créez une politique personnalisée avec le même contenu.

    2. Attachez la politique à un utilisateur RAM, un groupe d'utilisateurs RAM ou un rôle RAM. Consultez la section Gérer l'autorisation des politiques d'accès.