Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ

Та бүхний мэдэж байгаачлан хүн бол залхуу амьтан юм.
Мөн хүчтэй нууц үг сонгохдоо бүр ч илүү.

Администратор бүр хөнгөн, стандарт нууц үг ашиглах асуудалтай тулгарч байсан гэж би бодож байна. Энэ үзэгдэл нь компанийн удирдлагын дээд давхаргын дунд ихэвчлэн тохиолддог. Тийм ээ, тийм ээ, нууц эсвэл арилжааны мэдээлэлд нэвтрэх эрхтэй хүмүүсийн дунд нууц үг задрах/хакердах болон цаашдын ослын үр дагаврыг арилгах нь туйлын хүсээгүй зүйл юм.

Миний практикт нууц үгийн бодлогыг идэвхжүүлсэн Active Directory домэйнд нягтлан бодогчид “Pas$w0rd1234” гэх мэт нууц үг нь бодлогын шаардлагад бүрэн нийцдэг гэсэн санааг бие даан гаргаж байсан тохиолдол бий. Үүний үр дагавар нь энэ нууц үгийг хаа сайгүй өргөнөөр ашиглах явдал байв. Заримдаа тэр зөвхөн тооны багцаараа ялгаатай байв.

Би нууц үгийн бодлогыг идэвхжүүлж, тэмдэгтийн багцыг тодорхойлохоос гадна толь бичгээр шүүж чаддаг болохыг үнэхээр хүсч байсан. Ийм нууц үг ашиглах боломжийг хасах.

Хөрвүүлэгч, IDE-г гартаа зөв барьж, C++ хэлийг зөв дууддаг хэн бүхэн өөрт хэрэгтэй номын сангаа эмхэтгэн өөрийн ойлголтоор ашиглах боломжтойг Майкрософт линкээр дамжуулан мэдэгдье. Таны даруухан зарц үүнийг хийх чадваргүй тул би бэлэн шийдлийг хайх хэрэгтэй болсон.

Удаан цаг хайсны эцэст асуудлыг шийдэх хоёр хувилбар гарч ирэв. Би мэдээж OpenSource шийдлийн тухай ярьж байна. Эцсийн эцэст, төлбөртэй сонголтууд байдаг - эхнээс нь дуустал.

Сонголт №1. OpenPasswordFilter

Ойролцоогоор 2 жилийн турш ямар ч үүрэг хүлээгээгүй байна. Уугуул суулгагч хааяа ажилладаг тул та үүнийг гараар засах хэрэгтэй. Өөрийн гэсэн тусдаа үйлчилгээг бий болгодог. Нууц үгийн файлыг шинэчлэх үед DLL нь өөрчлөгдсөн агуулгыг автоматаар авдаггүй тул та үйлчилгээгээ зогсоож, завсарлага хүлээж, файлыг засварлаж, үйлчилгээг эхлүүлэх хэрэгтэй.

Мөс байхгүй!

Сонголт №2. PassFiltEx

Төсөл идэвхтэй, амьд, хүйтэн биеийг өшиглөх ч шаардлагагүй.
Шүүлтүүрийг суулгах нь хоёр файлыг хуулж, хэд хэдэн бүртгэлийн оруулга үүсгэх явдал юм. Нууц үгийн файл нь түгжигдээгүй, өөрөөр хэлбэл засварлах боломжтой бөгөөд төслийн зохиогчийн санааны дагуу минут тутамд нэг удаа уншдаг. Нэмэлт бүртгэлийн оруулгуудыг ашиглан шүүлтүүрийг өөрөө болон нууц үгийн бодлогын нарийн ширийн зүйлийг хоёуланг нь тохируулах боломжтой.

Тэгэхээр.
Өгөгдсөн: Active Directory домэйн test.local
Windows 8.1 туршилтын ажлын станц (асуудлын зорилгод чухал биш)
нууц үгийн шүүлтүүр PassFiltEx

  • Хамгийн сүүлийн хувилбарыг холбоосоос татаж авна уу PassFiltEx
  • Хуулах PassFiltEx.dll в C: WindowsSystem32 (эсвэл %SystemRoot%System32).
    Хуулах PassFiltExBlacklist.txt в C: WindowsSystem32 (эсвэл %SystemRoot%System32). Шаардлагатай бол бид үүнийг өөрсдийн загвараар нэмж өгдөг
    Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ
  • Бүртгэлийн салбарыг засах: HKLMSYSTEMCurrent ControlSetControlLsa => Мэдэгдлийн багцууд
    Нэмэх PassFiltEx жагсаалтын төгсгөл хүртэл. (Өргөтгөлийг зааж өгөх шаардлагагүй.) Скан хийхэд ашигласан багцуудын бүрэн жагсаалт дараах байдлаар харагдах болно.rassfm scecli PassFiltEx".
    Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ
  • Домэйн хянагчийг дахин ачаална уу.
  • Бид бүх домэйн хянагчдад дээрх процедурыг давтана.

