حين تضمّن بيانات اعتماد داخل صورة AMI، فإنها تنتشر مع كل نسخة من الصورة، وتبقى محفورة في اللقطات، وقد تنتهي في حسابات أو مناطق لم تتخيّلها يومًا. يكفي أن يستخرجها شخص لديه إذن قراءة على الصورة. ولأن الصور تُحفظ بإصداراتها، قد يعيش السرّ طويلًا بعد أن ظننت أنك دوّرته.
القاعدة الذهبية: الصورة تحدّد الآلة؛ أما الأسرار فتُسلَّم وقت التشغيل.
أين ينبغي أن تعيش الأسرار
| الخدمة | السحابة أو البيئة | مثالية لـ |
|---|---|---|
| AWS Secrets Manager | AWS | بيانات اعتماد قابلة للتدوير وتكامل أصيل |
| AWS SSM Parameter Store | AWS | معاملات وأسرار بسيطة بكلفة منخفضة |
| HashiCorp Vault | متعدّد السحابات | أسرار ديناميكية وتحكّم دقيق |
| Azure Key Vault / Google Secret Manager | Azure / GCP | نظائر أصيلة في كل سحابة |
احفظ الأسرار في مدير مخصّص، لا في الصورة ولا في user-data بنصّ صريح.
النمط الصحيح: هوية لا كلمات مرور
أأمن طريقة لتصل نسخة إلى الموارد ليست منحها كلمة مرور، بل منحها هوية. ففي AWS، يتيح دور IAM مرتبط بالنسخة الحصول على بيانات اعتماد مؤقتة تُدوَّر تلقائيًا، دون أن يسافر أي مفتاح داخل الصورة.
- أدوار IAM للنسخ: تتقمّص النسخة دورًا وتحصل على بيانات اعتماد مؤقتة.
- IRSA في Kubernetes: هوية لكل حاوية، بلا مفاتيح مشتركة على العقدة.
- أسرار ديناميكية مع Vault: بيانات اعتماد قصيرة العمر تُولَّد عند الطلب.
- حقن وقت التشغيل: يقرأ التطبيق السرّ من المدير عند الإقلاع، لا من ملف مخبوز.
احمِ البيانات الوصفية: IMDSv2
تُجلَب بيانات الاعتماد المؤقتة للدور عبر خدمة البيانات الوصفية للنسخة. وقد يحاول مهاجم يستغلّ ثغرة SSRF سرقتها. يشترط IMDSv2 رمز جلسة ويخفّف من هذا الصنف من الهجمات: اجعله إلزاميًا في عمليات إطلاقك.
نظافة: لا تترك آثارًا في الصورة
- قبل ختم الصورة، احذف سجلات الصدفة والسجلات الحاوية على بيانات اعتماد ومفاتيح SSH المؤقتة وملفات الإعداد التي تحوي أسرارًا.
- افحص الصورة بحثًا عن أسرار بأدوات مثل gitleaks أو trufflehog مهيّأة لأنظمة الملفات.
- لا تترك مفاتيح مصرّحًا بها زائدة في
~/.ssh/authorized_keys. - تجنّب الصور العامة التي تحوي أسرارًا: وإن نشرت، فتأكّد أنك لا تسرّب شيئًا.
قائمة تحقّق سريعة
- صفر أسرار مخبوزة في الصورة.
- مدير أسرار مع أدوار أو هوية موحّدة.
- IMDSv2 إلزامي.
- فحص للأسرار داخل خطّ الإنتاج.
- تنظيف الآثار قبل الختم.
أسئلة شائعة
وماذا لو احتاج تطبيقي السرّ عند الإقلاع؟
فليقرأه من مدير الأسرار وقت التشغيل مستخدمًا هوية النسخة. هكذا لا يسافر السرّ داخل الصورة أبدًا ويمكن تدويره دون إعادة بناء.
هل استخدام user-data لتمرير الأسرار آمن؟
ليس بنصّ صريح: فهو مقروء من البيانات الوصفية. استخدمه على الأكثر للإشارة إلى أي سرّ يُجلَب من المدير، مع حماية البيانات الوصفية بـ IMDSv2.
كيف أكتشف إن كانت الصورة تحوي أسرارًا مخبوزة؟
بفحصها بأدوات كشف الأسرار على نظام ملفاتها، ومراجعة ملفات الإعداد والسجلات والمفاتيح المصرّح بها قبل استخدامها.
في imaxe.cloud نبني صورًا خالية من بيانات الاعتماد ومصمّمة للتكامل مع مديري الأسرار والهوية الموحّدة.



