العربية
  • security
  • identity
  • checklist
  • auth

قائمة التحقق الأساسية للأمان لهوية المستخدم

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

Gao
Gao
Founder

المقدمة

بناء هوية المستخدم هو عنصر حيوي في أي تطبيق. يتيح لك تقديم تجارب شخصية، تحسين جودة البيانات، وتحسين الاحتفاظ بالمستخدمين.

قد يبدو التحقق من أسماء المستخدمين وكلمات المرور هو الأسلوب الأبسط، ولكن هناك العديد من الجوانب الأخرى التي يجب أخذها في الاعتبار. لنبدأ الآن!

البنية التحتية

فرض HTTPS

لنبدأ بالأساسيات. دائماً قم بفرض استخدام HTTPS (بروتوكول النقل النصي الفائق الآمن) لتشفير نقل البيانات عبر الإنترنت. يضمن HTTPS سرية البيانات المتبادلة بين جهاز المستخدم والخادم لديك وعدم التلاعب بها.

قد يبدو إعداد HTTPS تحدياً، ولكن هناك العديد من الأدوات والخدمات المتاحة لمساعدتك:

  • إذا كنت تستضيف بنفسك، Let's Encrypt يوفر شهادات SSL/TLS مجانية يمكن استخدامها لتمكين HTTPS على موقعك.
  • إذا كنت تستخدم مزود سحابة، مثل AWS أو Azure أو Google Cloud، يمكنك استخدام خدماتهم المُدارة لإعداد HTTPS.

لا تسمح بالوصول العام إلى قاعدة البيانات، مُقتصر على المصادر الموثوقة فقط

على الرغم من أنها تبدو أساسية أيضاً، فقد وقعت العديد من اختراقات الأمان بسبب السماح بالوصول العام إلى قواعد البيانات. لذا يستحق ذكره هنا.

تذكر دائماً عدم السماح بالوصول العام إلى قاعدة بياناتك. ضع قاعدة البيانات في شبكة خاصة واسمح بالوصول فقط من المصادر الموثوقة.

إدارة موجهًا خاصًا بأمان

الموجهات الخاصة، مثل رموز الوصول أو مفاتيح API، غالباً تستخدم لأغراض المصادقة والتفويض البرمجي. لإدارة هذه الموجهات بأمان:

  • استخدم الموجهات قصيرة الأجل وموجهات التحديث لتقليل خطر الوصول غير المصرح به.
  • استخدم آلية تخزين موجهات آمنة، مثل مستودع المفاتيح، لحماية الموجهات من الوصول غير المصرح به.
  • قم بتدوير الموجهات بانتظام لمنع تعرضها للاختراق. بعض البروتوكولات، مثل OAuth 2.0، توفر آلية لتدوير الموجهات.
  • احتفظ بالسيطرة على إلغاء تنشيط الموجهات في حالة وقوع خرق أمني.

اختر خوارزمية تجزئة كلمات المرور بحكمة

إذا كانت لديك تجربة مع تجزئة كلمات المرور، قد تكون على دراية بأن هناك العديد من الخوارزميات المتاحة، بعضها لم يعد يعتبر آمناً، مثل MD5 وSHA-1 وSHA-2.

تتضمن بعض الأسباب الشائعة لعدم أمانها:

  • لم تُصمم خصيصاً لتجزئة كلمات المرور، وسرعتها الحسابية سريعة جداً، مما يجعل الهجمات العنيفة أكثر سهولة.
  • تفتقر إلى استخدام الملح، مما يجعل من الأسهل إنشاء جداول قوس قزح لها.
  • عرضة لهجمات التصادم، مما يتيح للمهاجمين إنتاج كلمات مرور مختلفة بقيمة تجزئة متطابقة.

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

تعلم والتزم بشدة بالمعايير المفتوحة

المعايير المفتوحة مثل OAuth 2.0 وOpenID Connect (OIDC) توفر طرقًا آمنة وموحدة للمصادقة والتفويض للمستخدمين. لقد تم اختبارها واعتمادها على نطاق واسع في الصناعة.

ومع ذلك، يمكن أن تؤدي تنفيذها بشكل غير صحيح إلى ثغرات أمنية، حتى للفرق الكبيرة مع المطورين ذوي الخبرة. مثال حديث على ذلك هو ثغرة OAuth التي اكتشفت في Expo، وهي إطار شهير لبناء تطبيقات الجوال. إنها مثال جيد على كيف يمكن لخطأ صغير أن يؤدي إلى حدوث خرق أمني.

تشفير البيانات التامة

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

إعداد الجدران النارية

الهجمات DDoS (الحرمان من الخدمة الموزعة)، على الرغم من قدمها، تظل تهديدًا كبيرًا. وفقًا لـتقرير تهديدات DDoS لشركة Cloudflare للربع الرابع من 2022، زادت حركة مرور الهجمات DDoS عبر HTTP بنسبة 79% مقارنة بالعام السابق. بدلاً من بناء حلك الخاص، يُعتبر إعداد جدران نارية مُدارة واستخدام المراسلين للتخفيف من هذا الخطر فكرة جيدة.

التطبيقات والعملاoples

