الرجل ، كما تعلم ، مخلوق كسول. وأكثر من ذلك عندما يتعلق الأمر باختيار كلمة مرور قوية.
أعتقد أن كل من المسؤولين واجهوا مشكلة استخدام كلمات المرور الخفيفة والمعيارية. غالبًا ما توجد هذه الظاهرة بين المستويات العليا لإدارة الشركة. نعم ، نعم ، من بين أولئك الذين لديهم إمكانية الوصول إلى معلومات سرية أو تجارية وسيكون من غير المرغوب فيه للغاية إزالة عواقب تسرب / اختراق القرصنة وغيرها من الحوادث.
في ممارستي ، كانت هناك حالة ، في مجال Active Directory مع تمكين سياسة كلمة المرور ، توصل المحاسبون الأفراد بشكل مستقل إلى فكرة أن كلمة مرور النموذج "Pas $ w0rd1234" تعمل بشكل مثالي مع متطلبات السياسة. وكانت النتيجة الاستخدام الواسع النطاق لكلمة المرور هذه في كل مكان. كان يختلف في بعض الأحيان فقط في مجموعة من الأرقام.
أردت حقًا ألا أكون قادرًا على تضمين سياسة كلمة المرور وتحديد مجموعة أحرف فحسب ، ولكن أيضًا التصفية حسب القاموس. لاستبعاد إمكانية استخدام هذا النوع من كلمة المرور.
يرجى من Microsoft إبلاغنا عبر الرابط أن أي شخص يعرف كيفية إجراء المترجم بشكل صحيح ، IDE ويعرف كيف تنطق C ++ ، قادر على تجميع واستخدام المكتبة التي يحتاجون إليها كما يرون مناسبًا. خادمك المتواضع غير قادر على ذلك ، لذلك اضطررت للبحث عن حل جاهز.
بعد ساعة
طويلة من البحث ، تم الكشف عن خيارين لحل المشكلة للعين. بالطبع ، أنا أتحدث عن حل OpenSource. بعد كل شيء ، خيارات مدفوعة - من وإلى.
الخيار رقم 1. OpenPasswordFilterلا توجد أية إلتزامات في وقت مبكر من السنة 2. يعمل المثبت الأصلي كل مرة ، يجب عليك إصلاحه يدويًا. يخلق خدمة منفصلة خاصة به. عند تحديث ملف كلمة المرور ، لا تلتقط مكتبة الارتباط الحيوي (DLL) تلقائيًا المحتويات التي تم تغييرها ، تحتاج إلى إيقاف الخدمة ، والانتظار حتى انتهاء مهلة ، وتحرير الملف ، وبدء الخدمة.
لا الجليد!الخيار رقم 2. PassFiltExالمشروع نشط ، ولا يحتاج حتى إلى ركل جسم بارد.
يتضمن تثبيت عامل تصفية نسخ ملفين وإنشاء إدخالات تسجيل متعددة. ملف كلمة المرور ليس في وضع قفل ، أي أنه قابل للتحرير ، ووفقًا لفكرة مؤلف المشروع ، تتم قراءته ببساطة مرة واحدة في الدقيقة. أيضًا ، بمساعدة إدخالات التسجيل الإضافية ، يمكنك بالإضافة إلى ذلك تكوين عامل التصفية نفسه وحتى الفروق الدقيقة لسياسة كلمة المرور.
هكذا.
الممنوحة: مجال Active Directory test.local
محطة عمل اختبار Windows 8.1 (تافهة لظروف المهمة)
كلمة مرور مرشح PassFiltEx
- قم بتنزيل أحدث إصدار من PassFiltEx من الرابط
- نسخ PassFiltEx.dll إلى C: \ Windows \ System32 (أو ٪ SystemRoot٪ \ System32 ).
انسخ PassFiltExBlacklist.txt إلى C: \ Windows \ System32 (أو ٪ SystemRoot٪ \ System32 ). إذا لزم الأمر ، استكملها مع قوالب لدينا.

- تحرير فرع التسجيل: HKLM \ SYSTEM \ CurrentControlSet \ Control \ Lsa => حزم الإعلام
أضف PassFiltEx إلى نهاية القائمة. (لا يلزم التمديد.) ستبدو القائمة الكاملة للحزم المستخدمة للتحقق من ذلك " rassfm scecli PassFiltEx ".

