توصيات سياسة كلمة المرور
لطالما كان التعقيد والتفرد والتغيير الدوري من أفضل الممارسات لكلمات المرور ، لكن التوصيات الجديدة أدت إلى تغييرات حول سياسات كلمات المرور.
كان من المفترض أن تعمل كلمات المرور على إصلاح المصادقة. بدلا من ذلك ، أصبحوا مصدرا لمشاكل كبيرة. يستمر المستخدمون في اختيار كلمات مرور ضعيفة أو سهلة التخمين وإعادة استخدام كلمات المرور نفسها في خدمات متعددة. كما أنهم يميلون إلى التساؤل عن القيود: “أي من هذه القواعد معقولة؟ أيها أكثر فعالية؟ لماذا لدينا كل هذه المتطلبات؟”
تستمر سياسات كلمات المرور في التطور حتى لو لم تتطور مواقف المستخدم. يقترح الخبراء التركيز بشكل أكبر على التحقق من كلمات المرور مقابل قوائم كلمات المرور الضعيفة المعروفة والتركيز بشكل أقل على سياسات انتهاء صلاحية كلمة المرور. فيما يلي أفضل الممارسات الحالية المستخدمة:
قم بتعيين متطلبات التعقيد ، مثل تلبية الحد الأدنى من الأحرف ، واستخدام أنواع معينة من الأحرف (حالة مختلطة ، وأرقام ، وأحرف خاصة).
منع المستخدمين من اختيار كلمات المرور المستخدمة مسبقًا.
طلب تغيير كلمات المرور بشكل دوري وربما بشكل متكرر.
تحقق من كلمات المرور مقابل قوائم كلمات المرور الأكثر شيوعًا أو الضعيفة بشكل خاص.
قرأ أكثر من مليون شخص enterprise.nxt. هل أنت واحد منهم؟
معايير كلمة المرور
تناول المعهد الوطني للمعايير والتكنولوجيا (NIST) مسألة سياسات كلمة المرور من خلال إصدار NIST Special Publication 800-63B (إرشادات الهوية الرقمية – المصادقة وإدارة دورة الحياة). يحتوي القسم 5.1.1 “الأسرار المحفوظة” على الكثير ليقوله حول كلمات المرور وكيفية إدارتها وتخزينها. المتطلبات متساهلة جدًا في الواقع: يجب أن تتكون كلمات المرور التي يوفرها المستخدم من ثمانية أحرف أبجدية رقمية على الأقل ؛ يجب أن تتكون كلمات المرور التي يتم إنشاؤها عشوائيًا بواسطة الأنظمة من ستة أحرف على الأقل ويمكن أن تكون رقمية بالكامل.
تعمل NIST على تحديث معاييرها والمتطلبات الجديدة الأكثر أهمية: يجب أن يتحقق النظام من كلمات المرور المحتملة مقابل “قائمة تحتوي على قيم معروفة بأنها شائعة الاستخدام أو متوقعة أو تم اختراقها.” تشمل أنواع كلمات المرور التي قد يتم رفضها بناءً على عمليات التحقق هذه ما يلي:
تم الحصول على كلمات المرور من الانتهاكات السابقة
كلمات القاموس
أحرف متكررة أو متسلسلة (على سبيل المثال ، aaaaaa أو 1234abcd)
كلمات ذات سياق محدد ، مثل اسم الخدمة واسم المستخدم ومشتقاته
للتشويش على المشكلة ، توصيات NIST ليست مطلوبة على وجه التحديد ؛ لا توجد منظمة يتمثل دورها في فرض هذه السياسات ، وتوصي إرشادات NIST صراحةً ضد متطلبات التعقيد.
بقية توصيات المعهد القومي للمعايير والتكنولوجيا (NIST) هي إجراءات ذكية تستند إلى الفطرة السليمة والتجربة الواقعية. على سبيل المثال:
يجب أن يسمح النظام بوظيفة اللصق عند إدخال كلمة المرور ، لتسهيل استخدام مديري كلمات المرور.
يجب عدم تخزين كلمات المرور ؛ يجب أن يخزن النظام تجزئة مملحة – إضافة بيانات عشوائية في تجزئة كلمة مرور أحادية الاتجاه – لكلمة المرور.
يجب أن تتضمن وظيفة الاشتقاق الرئيسية لتوليد التجزئة المملحة “عامل التكلفة” – وهو الشيء الذي يستغرق وقتًا للهجوم ، مما يقلل من فرص هجوم القوة الغاشمة الناجح.
أخيرًا ، كما جادلت منذ فترة طويلة ، يجب أن يسمح النظام للمستخدم بعرض كلمة المرور أثناء إدخالها ، بدلاً من مجرد العلامات النجمية أو النقاط. عادة ما يتم استدعاء هذا الخيار عن طريق النقر فوق رمز مقلة العين.
سياسات كلمة مرور Windows
نظرًا لأن كلمة مرور مجال Windows هي كلمة المرور الرئيسية للمستخدمين في العديد من المؤسسات ، فإن سياسات Windows الافتراضية هي ، على الأقل ، نقطة البداية لمعظم المؤسسات. بالنسبة للكثيرين ، لا يوجد سبب واضح للذهاب إلى أبعد من التخلف عن السداد.
لا تكون إعدادات Windows الافتراضية بالضرورة هي نفسها تلك الموجودة في خطوط أساس أمان Windows ، وهي مجموعات من إعدادات النهج “استنادًا إلى التعليقات الواردة من فرق هندسة الأمان في Microsoft ومجموعات المنتجات والشركاء والعملاء.” تم تضمين الخطوط الأساسية في Microsoft Security Compliance Toolkit ، والتي تتضمن أيضًا أدوات متعلقة بالسياسة للمسؤولين. تعمل خطوط أساس الأمان كإعداد آخر شائع جدًا ، بحكم كونها تكوينًا معتمدًا من Microsoft.
الإعدادات الأكثر إثارة للاهتمام ، على الأقل مؤخرًا ، هي الحد الأدنى والحد الأقصى لعمر كلمة المرور. الحد الأدنى للعمر هو عدد الأيام قبل السماح للمستخدمين بتغيير كلمة المرور. الحد الأقصى هو عدد الأيام التي يجب على المستخدمين بعدها تغيير كلمة المرور الخاصة بهم. الحد الأدنى الافتراضي هو يوم واحد ، لكل من Windows وخطوط الأساس الأمنية ؛ الحد الأقصى للافتراضيات هو 42 يومًا لنظام التشغيل Windows ، وحتى وقت قريب ، 60 يومًا في خطوط أساس الأمان. يتم تمكين هذه الإعدادات في جميع التكوينات الافتراضية تقريبًا.
المستويات الافتراضية تتغير
ولكن في مايو 2019 ، أعلنت Microsoft عن تغييرات في خطوط الأساس الأمنية لنظامي التشغيل Windows 10 و Windows Server build 1903: لن يتم تعيين الحد الأدنى والحد الأقصى لعمر كلمات المرور في الخطوط الأساسية ، وبالتالي لن يتم فرضها.
تستشهد Microsoft بالبحث (راجع “دليل المسؤول لأبحاث كلمة مرور الإنترنت” و “أمان انتهاء صلاحية كلمة المرور الحديثة”) للمطالبة بأن
لم تعد سياسات انتهاء صلاحية السيف تعتبر ذات قيمة كبيرة. تعتبر الإجراءات الأخرى ، مثل التحقق من قوائم كلمات المرور المحظورة ، أكثر فعالية. كما لاحظوا ، لا توفر سياسات مجموعة Windows إمكانية التحقق من مثل هذه القوائم ، لذلك لا يمكن أيضًا لخطوط أساس الأمان ، والتي تعد مثالًا جيدًا على سبب عدم الاعتماد فقط على الخطوط الأساسية. تقدم Microsoft بعض الإمكانات الأكثر تقدمًا في Azure AD Password Protection.
تعقيد كلمة المرور: القواعد الأساسية
ما هي سياسة تعقيد كلمة مرور Windows الافتراضية؟
قد لا تحتوي كلمة المرور على اسم الحساب أو أشكال مختلفة من اسم الحساب.
يجب أن يحتوي على أحرف من ثلاث من المجموعات الخمس التالية (مقتبسة من مستند Microsoft):
أحرف كبيرة من اللغات الأوروبية (من الألف إلى الياء ، مع علامات التشكيل والأحرف اليونانية والسيريلية)
أحرف صغيرة من اللغات الأوروبية (من A إلى Z ، وحادة S ، مع علامات التشكيل ، والأحرف اليونانية والسيريلية)
10 أرقام أساسية (من 0 إلى 9) ؛ أحرف غير أبجدية رقمية (أحرف خاصة): (~! @ # $٪ ^ & * _- + = `| \ () {} [] :؛” <>،.؟ /)
لا يتم حساب رموز العملات مثل اليورو أو الجنيه الإسترليني كأحرف خاصة لإعداد السياسة هذا.
أي حرف Unicode يتم تصنيفه على أنه حرف أبجدي ولكنه ليس أحرفًا كبيرة أو صغيرة. يتضمن ذلك أحرف Unicode من اللغات الآسيوية.
كل من كان عليه التعامل مع هذه السياسات ، التي تم تمكينها في خطوط الأساس الأمنية ، يعرف مدى الألم الذي يمكن أن تكون عليه. كما تنص وثيقة Microsoft ، فإن تمكين السياسات “قد يتسبب في بعض مكالمات مكتب المساعدة الإضافية للحسابات المقفلة لأن المستخدمين قد لا يكونون معتادين على امتلاك كلمات مرور تحتوي على أحرف غير تلك الموجودة في الأبجدية. ومع ذلك ، فإن إعداد السياسة هذا ليبرالي بدرجة كافية أن يكون جميع المستخدمين قادرين على الالتزام بالمتطلبات من خلال منحنى تعليمي ثانوي “.
متطلب طول كلمة المرور الافتراضي هو سبعة أحرف ، ولكن في أي مكان آخر ، توصي Microsoft بثمانية أحرف ، كما هو الحال مع متطلبات NIST. في خطوط أساس الأمان ، يبلغ الحد الأدنى لطول كلمة المرور 14 حرفًا.
ترفض سياسات المعهد القومي للمعايير والتكنولوجيا (NIST) على وجه التحديد (على الرغم من أنها لا تحظر) متطلبات التعقيد. لم تقم Microsoft بإزالة الفرض الافتراضي لهذه المتطلبات من Windows أو من خطوط أساس الأمان ، ولكن قد يكون تغييرًا تريد أن تقوم به بنفسك.
إذا كنت تريد تحكمًا أفضل في تصفية كلمات المرور ولكنك تريد التمسك بـ Active Directory ، فيمكنك استبدال Passfilt.dll القياسي من Microsoft بواحد تجاري أو كتابة واحدة بنفسك ، كما فعل Yelp ، بناءً على تطبيق مفتوح المصدر. من أمثلة البدائل التجارية تلك الموجودة في nFront Security و ManageEngine و Anixis. باستخدام أحد هذه البدائل ، يمكنك تنفيذ أفضل الممارسات الحالية ضمن البنية الأساسية القياسية لـ Active Directory.
يحتفظ SecLists بمجموعة من العديد من قوائم كلمات المرور الشائعة الكبيرة.
ما وراء كلمات المرور المحظورة
تعد قوائم كلمات المرور المحظورة مفيدة ، ولكن قد تكون هناك طريقة أخرى أفضل. Have I Been Pwned هو موقع يحتفظ بسجلات لانتهاكات معرف المستخدم وكلمة المرور الرئيسية ويسمح لك بالتحقق مما إذا كان قد تم اختراق أي من عمليات تسجيل الدخول الخاصة بك.
تم إنشاء الموقع وصيانته بواسطة Troy Hunt ، المدير الإقليمي لشركة Microsoft وخبير الأمان المعروف. لديها بيانات عن 369 موقعا مخترقا و 7،860،402،548 حسابا مخترقا. يحتوي الموقع أيضًا على واجهة برمجة تطبيقات تتيح لك التحقق مما إذا كان قد تم اختراق حساب معين أو ما إذا كانت هناك كلمة مرور معينة موجودة في قاعدة بيانات الاختراق.
يعتقد هانت أنه بمجرد أن تصبح القائمة كبيرة مثل تلك الخاصة به ، فإنه “من غير المحتمل بشكل استثنائي أن يكون هناك أي شيء خارج تلك المجموعة يكون فظيعًا ويتم استخدامه بنشاط”. الإجابة هي التحقق من قاعدة بيانات Pwned Passwords المنفصلة ، والتي تحتوي على 551 مليون كلمة مرور كانت في واحد أو أكثر من الخروقات ، باستخدام واجهة برمجة التطبيقات الخاصة بها. يقول Hunt إنه سيحدد ستة أحرف كحد أدنى ثم يحظر أي شيء يظهر في كلمات مرور Pwned. نصيحة أخرى من Hunt: “سأحظر كل اختلاف في اسم الشركة ؛ لا يمكن لأي شخص على موقع Acme Corp استخدام AcmeCorp ، و AcmeCorp1 ، و AcmeC0rp ، وما إلى ذلك.”
إذا كنت ترغب في استخدام Pwned Passwords API ، فيمكنك البناء على أحد المشاريع العديدة التي تقوم بذلك بالفعل. عادةً ما يقومون بإنشاء واجهة بيئية أصلية لواجهة برمجة التطبيقات ، كما هو الحال مع العديد من مكتبات PHP ونصوص Python و Perl ومكونات WordPress الإضافية وعملاء Java ، بالإضافة إلى وصفة IFTTT.
بالإضافة إلى العديد من كلمات المرور الضعيفة ، تحتوي Pwned Passwords على عدد كبير من كلمات المرور التي تفي بأي مجموعة من قواعد التعقيد ، لذلك قد يبدو أنها مبالغة. ولكن بالمقارنة مع مجموعة كلمات المرور المحتملة ، فإن 551 مليون ليس عددًا كبيرًا كما يبدو. يتم إنشاء جميع كلمات المرور الخاصة بي تقريبًا بشكل عشوائي بواسطة مدير كلمات المرور الخاص بي ، لكنني اختبرت العديد من كلمات المرور التي أنشأتها بنفسي في السنوات الأخيرة ، ولم يظهر أي منها في قاعدة بيانات Pwned Passwords. لذلك ربما يكون الاعتماد على واجهة برمجة تطبيقات Hunt والحد الأدنى للطول وحظر متغيرات اسم المؤسسة هو أسهل طريق للحصول على حماية قوية.
لقد كتبت برنامجًا للتحقق من محتويات إحدى قوائم SecLists “ذات المصداقية المشتركة
als ”مقابل قاعدة بيانات Pwned Passwords. كانت جميع كلمات المرور التي تم اختبارها باستثناء 3663 من 262.000 كلمة مرور في Pwned Passwords ، وأكثر من نصف تلك الكلمات التي لم تكن تحتوي على أقل من ثمانية أحرف. ربما يعني هذا أن Hunt محق في أن التحقق من قوائم كلمات المرور المحظورة يعد زائدًا عن الحاجة إلى حد كبير ، على الرغم من أنك إذا كنت ستفحص أحدهما أو الآخر ، فمن السهل التحقق من كليهما.
لكن كل هذا يتعلق بأسماء المستخدمين وكلمات المرور ، وهي تقنية نأمل جميعًا في أن يتم إهمالها يومًا ما. في نفس الوقت الذي تتأكد فيه من قوة كلمات المرور الخاصة بك ، امض قدمًا في المصادقة متعددة العوامل والقياسات الحيوية التي تتجاوز المشكلات الكامنة في كلمات المرور.