Мөн та дараах бүртгэлийн бичилтүүдийг нэмж оруулах боломжтой бөгөөд энэ нь шүүлтүүрийг ашиглахад илүү уян хатан байдлыг танд олгоно.

Бүлэг: HKLMSOFTWAREPassFiltEx - автоматаар үүсгэгддэг.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, Өгөгдмөл: PassFiltExBlacklist.txt

    Хар жагсаалт файлын нэр — нууц үгийн загвар бүхий файл руу нэвтрэх замыг зааж өгөх боломжийг танд олгоно. Хэрэв энэ бүртгэлийн оруулга хоосон эсвэл байхгүй бол өгөгдмөл замыг ашигладаг бөгөөд энэ нь - %SystemRoot%System32. Та сүлжээний замыг зааж өгч болно, гэхдээ загвар файл нь унших, бичих, устгах, өөрчлөх тодорхой зөвшөөрөлтэй байх ёстой гэдгийг санах хэрэгтэй.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, Өгөгдмөл: 60

    TokenPercentageOfPassword — шинэ нууц үгэнд маскын хэдэн хувийг зааж өгөх боломжийг танд олгоно. Анхдагч утга нь 60% байна. Жишээлбэл, хэрэв тохиолдлын хувь нь 60 бол оддын дайн загвар файлд байгаа бол нууц үг Оддын дайн 1! нууц үг оруулах үед татгалзах болно оддын дайн 1! DarthVader88 Нууц үг дэх мөрийн хувь 60% -иас бага байгаа тул хүлээн авах болно

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, Өгөгдмөл: 0

    RequireCharClasses — ActiveDirectory нууц үгийн нарийн төвөгтэй байдлын стандарт шаардлагуудтай харьцуулахад нууц үгийн шаардлагыг өргөжүүлэх боломжийг танд олгоно. Суурилуулсан нарийн төвөгтэй байдлын шаардлага нь 3 өөр төрлийн тэмдэгтийн 5-ыг шаарддаг: Том, жижиг, оронтой, тусгай, юникод. Энэ бүртгэлийн оруулгыг ашиглан та нууц үгийн нарийн төвөгтэй байдлын шаардлагыг тохируулах боломжтой. Тодорхойлж болох утга нь тус бүр нь хоёрын харгалзах чадалтай битүүдийн багц юм.
    Энэ нь - 1 = жижиг үсэг, 2 = том үсэг, 4 = цифр, 8 = тусгай тэмдэгт, 16 = Юникод тэмдэгт.
    Тиймээс 7 гэсэн утгатай бол шаардлага нь "Том үсэг" байх болно. БОЛОН жижиг үсгээр БОЛОН цифр”, 31-ийн утгатай - “Том үсэг БОЛОН жижиг үсэг БОЛОН цифр БОЛОН тусгай тэмдэг БОЛОН Юникод тэмдэгт."
    Та бүр нэгтгэж болно - 19 = "Том үсэг БОЛОН жижиг үсэг БОЛОН Юникод тэмдэгт."

  • Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ

Загвар файл үүсгэх хэд хэдэн дүрэм:

  • Загварууд нь том жижиг жижиг жижиг хэмжээтэй байна. Тиймээс файлын оруулга Оддын дайн и Оддын дайн ижил утгатай байхаар тогтоогдоно.
  • Хар жагсаалтын файлыг 60 секунд тутамд дахин уншдаг тул та үүнийг хялбархан засах боломжтой бөгөөд нэг минутын дараа шинэ өгөгдлийг шүүлтүүр ашиглана.
  • Одоогоор хээ тааруулах Юникод дэмжлэг байхгүй байна. Өөрөөр хэлбэл, та Юникод тэмдэгтүүдийг нууц үгэнд ашиглаж болно, гэхдээ шүүлтүүр ажиллахгүй. Энэ нь тийм ч чухал биш, учир нь би Юникод нууц үг ашигладаг хэрэглэгчдийг хараагүй.
  • Загварын файлд хоосон мөрүүдийг оруулахгүй байхыг зөвлөж байна. Дибаг хийх үед та файлаас өгөгдлийг ачаалах үед алдаа гарч байгааг харж болно. Шүүлтүүр ажилладаг, гэхдээ яагаад нэмэлт үл хамаарах зүйлүүд байдаг вэ?

