الملفات

5.1 KiB

## أولاً: Container Security 1. منع تشغيل الحاوية بصلاحيات Root التطبيق على غيمة: تعديل الـ Dockerfile لكل خدمة منشورة على غيمة لإنشاء مستخدم غير مميز (RUN adduser appuser ثم USER appuser) بدل الاعتماد على الـ root الافتراضي. لو الـ Container اتخرق، المهاجم مبيلاقيش صلاحيات كافية يوصل بيها لباقي النظام. 2. استخدام Base Images مصغّرة (Minimal Base Images) التطبيق على غيمة: استبدال صور زي ubuntu:latest بصور alpine أو distroless في خدمات غيمة، عشان نقلل الـ Attack Surface. 3. فحص الثغرات قبل النشر (Image Scanning) التطبيق على غيمة: دمج أداة زي Trivy أو Grype جوه الـ CI/CD Pipeline بتاع غيمة، بحيث لو الصورة فيها CVE بمستوى High/Critical، الـ Pipeline يوقف قبل ما يعمل Deploy، مش بعد ما ينزل على Production.

ثانياً: Network

4. تطبيق سياسات العزل (Network Policies) التطبيق على غيمة: تفعيل Network Policies بحيث خدمة الـ Frontend تقدر تكلم الـ API بس، ومتقدرش توصل للـ Database مباشرة — أي Traffic خارج القاعدة ده بيتمنع افتراضياً (Default Deny).

5. إغلاق المنافذ غير الضرورية (Port Restrictions) التطبيق على غيمة: التأكد إن المنفذ 443 (HTTPS) بس هو المتاح للإنترنت، وإن أي منفذ إداري زي 22 (SSH) أو 8080 مقفول من برا ومتاح بس عن طريق VPN أو Bastion Host.

6. تشفير الاتصال الداخلي (mTLS بين الـ Microservices) التطبيق على غيمة: تفعيل Mutual TLS بين الخدمات الداخلية جوه بيئة غيمة، بحيث حتى لو حد قدر يوصل للشبكة الداخلية، مايقدرش يقرا أو يعدّل الترافيك اللي بين الخدمات (مثلا Istoria).


ثالثاً: OWASP

7. التحكم في الوصول المكسور (Broken Access Control) التطبيق على غيمة: تطبيق "الرفض الافتراضي" (Deny by Default) على كل مسارات الـ API، والتأكد إن كل Endpoint بيتحقق من الـ Token والصلاحية بتاعة صاحبه، مش بس إنه Logged in.

8. فشل التشفير (Cryptographic Failures) التطبيق على غيمة: فرض TLS 1.2 كحد أدنى على كل الـ Load Balancers، ومنع أي Cipher Suites ضعيفة، وعدم تخزين بيانات حساسة (Tokens, Secrets) كـ Plain Text في أي مكان.

9. حقن الأكواد (Injection) التطبيق على غيمة: استخدام Parameterized Queries / ORM بدل بناء الاستعلامات بالـ String concatenation، وتفعيل WAF على مدخل غيمة لفلترة الأنماط المشبوهة.

10. التصميم غير الآمن (Insecure Design) التطبيق على غيمة: عمل Threat Modeling بسيط قبل إضافة أي feature جديدة (مين ممكن يهاجمها وإزاي)، وتطبيق Rate Limiting على نقاط الدخول الحساسة زي الـ Login عشان نمنع Brute Force.

11. الإعدادات الأمنية الخاطئة (Security Misconfiguration) التطبيق على غيمة: إزالة أي صفحات أو توثيق افتراضي (زي Swagger UI) من بيئة الإنتاج، وإخفاء الـ Headers اللي بتكشف نوع السيرفر أو الإصدار.


رابعاً: Data

12. تشفير البيانات المخزنة (Encryption at Rest) التطبيق على غيمة: تفعيل تشفير الـ Block Storage/Volumes بتاعة غيمة باستخدام مفاتيح تشفير مُدارة، بحيث لو حد وصل للديسك الفعلي مش هيقدر يقرا الداتا من غير المفتاح.

13. إدارة نسخ احتياطي آمنة (Secure & Immutable Backups) التطبيق على غيمة: عزل شبكة الـ Backup عن شبكة الإنتاج، وجعل النسخ الاحتياطية Immutable (مش قابلة للحذف أو التعديل) لفترة معينة، عشان لو حصل Ransomware attack نقدر نرجع للداتا.


خامساً: IAM

14. مبدأ أقل الصلاحيات (Principle of Least Privilege) التطبيق على غيمة: استخدام RBAC بحيث المطورين معندهمش صلاحية تعديل البنية التحتية في بيئة الإنتاج، ودورهم يقتصر على بيئة الـ Staging/Testing.

15. المصادقة الثنائية الإلزامية (Mandatory MFA) التطبيق على غيمة: فرض تفعيل MFA على أي حساب عنده وصول للوحة تحكم غيمة أو صلاحية SSH على السيرفرات، عشان لو الباسورد اتسرق لوحده يفضل مش كفاية للدخول.