- نحن إعادة تشغيل وحدة تحكم المجال.
- نكرر الإجراء أعلاه لجميع وحدات تحكم المجال.
يمكنك أيضًا إضافة إدخالات التسجيل التالية ، والتي تمنحك المزيد من المرونة في استخدام هذا الفلتر:
القسم:
HKLM \ SOFTWARE \ PassFiltEx - يتم إنشاؤه تلقائيًا.
- HKLM \ SOFTWARE \ PassFiltEx \ BlacklistFileName ، REG_SZ ، الافتراضي: PassFiltExBlacklist.txt
BlacklistFileName - يسمح لك بتحديد مسار مخصص للملف باستخدام قوالب كلمة المرور. إذا كان إدخال التسجيل فارغًا أو غير موجود ، فسيتم استخدام المسار الافتراضي ، وهو ٪ SystemRoot٪ \ System32 . يمكنك حتى تحديد مسار الشبكة ، ولكن عليك أن تتذكر أن ملف القالب يجب أن يكون لديه أذونات واضحة للقراءة والكتابة والحذف والتغيير.
- HKLM \ SOFTWARE \ PassFiltEx \ TokenPercentageOfPassword ، REG_DWORD، Default: 60
TokenPercentageOfPassword - يسمح لك بتحديد نسبة حدوث القناع في كلمة المرور الجديدة. القيمة الافتراضية هي 60 ٪. على سبيل المثال ، إذا تم تحديد نسبة حدوث 60 وكانت خط النجوم في ملف القالب ، فإن كلمة المرور هي Starwars1! سيتم رفض ، في حين أن كلمة المرور starwars1! سيتم قبول DarthVader88 ، حيث أن نسبة حدوث السطر في كلمة المرور أقل من 60 ٪
- HKLM \ SOFTWARE \ PassFiltEx \ RequireCharClasses ، REG_DWORD، Default: 0
RequireCharClasses - يعزز متطلبات كلمة المرور مقارنة بمتطلبات تعقيد كلمة مرور ActiveDirectory القياسية. تتطلب متطلبات التعقيد المضمنة 3 من 5 أنواع مختلفة من الأحرف: الأحرف الكبيرة والأحرف الصغيرة والأرقام والخاصة واليونيكود. باستخدام إدخال التسجيل هذا ، يمكنك تعيين متطلبات تعقيد كلمة المرور الخاصة بك. القيمة التي يمكن تحديدها هي مجموعة من البتات ، كل منها قوة مقابلة لاثنين.
هذا هو - 1 = أحرف صغيرة ، 2 = أحرف كبيرة ، 4 = أرقام ، 8 = أحرف خاصة ، و 16 = حرف يونيكود.
وبالتالي ، بقيمة 7 ، ستكون المتطلبات هي "الأحرف الكبيرة والصغيرة والأرقام" ، وقيمة 31 ، "الأحرف الكبيرة والصغيرة والأرقام والطابع الخاص والحرف الخاص Unicode".
يمكنك الجمع بين - 19 = "الحالة العلوية والصغيرة والحرف Unicode".

عدد من القواعد عند ترجمة ملف قالب:
- الأنماط غير حساسة لحالة الأحرف. لذلك ، سيتم تحديد الإدخال في starwars وملف StarWarS بنفس القيمة.
- تتم إعادة قراءة ملف القائمة السوداء كل 60 ثانية ، بحيث يمكنك تحريره بسهولة ، بعد دقيقة واحدة سيتم بالفعل استخدام البيانات الجديدة بواسطة المرشح.
- لا يوجد حاليًا دعم Unicode للتحقق من صحة النموذج. بمعنى أنه يمكنك استخدام أحرف Unicode في كلمات المرور ، لكن المرشح لن يعمل. هذا ليس بالغ الأهمية ، لأنني لم أر المستخدمين الذين يستخدمون كلمات مرور Unicode.
- من المستحسن عدم السماح بسطور فارغة في ملف القالب. في تصحيح الأخطاء ، يكون الخطأ مرئيًا عند تحميل البيانات من الملف. مرشح يعمل ، ولكن لماذا تلك اضافية؟
بالنسبة للتصحيح ، توجد ملفات دفعية في الأرشيف تسمح لك بإنشاء سجل ثم تحليله باستخدام ، على سبيل المثال ،
Microsoft Message Analyzer.يستخدم عامل تصفية كلمة المرور هذا تتبع الأحداث لنظام التشغيل Windows.
موفر ETW
لعامل تصفية كلمة المرور هذا هو
07d83223-7594-4852-babc-784803fdf6c5 . لذلك ، على سبيل المثال ، يمكنك تكوين تتبع الأحداث بعد إعادة التشغيل التالية:
logman create trace autosession\PassFiltEx -o %SystemRoot%\Debug\PassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets
سيبدأ التتبع بعد إعادة تشغيل النظام التالي. للتوقف:
logman stop PassFiltEx -ets && logman delete autosession\PassFiltEx -ets
يتم تحديد كل هذه الأوامر في
البرامج النصية StartTracingAtBoot.cmd و
StopTracingAtBoot.cmd .
للفحص لمرة واحدة للمرشح ، يمكنك استخدام
StartTracing.cmd و
StopTracing.cmd .
من أجل قراءة العادم debug لعامل التصفية هذا بسهولة في
Microsoft Message Analyzer ، يوصى باستخدام الإعدادات التالية:


عند إيقاف السجل والتحليل في
Microsoft Message Analyzer ، يبدو كل شيء كما يلي:

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

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

لذلك ، كن مستعدًا للمكالمات والصراخ: "لقد أدخلت كلمة المرور كما يجب ، لكنها لا تعمل."
يؤدي
تسمح لك هذه المكتبة بحظر استخدام كلمات مرور بسيطة أو قياسية في مجال Active Directory. قل لا كلمات مرور النموذج: "P @ ssw0rd" ، "Qwerty123" ، "ADm1n098".
نعم ، بالطبع ، سوف يحبك المستخدمون أكثر لمثل هذا الاهتمام بأمنهم والحاجة إلى الخروج بكلمات مرور غاضبة. وربما ، عدد المكالمات وطلبات المساعدة بشأن كلمة المرور التي ستضيفها. لكن الأمن يأتي بسعر.
روابط إلى الموارد المستخدمة:مقالة Microsoft على مكتبة تصفية كلمة المرور المخصصة:
عوامل تصفية كلمة المرورPassFiltEx:
PassFiltExرابط الإصدار:
أحدث إصدارقوائم كلمات المرور:
قوائم DanielMiessler:
رابط.قائمة الكلمات من الضعفاء
.قائمة الكلمات من berzerk0 repo:
رابط.محلل رسائل Microsoft:
محلل رسائل Microsoft.