سياسات أمن التطبيقات

سياسات أمن التطبيقات


مقدمة

انطلاقا من توجه وكالة الوزارة لتقنية المعلومات لتحقيق تحول رقمي محوكم وفعال وتبني منهجية التطوير المرنة عالية الجودة، فقد اعتمدت الوكالة المساعدة للتحول الرقمي هذه السياسة لضبط الأمن الرقمي للتطبيقات والأنظمة العدلية، بحيث تلتزم بها جميع الفرق، على أن يتم تحديثها بصورة دورية بما يحقق أهداف الوزارة.

الأهداف

  • تحديد السياسات العامة التي تضمن أمن التطبيقات والأنظمة العدلية الرقمي ومناعتها ضد الاختراق

نطاق الوثيقة

تشمل هذه الوثيقة السياسات المعتمدة في الوكالة المساعدة للتحول الرقمي لضبط الأمن الرقمي في جميع الخدمات والمنتجات الرقمية التي يتم تطويرها داخل الوكالة المساعدة للتحول الرقمي، أو في محافظ مكتب تحقيق الرؤية، أو عن طريق شركاء الوزارة أو الشركات المنفذة. وعلى الرغم من ضرورة بناء وسائل التأمين على جميع المستويات (البنية التحتية، و التطبيقات، وقواعد البيانات، إلخ)، إلا أن هذه السياسات تركز على التطبيقات والبيانات بصورة أساسية.

السياسات

السياسات العامة

الاتصال بالأنظمة

  • تأمين الاتصال مع الأنظمة وواجهاتها البرمجية عن طريق بروتوكول (TLS) والاتصال بالأنظمة يكون عن طريق (Https) فقط.
  • ضبط إعدادات واجهات الويب البرمجية (Web APIs) بحسب السياسة المعتمدة في منصة التكامل (Apigee)
  • يجب عدم استخدام معرفات البيانات في قواعد البيانات (Row Id) في الروابط (URLs) أو معرفات الموارد (Resources URIs) في واجهات الويب البرمجية (Web APIs)
  • يجب عدم إرسال بيانات حساسة في الروابط (URLs) أو معرفات الموارد (Resources URIs) في واجهات الويب البرمجية (Web APIs)  بل تُرسل في محتوى طلب الويب (Web Request Body)  و/أو تشفر إذا دعت الحاجة لذلك.

الدخول/النفاذ (Authentication)

  • الحسابات المسموح لها باستخدام الأنظمة الداخلية هي حسابات المجال (Active Directory) فقط
  • ربط الأنظمة الداخلية مع النفاذ الموحد لوزارة العدل باستخدام بروتوكول (OpenID Connect = OIDC)
  • تفعيل التحقق متعدد الخطوات (Multi-Factor Authentication = MFA)

التحقق من صلاحيات المستخدمين (Authorization)

  • إدارة الصلاحيات تكون بالربط مع نظام النفاذ الموحد لوزارة العدل باستخدام بروتوكول (OAuth 2.0)
  • التحقق من جميع الاستعلامات والعمليات أن للمستخدم الصلاحية المناسبة

الأكواد

  • إغلاق جميع الثغرات المشهورة في تطبيقات الويب، وأقلها OWASP Top 10 Web Vulnerabilities
  • تحليل وفحص الأكواد بصورة دورية باستخدام الأدوات المعتمدة في الوزارة
  • يجب ترقية جميع المكتبات البرمجية (Code libraries/packages) وأطر العمل (Frameworks) لأحدث إصداراتها
  • يجب فحص جميع المدخلات (Input validation) وافتراض أنها خبيثة (malicious) ما لم يثبت العكس

التشفير (Encryption) والتحقق (Signing)

  • تشفير جميع البيانات الحساسة في قاعدة البيانات بالربط مع أجهزة التشفير المعتمدة (Security at rest)
  • تأمين الاتصال مع الأنظمة وواجهاتها البرمجية عن طريق بروتوكول (TLS) والاتصال بالأنظمة يكون عن طريق (Https) فقط. (Security in transit)
  • تشفير  جميع البيانات أثناء الانتقال (Security in transit) إذا زادت حساسية البيانات
  • يجب تجنب خواريزمات التشفير  (Encryption) والتحقق (Signing) الضعيفة مثل MD5, SHA-1, RC3, RC4 إلخ.

الخوادم وقواعد البيانات

  • النفاذ لخوادم البيئة الحية يكون عن طريق برنامج PAM فقط وبطلب مسبق
  • لا يسمح باتصال المبرمجين بقواعد بيانات البيئة الحية
  • اتصال الأنظمة بقواعد بيانات يكون باستخدام حسابات من المجال ولكن مخصصة لاستخدام الانظمة وليس الأشخاص (Active Directory Service Accounts).

فحص المشكلات

  • فحص المشكلات على البيئة الحية يكون عن طريق فحص نسخة يومية من قواعد البيانات البيئة الحية وليس قواعد بيانات البيئة الحية نفسها
  • جميع النسخ المأخوذة من قواعد بيانات البيئة الحية تكون البيانات الحساسة فيها معمّاة (Masked) أو مخفوقة (Scrambled)
  • يجب تطوير شاشات للدعم الفني تغني عن الحاجة للاتصال بقواعد بيانات البيئة الحية
  • يجب الإكثار من تسجيل ما يتم أثناء عمل النظام (Logs) – وخاصة المشاكل (Errors/Exceptions) – لتسهيل فحص المشكلات
  • يجب تسجيل جميع العمليات الهامة والتغيرات التي تتم على البيانات الهامة (Audit Trails)