Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye

Человек, как известно, существо ленивое.
А тем более, когда касается вопроса выбора устойчивого пароля.

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

В моей практике был случай, когда в домене Active Directory с включенной парольной политикой люди бухгалтеры самостоятельно дошли до идеи того, что пароль вида «Pas$w0rd1234» отлично прокатывает под требования политики. Следствием стало повсеместной использование данного пароля везде и всюду. Отличался он иногда лишь набором цифр.

Bendifuna ngenene ukungakwazi ukwenza kuphela umgaqo-nkqubo wegama lokugqitha kwaye ndichaze isethi yeempawu, kodwa ndiphinde ndihluze ngesichazi-magama. Ukungabandakanyi ukuba nokwenzeka kokusebenzisa amagama ayimfihlo.

Компания Microsoft любезно сообщает нам по ссылке, что всякий, кто умеет держать правильно в руках компилятор, IDE и умеет правильно произносить C++, способен сам себе библиотеку нужную скомпилировать и использовать по своему разумению. Ваш покорный слуга на такое не способен, вот и пришлось искать готовое решение.

После длительного часа поиска взору были явлены два варианта решения проблемы. Я, конечно, говорю об OpenSource решении. Ведь платных вариантов — от и до.

Inombolo yokhetho 1. OpenPasswordFilter

Akukhange kubekho zibophelelo malunga neminyaka emi-2 ngoku. Yenza inkonzo yayo eyahlukileyo. Xa uhlaziya ifayile yegama eliyimfihlo, i-DLL ayifuni ngokuzenzekelayo umxholo otshintshileyo; kufuneka uyeke inkonzo, linda ixesha lokuphuma, uhlele ifayile, kwaye uqale inkonzo.

Не айс!

Inombolo yokhetho 2. PassFiltEx

Iprojekthi iyasebenza, iyaphila kwaye akukho mfuneko yokukhaba umzimba obandayo.
Установка фильтра заключается в копировании двух файлов и создании нескольких записей реестра. Файл паролей не в локе, то есть — доступен для редактирования и, согласно задумке автора проекта, он просто вычитывается раз в минуту. Также при помощи дополнительных записей реестра можно произвести дополнительную настройку как самого фильтра, так и даже нюансов парольной политики.

Ewe, ngoko.
Kunikwe: I-Active Directory domain test.local
тестовая рабочая станция Windows 8.1 (для условия задачи — несущественно)
isihluzo sokugqitha PassFiltEx

  • Скачиваем по ссылке последний релиз PassFiltEx
  • Копируем PassFiltEx.dll в C: IWindowsSystem32 (okanye I-%SystemRoot%System32).
    Копируем PassFiltExBlacklist.txt в C: IWindowsSystem32 (okanye I-%SystemRoot%System32). При необходимости дополняем его своими шаблонами
    Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye
  • Ukuhlela isebe lobhaliso: HKLMSYSTEMCurrentControlSetControlLsa => IiPakethi zesaziso
    Yongeza PassFiltEx в конец списка. (Расширение указывать не нужно.) Полный список пакетов используемых для проверки будет выглядеть вот так «rassfm scecli PassFiltEx«.
    Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye
  • Перезагружаем контроллер домена.
  • Siphinda le nkqubo ingentla kubo bonke abalawuli besizinda.

Unokongeza amangeno alandelayo obhaliso, akunika ukuguquguquka ngakumbi ekusebenziseni esi sihluzo:

Isahluko: HKLMSOFTWAREPassFiltEx — создается автоматически.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, Default: PassFiltExBlacklist.txt

    BlacklistFileName — ikuvumela ukuba uchaze umendo olungiselelweyo kwifayile enetemplates zegama lokugqitha. Ukuba olungeno lobhaliso alinanto okanye alukho, ngoko indlela engagqibekanga iyasetyenziswa, ethi - I-%SystemRoot%System32. Ungakhankanya nendlela yenethiwekhi, KODWA kufuneka ukhumbule ukuba ifayile yetemplate kufuneka ibe neemvume ezicacileyo zokufunda, ukubhala, ukucima, ukutshintsha.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, Miyoyo: 60

    iTokenPercentageOfPassword — ikuvumela ukuba uchaze ipesenti yemaski kwigama eligqithisiweyo elitsha. Ixabiso elimiselweyo yi-60%. Umzekelo, ukuba ukwenzeka kwepesenti ngama-60 kwaye umtya westarwars ukwifayile yetemplate, ngoko igama eligqithisiweyo Starwars1! будет отклонен, в то время, как пароль starwars1!DarthVader88 iyakwamkelwa kuba ipesenti yomtya kwigama lokugqitha ingaphantsi kwe 60%

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, Miyoyo: 0

    Ifuna iiCharClasses — ikuvumela ukuba wandise iimfuneko zegama lokugqitha xa kuthelekiswa neemfuneko eziqhelekileyo zokuntsonkotha kwephasiwedi ye-ActiveDirectory. Iimfuno ezintsonkothileyo ezakhelwe ngaphakathi zifuna i-3 kwezi-5 ezinokubakho iintlobo ezahlukeneyo zoonobumba: Unobumba abakhulu, unobumba omncinci, iDigit, eKhethekileyo, kunye ne-Unicode. Ukusebenzisa olu ngeniso lobhaliso, unokuseta iimfuno zokuntsokotha kwephasiwedi yakho. Ixabiso elinokuchazwa liqela lamasuntswana, ngalinye lingamandla ahambelanayo amabini.
    Oko kukuthi, 1 = unobumba omncinci, 2 = unobumba omkhulu, 4 = idijithi, 8 = unobumba okhethekileyo, kunye no-16 = unobumba we-Unicode.
    Ke ngexabiso le-7 iimfuno ziya kuba yi "Upper Case" AND нижний регистра AND цифра ”, а при значении 31 — “Верхний регистр AND unobumba omncinci AND nombolo AND uphawu olukhethekileyo AND Umlinganiswa we-Unicode."
    Можно даже комбинировать — 19 = “Верхний регистр AND unobumba omncinci AND Umlinganiswa we-Unicode."

  • Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye

