Packer: La paire de clés temporaire du packer n'est pas supprimée de ~/.ssh/authorized_keys (AWS AMI)

Créé le 3 août 2016  ·  3Commentaires  ·  Source: hashicorp/packer

Après avoir créé une AMI avec un packer basé sur l'AMI Amazon Linux, si je lance une instance de cette AMI et ssh, je vois la paire de clés de packer temporaire dans le fichier ~/.ssh/authorized_keys , qui est une faille de sécurité. Je m'attendais à ce que ce fichier soit supprimé avant l'enregistrement de l'AMI.

J'ai pu contourner ce problème en supprimant explicitement ~/.ssh/authorized_keys dans le modèle de packer (détails ci-dessous)

Version de l'emballeur

Packer v0.10.0

Plateforme hôte

CentOS Linux version 7.2.1511 (Core)

Sortie du journal de débogage de PACKER_LOG=1 packer build template.json .

Voici la sortie du packer :

https://gist.github.com/tleyden/4cc13b530f08bcaef04f5233bf43daee

Désolé, je n'ai pas fait PACKER_LOG=1, mais je peux le relancer si nécessaire

Le _modèle d'exemple le plus simple et les scripts_ nécessaires pour reproduire le bogue

Modèle : https://github.com/couchbase/build/blob/2afdc7329faaa6a2f25befda59509b70a4a38349/scripts/jenkins/mobile/ami/sync-gateway.json

Scénario:
Utilisation du plugin Jenkins Packer et transmission de variables dans le packer via :

-var 'source_ami=${source_ami}' -var 'ssh_username=${ssh_username}' -var 'couchbase_server_package_name=${couchbase_server_package_name}' -var 'couchbase_server_package_url=${couchbase_server_package_url}' -var 'couchbase_sync_gateway_package_base_url=${couchbase_sync_gateway_package_base_url}' -var 'couchbase_sync_gateway_package=${couchbase_sync_gateway_package}' -var 'couchbase_server_version=${couchbase_server_version}' -var 'couchbase_sync_gateway_version=${couchbase_sync_gateway_version}' -var 'couchbase_server_edition=${couchbase_server_edition}' -var 'sync_gateway_edition=${sync_gateway_edition}'

solution de contournement

J'ai ajouté l'approvisionneur suivant au modèle de packer :

    {
        "type": "shell",
        "inline": [
        "rm /home/ec2-user/.ssh/authorized_keys"
        ]
    }

et après le lancement de l'AMI, elle ne contenait que la clé choisie dans l'assistant AWS "lancer l'instance", et non la paire de clés temporaire du packer.

buildeamazon invalid

Commentaire le plus utile

Merci d'avoir pris le temps de signaler cela.

C'est ainsi qu'AWS fonctionne ou plus précisément comment fonctionne cloud-init. Ce que vous décrivez comme une solution de contournement est en fait ce que vous devriez faire.

Tous les 3 commentaires

Merci d'avoir pris le temps de signaler cela.

C'est ainsi qu'AWS fonctionne ou plus précisément comment fonctionne cloud-init. Ce que vous décrivez comme une solution de contournement est en fait ce que vous devriez faire.

Désolé de raviver un fil mort, mais depuis que je l'ai trouvé et que j'ai ensuite trouvé plus d'informations sur amazon, j'ai pensé le contribuer ici pour les autres :

https://aws.amazon.com/articles/how-to-share-and-use-public-amis-in-a-secure-manner/

En bref, ils recommandent d'exécuter ce qui suit en tant que root pour supprimer tous les fichiers authorised_keys :

find / -name "authorized_keys" -exec rm -f {} \;

Attention : La commande sur la page liée utilise un mélange de tirets normaux (-) et quelque chose d'autre qui renverra des erreurs. Taper la commande manuellement ou copier celle directement ci-dessus devrait fonctionner.

Je vais verrouiller ce problème car il est fermé depuis _30 jours_ ⏳. Cela aide nos mainteneurs à trouver et à se concentrer sur les problèmes actifs.

Si vous avez trouvé un problème qui ressemble à celui-ci, veuillez ouvrir un nouveau problème et remplir le modèle de problème afin que nous puissions capturer tous les détails nécessaires pour approfondir l'enquête.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

sourav82 picture sourav82  ·  3Commentaires

frezbo picture frezbo  ·  3Commentaires

Tensho picture Tensho  ·  3Commentaires

jesse-c picture jesse-c  ·  3Commentaires

DanielBo picture DanielBo  ·  3Commentaires