تحسين مستوى الأمان للعملا عمومی

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

لا تثق في بیانات الإدخال العامة

یمکن أن تکون إدخالات المستخدم مصدرًا كبيرًا للثغرات الأمنیة، وغالبًا ما يتم تجاوزها. بعض الأنواع الشائعة من الثغرات المتجاهلة هي الهجوم النصي بین المواقع (XSS) وحقن SQL. تأكد من التحقق من صحة جميع الإدخالات العامة وتطهيرها قبل استخدامها.

تتبع الأنشطة

المحافظة على مسار تدقیق لأنشطة المستخدمین تساعد في الكشف والتحقیق في الحوادث الأمنیة. قم بتسجیل ومراقبة أفعال المستخدمین، مثل محاولات التسجیل، تغیرات کلمات المرور، أو العملیات الحساسة. یمکن لتحلیل هذه السجلات توفیر رؤى قیمة بخصوص اختراقات الأمان المحتملة أو الأنشطة المشبوهة.

تنفیذ مصادقة قویة

قم بتنفیذ آلیة مصادقة قویة للتحقق من هویة المستخدمین. كما ذكرنا سابقًا، احتر الخيار باستخدام بروتوكولات آمنة مثل OAuth 2.0 أو OpenID Connect للمصادقة. لمزید من المعلومات، یمکنک الرجوع إلى CIAM 101: المصادقة، الهوية، SSO.

بناء تفویض صلب (مثال، تطبیق التحكم فی الوصول المبنی علی الأدوار)

بالإضافة إلى المصادقة، يجب أن تكون هناك آلیات تفویض مناسب. قم بتطبیق التحكم فی الوصول المبنی علی الأدوار (RBAC) لضمان أن المستخدمین لا یحصلون على الوصول إلا إلى الموارد والعملیات المسموح بها لهم. لمزید من المعلومات، یمکن الرجوع إلى CIAM 102: التفویض والتحکم فی الوصول المبنی علی الأدوار.

تطبیق المصادقة متعددة العوامل (MFA)

تضیف المصادقة متعددة العوامل (MFA) طبقة إضافیة من الأمان من خلال تطلب المستخدمین لتوفیر شكل واحد أو عدة أشكال من تحدید الهویة، مثل كلمة المرور ورمز واحد الوقت المرسل إلى جهازهم الجوال. مثال جید آخر على MFA هو عندما یطلب GitHub من المستخدمین إدخال رمز واحد الوقت من تطبیقهم الجوال، والذي یُعرض على صفحة الویب، لتنفیذ العملیات الحساسة مثل حذف المستودع.

ومع ذلك، لیس من الضروري تطبیق MFA لمعظم الشركات الناشئة المبكرة، خاصة إذا لم یکن لدیک حل خارج الصندوق. قد یکون مفرطًا ویمکن أن یؤثر سلبًا على تجربة المستخدمین.

الثقافة

النصائح المقدمة أعلاه تغطي في الغالب "التدابیر الأمنیة السلبیة"، التي تُعرف قبل وقوع حادث أمني. ومع ذلك، هناك أيضًا "تدابیر أمنیة نشطة" یمکنک اتخاذها لتحسين موقف الأمان العام، وهي أكثر فعالیة على المدى الطويل.

تعلیم فریقك ومستخدمیك حول الاحتيال والهندسة الاجتماعیة

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

یجد الناس غالبًا أن التدریب الأمني ممل، وغالبًا ما یکون كذلك، لذا غیر طريقة تعلیم فریقك ومستخدمیك. على سبيل المثال، یمكنك محاکاة رسالة احتیالیة قبل أن يقوم مهاجم فعلي بذلک واظهار كیفية التعرف عليها. یمكنك حتى تقدیم مكافآت للإبلاغ عن الرسالة للفریق الأمني.

إعداد DevSecOps

بالإضافة إلى المراجعات الأمنیة الیدویة، یمكنك أیضًا تطبیق ممارسات DevSecOps لأتمتة الفحوصات الأمنیة. على سبيل المثال، یمكنك إعداد خط أنابیب CI/CD لتشغیل أدوات تحلیلیة رمزیة ثابتة مثل CodeQL وتشغیل اختبارات الاختراق تلقائیاً باستخدام أدوات مثل OWASP ZAP.

احتضان التكوین الأكثر صرامة دون التأثیر على تجربة المستخدم

عندما يتعلق الأمر بالأمان، اختر دائماً التكوین الأكثر أمانًا الذي لا یؤثر سلبًا على تجربة المستخدم. تجنب اتخاذ طرق مختصرة أو التقلیل من الأمان من أجل الملاءمة. یجب أن یکون الأمان دائمة أولویة قصوى.

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

الخاتمة

الأمان موضوع معقد، ومن المستحیل تغطیة كل شيء في مقالة واحدة. نأمل أن تساعدك هذه المقالة في بناء شعور أقوى بالأمان لنفسك أو لفريقك. إذا كنت تقوم ببناء تطبیق جدید، قد ترغب أیضًا في الاطلاع على Logto، منصة تساعدك على تطوير وإدارة وتأمین هویات المستخدمین لمنتجك بجهد قل.