Inani lemithetho xa usenza ifayile yetemplate:

  • Шаблоны регистронезависимы. Следовательно, запись в файле idabi leenkwenkwezi и Idabi leenkwenkwezi будет определяться как одинаковое значение.
  • Файл блеклиста перечитывается каждые 60 секунд, таким образом можно спокойно его редактировать, через минуту новые данные уже будут использоваться фильтром.
  • На данный момент нет поддержки Unicode для проверки по шаблону. То есть, использовать Unicode символы в паролях можно, но фильтр не сработает. Это не есть критично, потому что не видел я пользователей, которые пароли в юникоде используют.
  • Желательно не допускать пустых строк в файле шаблонов. В дебаге потом видно ошибку, когда происходит подгрузка данных из файла. Фильтр работает, но зачем лишние эксепшены?

Ukulungisa ingxaki, indawo yokugcina iqulathe iifayile zebhetshi ezikuvumela ukuba wenze ilog kwaye emva koko uyahlule usebenzisa, umzekelo, Microsoft Message Analyzer.
Esi sihluzo segama lokugqitha sisebenzisa ukuJonga uMnyadala weWindows.

ETW провайдер для этого фильтра паролей — 07d83223-7594-4852-babc-784803fdf6c5. Ke, umzekelo, ungaqwalasela umkhondo womsitho emva kokuqalisa kwakhona okulandelayo:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

Трассировка будет запущена после следующей перезагрузки системы. Чтобы остановить:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Yonke le miyalelo ichaziwe kwizikripthi StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Ukukhangela ixesha elinye lomsebenzi wokucoca, ungasebenzisa StartTracing.cmd и StopTracing.cmd.
Для того, чтобы удобно читать выхлоп дебага данного фильтра в I-Microsoft Message Analyzer Kucetyiswa ukuba usebenzise ezi zicwangciso zilandelayo:

Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye

Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye

При остановке лога и разбора в I-Microsoft Message Analyzer yonke into ibonakala ngolu hlobo:

Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye

Здесь видно, что была попытка установить пароль для пользователя — об этом нам говорит волшебное слово SET в дебаге. И пароль был отклонен ввиду наличия его в файле шаблонов и более чем 30% соответствии в вводимом тексте.

Ukuba umzamo wokutshintsha igama eligqithisiweyo uphumelele, sibona oku kulandelayo:

Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye

Есть некоторое неудобство для конечного пользователя. При попытке смены пароля, который попадает в список файла шаблонов, сообщение на экране не отличается умом и сообразительностью от стандартного сообщение при непрохождении парольной политики.

Uwavala njani amagama ayimfihlo ahlala ehleli kwaye wenze ukuba wonke umntu akuthiye

Поэтому будьте готовы к звонкам и крикам: «Я ввела пароль как надо, а оно не работает.»

Iziphumo.

Данная библиотека позволяет запретить использование простых или стандартных паролей в домене Active Directory. Скажем «Нет!» паролям вида: «P@ssw0rd»,«Qwerty123», «ADm1n098».
Да, безусловно, пользователи полюбят вас еще больше за такую заботу об их безопасности и необходимости придумывать зубодробительные пароли. И, возможно, количество звонков и просьб помочь с паролем у Вас добавится. Но за безопасность приходится платить.

Ссылки на использованные ресурсы:
Inqaku leMicrosoft malunga nethala leencwadi lokucoca igama eliqhelekileyo: Izihluzi zegama lokugqitha
PassFiltEx: PassFiltEx
Ссылка на релиз: Ukukhishwa Kwamuva
Списки паролей:
DanielMiessler lists: Isixhumanisi.
Uluhlu lwamagama oluvela ku weakpass.com: Isixhumanisi.
Uluhlu lwamagama oluvela kwi-berzerk0 repo: Isixhumanisi.
IsiHlalutyi soMyalezo kaMicrosoft: Microsoft Message Analyzer.

umthombo: www.habr.com

Yongeza izimvo