Дибаг хийхдээ архив нь лог үүсгэх, дараа нь жишээлбэл, ашиглан задлан шинжлэх боломжийг олгодог багц файлуудыг агуулдаг. Microsoft Message Analyzer.
Энэхүү нууц үгийн шүүлтүүр нь Windows-д зориулсан Event Tracing ашигладаг.

Энэ нууц үгийн шүүлтүүрийн ETW үйлчилгээ үзүүлэгч нь 07d83223-7594-4852-babc-784803fdf6c5. Жишээлбэл, та дараах дахин ачаалсны дараа үйл явдлын мөрийг тохируулах боломжтой.
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Дараах системийг дахин ачаалсны дараа мөрдөх ажиллагаа эхэлнэ. Зогсох:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Эдгээр бүх командыг скрипт дээр зааж өгсөн болно StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Шүүлтүүрийн ажиллагааг нэг удаа шалгахын тулд та ашиглаж болно StartTracing.cmd и StopTracing.cmd.
Энэ шүүлтүүрийн дибаг хийх янданг хялбархан уншихын тулд Microsoft Message Analyzer Дараах тохиргоог ашиглахыг зөвлөж байна.

Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ

Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ

Нэвтрэх, задлан шинжлэхийг зогсоох үед Microsoft Message Analyzer бүх зүйл иймэрхүү харагдаж байна:

Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ

Эндээс та хэрэглэгчдэд нууц үг оруулах оролдлого байсныг харж болно - шидэт үг бидэнд үүнийг хэлж байна SET дибаг хийж байна. Загварын файлд байгаа бөгөөд оруулсан текстийн 30 гаруй хувь нь таарч байгаа тул нууц үг нь татгалзсан.

Хэрэв нууц үг солих оролдлого амжилттай хийгдсэн бол бид дараахыг харна.

Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ

Эцсийн хэрэглэгчдэд зарим нэг таагүй байдал бий. Загварын файлын жагсаалтад орсон нууц үгээ солихыг оролдох үед дэлгэцэн дээрх мессеж нь нууц үгийн бодлогыг нэвтрүүлэхгүй байх үеийн стандарт мессежээс ялгаатай биш юм.

Хэрхэн стандарт нууц үгийг хориглож, хүн бүр чамайг үзэн ядах вэ

Тиймээс, "Би нууц үгээ зөв оруулсан, гэхдээ ажиллахгүй байна" гэж дуудаж, хашгирахад бэлэн байгаарай.

Нийт.

Энэхүү номын сан нь Active Directory домэйнд энгийн эсвэл стандарт нууц үг ашиглахыг хориглох боломжийг танд олгоно. "Үгүй!" гэж хэлцгээе. нууц үг: "P@ssw0rd", "Qwerty123", "ADm1n098".
Тийм ээ, мэдээжийн хэрэг, хэрэглэгчид өөрсдийн аюулгүй байдалд маш их анхаарал хандуулж, сэтгэл хөдөлгөм нууц үг зохиох хэрэгцээ шаардлагад тань илүү их хайртай байх болно. Мөн таны нууц үгтэй холбоотой тусламж хүссэн дуудлага, хүсэлтийн тоо нэмэгдэх байх. Гэхдээ аюулгүй байдал нь үнэтэй байдаг.

Ашигласан эх сурвалжуудын холбоосууд:
Нууц үгийн шүүлтүүрийн номын сангийн тухай Microsoft-ын нийтлэл: Нууц үгийн шүүлтүүрүүд
PassFiltEx: PassFiltEx
Гаргах холбоос: Хамгийн сүүлийн хувилбар
Нууц үгийн жагсаалт:
Даниел Мисслер жагсаав: Холбоос.
zayıfpass.com сайтаас авсан үгсийн жагсаалт: Холбоос.
berzerk0 репогийн үгийн жагсаалт: Холбоос.
Microsoft Message Analyzer: Microsoft Message Analyzer.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх