Packer: لم تتم إزالة زوج المفاتيح المؤقت لبرنامج Packer من ~ / .ssh / author_keys (AWS AMI)

تم إنشاؤها على ٣ أغسطس ٢٠١٦  ·  3تعليقات  ·  مصدر: hashicorp/packer

بعد أن أقوم بإنشاء AMI مع packer استنادًا إلى Amazon Linux AMI ، إذا قمت بتشغيل مثيل من AMI و ssh في ، أرى زوج مفاتيح الحزم المؤقت في الملف ~/.ssh/authorized_keys ، وهو ثغرة أمنية. كنت أتوقع حذف هذا الملف قبل حفظ AMI.

تمكنت من حل هذه المشكلة عن طريق حذف ~/.ssh/authorized_keys بشكل صريح في قالب الحزم (التفاصيل أدناه)

نسخة باكر

باكر v0.10.0

المنصة المضيفة

إصدار CentOS Linux 7.2.1511 (Core)

إخراج سجل التصحيح من PACKER_LOG=1 packer build template.json .

هنا هو إخراج باكر:

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

عذرًا ، لم أفعل PACKER_LOG = 1 ، لكن يمكنني إعادة التشغيل إذا لزم الأمر

_أبسط نموذج للقالب والنصوص_ اللازمة لإعادة إنتاج الخطأ

النموذج: https://github.com/couchbase/build/blob/2afdc7329faaa6a2f25befda59509b70a4a38349/scripts/jenkins/mobile/ami/sync-gateway.json

النصي:
استخدام البرنامج الإضافي Jenkins Packer وتمرير المتغيرات إلى Packer عبر:

-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}'

الحل

لقد أضفت الموفر التالي إلى قالب الحزم:

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

وبعد إطلاق AMI ، احتوت فقط على المفتاح المختار في معالج "مثيل الإطلاق" في AWS ، وليس زوج المفاتيح المؤقت الخاص بالرازم.

buildeamazon invalid

التعليق الأكثر فائدة

شكرا لأخذ الوقت في الإبلاغ عن هذا.

هذه هي الطريقة التي تعمل بها AWS أو بطريقة أكثر تحديدًا كيفية عمل cloud-init. ما تصفه بأنه حل بديل هو في الواقع ما يجب عليك فعله.

ال 3 كومينتر

شكرا لأخذ الوقت في الإبلاغ عن هذا.

هذه هي الطريقة التي تعمل بها AWS أو بطريقة أكثر تحديدًا كيفية عمل cloud-init. ما تصفه بأنه حل بديل هو في الواقع ما يجب عليك فعله.

آسف لإحياء سلسلة رسائل ميتة ، ولكن منذ أن وجدتها ثم عثرت على مزيد من المعلومات من أمازون ، اعتقدت أنني سأساهم بها هنا للآخرين:

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

باختصار ، يوصون بتشغيل ما يلي كجذر لإزالة جميع ملفات Author_keys:

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

تحذير: يستخدم الأمر الموجود في الصفحة المرتبطة مزيجًا من الشرطات العادية (-) وشيء آخر سيعيد أخطاء. يجب أن تعمل كتابة الأمر يدويًا أو نسخ الأمر أعلاه مباشرة.

سأقوم بإغلاق هذه المشكلة لأنه تم إغلاقه لمدة _30 يومًا_ ⏳. يساعد هذا المشرفين لدينا في العثور على المشكلات النشطة والتركيز عليها.

إذا وجدت مشكلة تبدو مشابهة لهذا ، فالرجاء فتح مشكلة جديدة وإكمال نموذج المشكلة حتى نتمكن من الحصول على جميع التفاصيل اللازمة لإجراء مزيد من التحقيق.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات