Думаю, каждый из администраторов когда-либо сталкивался с проблемой использования легких и стандартных паролей. Такое явление часто встречается среди верхних эшелонов руководства компании. Да-да, именно среди тех, кто имеет доступ к секретной или коммерческой информации и крайне нежелательно было бы устранять последствия утечки/взлома пароля и дальнейших инцидентов.
В моей практике был случай, когда в домене Active Directory с включенной парольной политикой
Очень захотелось иметь возможность не только включать парольную политику и определять набор символов, а еще и фильтровать по словарю. Чтобы исключить возможность использования подобного рода паролей.
Компания Microsoft любезно сообщает нам по ссылке, что всякий, кто умеет держать правильно в руках компилятор, IDE и умеет правильно произносить C++, способен сам себе библиотеку нужную скомпилировать и использовать по своему разумению. Ваш покорный слуга на такое не способен, вот и пришлось искать готовое решение.
После
Вариант №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 => Notification Packages
Добавляем PassFiltEx в конец списка. (Расширение указывать не нужно.) Полный список пакетов используемых для проверки будет выглядеть вот так "rassfm scecli PassFiltEx".
- Перезагружаем контроллер домена.
- Повторяем вышеуказанную процедуру для всех контроллеров домена.
Также можно добавить следующие записи реестра, что дает большую гибкость в использовании данного фильтра:
Раздел: HKLM\SOFTWARE\PassFiltEx — создается автоматически.
- HKLM\SOFTWARE\PassFiltEx\BlacklistFileName, REG_SZ, Default: PassFiltExBlacklist.txt
BlacklistFileName — позволяет указать кастомный путь к файлу с шаблонами паролей. Если у этой записи реестра пустое значение или она не существует, то используется путь по умолчанию, а именно — %SystemRoot%\System32. Можно указать даже сетевой путь, НО нужно помнить, что у файла шаблонов должны быть выставлены четкие разрешения на чтение, запись, удаление, изменение.
- HKLM\SOFTWARE\PassFiltEx\TokenPercentageOfPassword, REG_DWORD, Default: 60
TokenPercentageOfPassword — позволяет указать процентное вхождение маски в новый пароль. По умолчанию значение равно 60%. Например, если указано процентное вхождение 60 и в файле шаблонов есть строка starwars, тогда пароль Starwars1! будет отклонен, в то время, как пароль starwars1!DarthVader88 будет принят, поскольку процентное вхождение строки в пароль менее 60%
- HKLM\SOFTWARE\PassFiltEx\RequireCharClasses, REG_DWORD, Default: 0
RequireCharClasses — позволяет расширить требования к паролям по сравнению со стандартными требованиями сложности паролей ActiveDirectory. Встроенные требования сложности требуют 3 из 5 возможных различных видов символов: Верхний регистр, Нижний регистр, Цифра, Специальный и Unicode. При помощи данной записи реестра можно установить свои требования к сложности паролей. Значение, которое можно указать, — это набор битов, каждый из которых — соответствующая степень двойки.
То есть — 1 = нижний регистр, 2 = верхний регистр, 4 = цифра, 8 = спец символ, and 16 = символ Unicode.
Таким образом, при значении 7 требования будут “Верхний регистр AND нижний регистра AND цифра ”, а при значении 31 — “Верхний регистр AND нижний регистр AND цифра AND спец символ AND символ Unicode”.
Можно даже комбинировать — 19 = “Верхний регистр AND нижний регистр AND символ Unicode”.
Ряд правил при составлении файла шаблонов:
- Шаблоны регистронезависимы. Следовательно, запись в файле starwars и StarWarS будет определяться как одинаковое значение.
- Файл блеклиста перечитывается каждые 60 секунд, таким образом можно спокойно его редактировать, через минуту новые данные уже будут использоваться фильтром.
- На данный момент нет поддержки Unicode для проверки по шаблону. То есть, использовать Unicode символы в паролях можно, но фильтр не сработает. Это не есть критично, потому что не видел я пользователей, которые пароли в юникоде используют.
- Желательно не допускать пустых строк в файле шаблонов. В дебаге потом видно ошибку, когда происходит подгрузка данных из файла. Фильтр работает, но зачем лишние эксепшены?
Для дебага в архиве идут батники, позволяющие создать лог и потом его разобрать при помощи, например, Microsoft Message Analyzer.
Данный фильтр паролей использует Event Tracing for 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.
Для того, чтобы удобно читать выхлоп дебага данного фильтра в Microsoft Message Analyzer рекомендуется использовать следующие настройки:
При остановке лога и разбора в Microsoft Message Analyzer выглядит все примерно вот таким образом:
Здесь видно, что была попытка установить пароль для пользователя — об этом нам говорит волшебное слово SET в дебаге. И пароль был отклонен ввиду наличия его в файле шаблонов и более чем 30% соответствии в вводимом тексте.
При удачной попытке смены пароля видим следующее:
Есть некоторое неудобство для конечного пользователя. При попытке смены пароля, который попадает в список файла шаблонов, сообщение на экране не отличается
Поэтому будьте готовы к звонкам и крикам: «Я ввела пароль как надо, а оно не работает.»
Итог
Данная библиотека позволяет запретить использование простых или стандартных паролей в домене Active Directory. Скажем «Нет!» паролям вида: «P@ssw0rd»,«Qwerty123», «ADm1n098».
Да, безусловно, пользователи полюбят вас еще больше за такую заботу об их безопасности и необходимости придумывать зубодробительные пароли. И, возможно, количество звонков и просьб помочь с паролем у Вас добавится. Но за безопасность приходится платить.
Ссылки на использованные ресурсы:
Статья на Microsoft относительно кастомной библиотеки фильтра паролей: Password Filters
PassFiltEx: PassFiltEx
Ссылка на релиз: Latest Release
Списки паролей:
DanielMiessler lists: Link.
Wordlist from weakpass.com: Link.
Wordlist from berzerk0 repo: Link.
Microsoft Message Analyzer: Microsoft Message Analyzer.
Комментарии (84)
eugene_bx
01.04.2019 18:52Один из основателей OWASP научил хорошей практике по паролям.
Скачиваем базу сломанных аккаунтов и паролей (сейчас уже более миллиарда записей), считаем статистику по паролям и сохраняем пароль если он используется более пяти раз.
Если пользователь пытается ввести пароль который присутствует в базе более 20-и раз, мы запрещаем его использование, а для тех которые используются более пяти раз показываем что он слабый.
Базу паролей обновляем пару раз в год. Особенно полезно для не-англоязычных пользователей, у них специфика немного другая и часто употребимые пароли отличаются от списка заточенных для англоязычных.Charg
01.04.2019 20:58Если пользователь пытается ввести пароль который присутствует в базе более 20-и раз, мы запрещаем его использование, а для тех которые используются более пяти раз показываем что он слабый.
Каким образом запрещаем использование и показываем что слабый? Таким же как описано в статье?eugene_bx
01.04.2019 21:52Можно подобными как описано в статье, мы использовали подобный подход для внешних пользователей с аккаунтами в AD. Они имели возможность управлять аккаунтом только через веб интерфейс и там можно придумать всё что хочется.
Amikko
01.04.2019 19:05+1Вы занимаетесь ерундой. Тем единицам, кто и так придумывал хорошие пароли, вы только осложните жизнь своими политиками, а подавляющее большинство будет как и раньше использовать нечто стандартное, чего в заданном админами блеклисте нет, но все рядом сидящие коллеги в курсе. И на бумажке писать ничего не надо, это может быть что-то типа 345dfh#$% (из соседних клавиш на клавиатуре на основе переключений раскладки и зажимания шифта), что легко запомнить, и все это будут юзать. Вы, конечно, потом, через пару месяцев, добавите и это в блеклист, но народ ведь быстро наловчится сочинять новые лёгкие пароли, удовлетворяющие хотелкам админов.
То же относится к идиотской практике принудительно заставлять менять пароль раз в n месяцев. На какой пароль будут менять? Правильно — например, на тот же самый с приписанной единичкой в конце. С каждой «сменой» пароля цифра инкрементируется. Сам так делаю)
bano-notit
01.04.2019 22:25-2С каждой «сменой» пароля цифра инкрементируется. Сам так делаю)
Значит странный вы безопасник, раз разглашаете алгоритмы генерации своих паролей...
foal
02.04.2019 13:49Раз в 90 дней пароль меняется 6 раз подряд (глубина истории паролей = 5), причем для шестого раза используется исходный пароль. И живём дальше 90 дней со старым :)
Amihailov
02.04.2019 17:39На такую хитрую жопу в GPO есть запрет смены пароля чаще n раз в день.
Не говорю, что это добро, но добавляет еще раунд к кошкам-мышкам.
Barnaby
01.04.2019 19:09+1А почему не токены? Какая вообще мотивация у работника постоянно придумывать и запоминать сложные пароли? Если в интернете он уже давно использует менеджер паролей\блокнот или лепит пару паролей на все сервисы.
Их будут записывать или использовать даты\последовательности. И в чем тогда смысл?
#habr$ne04tort19
— надежный пароль, да? :)
redpax
01.04.2019 20:19«Чем адаптировать людей под машины, лучше машины адаптировать под людей» © Джейсон Джобс
Аппаратный сканер отпечатка и вопрос снят, или сразу мышку со встроенным сканером цена вопроса 2300 рублей.dizaar Автор
02.04.2019 10:14Я дико извиняюсь, а что уже есть интеграции данного решения в Active Directory? Тогда действительно, аппаратный сканер решает.
DrPass
02.04.2019 11:12Конкретные вендорские решения надо смотреть. Конкретно биометрией не интересовался, но раз под смарт-карты и всякого рода носители токенов интеграция с AD сплошь и рядом, то чем вендоры биометрических датчиков хуже?
navion
02.04.2019 14:11Windows Hello вроде умеет что-то подобное, но при первом входе всё равно нужен пароль (также как биометрия на смартфоне).
FSA
02.04.2019 16:12У сканера отпечатков пальцев есть один недостаток. Если кто-то изготовит копию вашего отпечатка, то вы больше не сможете войти нормально в систему, потому что отпечаток нужно будет блокировать. Лучше использовать какие-нибудь аппаратные токены. Их хотя бы можно заменить в случае утери.
DrPass
02.04.2019 16:44Да ничего страшного. В общем случае у вас есть как минимум десять возможностей сменить идентификатор после его компрометации. А то и все двадцать (а если вы мальчик, то даже 21). Этого достаточно. Уже на пятой-шестой попытке взлома вашей учетки с помощью краденых отпечатков пальцев вам надо будет задуматься, а не пора ли вам сменить работу на более безопасную, где за вами не будут бегать толпами шпионы.
dormin
01.04.2019 20:31-1В мелких организациях, где нет службы безопасности это не прокатит. В крупных это применяется уже давно. Смена пароля добавлением еще одного символа в конце тоже не прокатывает. За пароль на листочке приклеенный к монитору можно лишиться премии в лучшем случае. Мало того в обязательном порядке отслеживается подозрительный трафик идущий в интернет. И конечно отслеживается, посещаемые пользователями ресурсы Интернета самые упертые награждаются в конце месяца лишением премии.
HansHelmut
01.04.2019 21:46+1Двойное лишение премии. Подозрительность трафика определяет подозриватель?
dormin
04.04.2019 20:55Нет есть служба ИБ, в головном оффисе, есть софт который анализирует весь исходящий трафик, есть алерты, которые срабатывают на подозрительный трафик и есть очень квалифицированные безопасники, которые по этим алертам анализируют подозрительный трафик и выносят рекомендации, что и где проверять и что искать.
Кстати в больших компаниях премии бывают очень разные и месячные и бонусы по результатам года. Поэтому можно залететь на очень кругленькую сумму. Могут и уволить по представлению безопасников. Наверно поэтому я и ушел в небольшую компанию, там больше возможностей для развития.
maslyaev
01.04.2019 21:24+5Все эти парольные политики бесят неимоверно. Они мешают мне иметь хорошие пароли.
Если меня не насилуют этим идиотизмом, и мне для чего-то нужен действительно мощный пароль, одна из моих стратегий примерно такая:
1. Иду на what3words.com
2. «Показать карту»
3. Нахожу место, с которым связано что-то личное. Какой-нибудь жизненный эпизод. Это место не должно быть туристическим (т.е. макушка Эйфелевой башни не годится) или знаменитым (центр храма Кааба тоже не подойдёт). Например, меня как-то на трассе штрафанули за превышение скорости на 300 рублей в точке «храпящий.инвертировать.плодовитый». Соответственно, сочиняю себе пароль: «храпящий инвертировать плодовитый 300». В блокнотик записываю себе подсказку: «обидно, но могло быть больше».
Удачи алгоритмам подбора пароля. Она им пригодится. Также удачи тем, кто по подсказке будет пытаться угадать, о чём вообще речь.
Сразу этот пароль я, конечно, не запомню. Запомню только после того, как десяток раз схожу за ним в what3words.
Заводишь такой по всем разумным критериям прекрасный пароль, и получаешь в лицо, что, дескать, слабоват, не обеспечивает требований домена. Ну ладно, ну ОК, держите w0rd123Pa$$, плохие злые люди. Подавитесь своей политикой.dizaar Автор
02.04.2019 10:13В этом ключе я абсолютно с Вами согласен. Вопрос в том, что таких пользователей как Вы, которые придумывают себе пароль мнемоническим способом, и подобрать оный, скажем, весьма и весьма затруднительно, таких пользователей, увы, меньшинство. Большая часть предпочитает упрощать себе жизнь всячески и самыми разнообразными методами.
maslyaev
02.04.2019 15:56+1Всё так, но если внимательно посмотреть на саму задачу улучшения качества паролей, то можно заметить, что повсеместно практикуемый подход, мягко говоря, дебильный.
Пароль — это то, что подлинный пользователь знает, а злоумышленник узнать не может. Банальность, конечно, но это полезно вспомнить, чтобы попытаться за это зацепиться. Из этой формулировки сразу следуют две полезные вещи:
1. Пароль должен быть чем-то таким, что пользователь может помнить, не прибегая к дополнительным костылям. Например, пароль «gX3K$9Lwfj%29E#» выглядит хорошим, но его невозможно запомнить, и поэтому пользователь запишет его на бумажку и подсунет под клавиатуру. Это плохой пароль.
2. Существуют способы подбора паролей, которые используются для взлома. Они эволюционируют, но не то что бы бурно. Эволюционируют скорее количественно (облачные вычисления, CUDA, ботнеты, ASIC), чем качественно. Чего-то совсем радикально нового по этой части, насколько мне известно, не появлялось уже очень давно. То есть нам известно, от чего нужно защищаться. Если пароль не может быть с разумными затратами подобран известными методами, то его можно и нужно считать стойким.
Итого имеем два критерия: лёгкость запоминания пользователем и стойкость к известным методам подбора. Где в этих двух простых критериях про регистр букв, цифры и спецсимволы? Да нигде. Повсеместно используемые формальные критерии сложности пароля — попытка загнать большую и сложную проблему в прокрустово ложе некоторого набора правил, составленных без оглядки на те критерии, которые действительно имеют отношение к делу.
В порядке «критикуешь — предлагай». Основа подбора паролей — пробивка словарей с последующим поиском в ширину по мутациям. В качестве словаря берутся:
1. Популярные пароли (всякие «123456», «password», «admin» и далее по списку).
2. Словари слов на разных языках.
3. Базы сломанных аккаунтов.
Поиск в ширину от первых двух имеет смысл, от третьего — слишком затратно. По первым двум ищем минимум расстояния Левенштейна, по третьему просто смотрим попадание. Для п.1 расстояние Левенштейна требуем не меньше, например, 5, а по п.2 — не меньше 3. В результате и алгоритмы подбора остаются не у дел, и не парим пользователя дурацкими требованиями про цифры и спецсимволы.dizaar Автор
02.04.2019 17:00Именно так. По-большому счету, суть вышеприведенного экзерсиса была не в том, чтобы дополнительно усложнить жизнь, требуя разнообразные символы. Это может быть использовано как опция. Я думаю, что Вы неоднократно сталкивались с самыми разнообразными требованиям СБ на тему паролей и прочего. Тут как раз и стояла основная и первоочередная задача — убрать возможность использования в качестве пароля/части пароля сломанных аккаутов/слабых комбинаций.
П.С. Пошел читать про расстояние Левенштейна)maslyaev
02.04.2019 18:24Расстояние Левенштейна — это та шняга, через которую обычно составляют список вариантов замены для подчёркнутых красненьким слов. Минимальное количество мутаций (вставок/удалений/замен), через которые можно одну последовательность буковок превратить в другую. Там довольно прикольный быстрый алгоритм.
Про первоочередную задачу — это всё, конечно, понятно, откуда ноги растут. И подход в духе «а давайте понаставим заборчиков» — тоже обычное дело. И последствия тоже классические: добросовестной публике одни неудобства, от городской шпаны немножко защищает, а профессиональным злоумышленникам только профит, поскольку расслабляет потенциальных жертв чувством ложной защищённости.
EvilBeaver
03.04.2019 07:49Дада. Умникам-одминам желаю подавиться пивом. Мудацкие политики не помогают ничем. Проверяйте пароль не по регулярке, а по длине. 45 символов не надо проверять на наличие цифр собак и долларов
tvr
04.04.2019 11:55Баянище, странно, что ещё не было.Извините, Ваш пароль используется более 30 дней, необходимо выбрать новый!
— Розы.
— Извините, слишком мало символов в пароле!
— Розовые розы.
— Извините, пароль должен содержать хотя бы одну цифру!
— 1 розовая роза.
— Извините, не допускается использование пробелов в пароле!
— 1розовая роза.
— Извините, необходимо использовать как минимум 10 различных символов в
пароле!
— 1грёбаная розовая роза.
— Извините, необходимо использовать как минимум одну заглавную букву в пароле!
— 1ГРЁБАНАЯрозоваяроза.
— Извините, не допускается использование нескольких заглавных букв, следующих
подряд!
— 1ГрёбанаяРозоваяРоза.
— Извините, пароль должен состоять более чем из 20 символов!
— 1ГрёбанаяРозоваяРозаБудетТорчатьУтебяИзЗадаЕслиНеДашьДоступПрямоСейчас!
— Извините, этот пароль уже используется.
navion
01.04.2019 23:00В Lithnet Password Protection можно настроить гранулярную политику паролей через шаблоны GP. Например, для 8-12 символов требовать полный набор, а начиная с двадцати разрешить пароли про лошадей без спецсимволов.
Также комплектный powershell-модуль позволяет проверить базу NTDS на утёкшие пароли.maslyaev
01.04.2019 23:35начиная с двадцати разрешить пароли про лошадей без спецсимволов
Можно. Вот только знают об этом меньше 1% админов. И поэтому по умолчанию требуют спецсимволы :(navion
01.04.2019 23:50Хороший бесплатный инструмент появился совсем недавно, а раньше такая фича была только в дорогущих IdM.
dizaar Автор
02.04.2019 10:19Спасибо за идею, будем посмотреть. Вариант с haveibeenpwned.com намного интереснее, как мне кажется.
navion
02.04.2019 13:07Сам пока только «провёл аудит» на бекапе КД, выставив галку смены пароля найденным пользователям и сразу прибежал злобный программист со словами «как мне поставить старый пароль, который я везде использую?!»
dizaar Автор
02.04.2019 10:34Да, решение интересное. Единственно, я бы подумал насчет 6-гигового файла паролей.
Но, повторюсь, получается даже интересней, чем у меня в статье.
Tzimie
01.04.2019 23:13А каково иметь пароли в ДЕСЯТИ доменах (следы поглощений других компаний), каждый со своей длиной, правилами, временем жизни, а потом слушать тренинги, что вам всего навсего надо придумать мнемоническое правило?
dizaar Автор
02.04.2019 10:21Господа, мне кажется, Вы теряете суть. Смысл был не в том, чтобы раскрутить контору на аппаратные сканеры отпечатков или чтобы пользователи учились
думатьиспользовать мнемонику. Идея в том, чтобы быть уверенным, что в пароле не будет содержаться слабая комбинация. Тут, в частности, никто не мешает использовать уязвимые комбинации при условии, что их процентное вхождение будет менее заданного порога.
Tiasar
02.04.2019 13:51Я свои пароли давно уже делаю по простому принципу, берем осмысленное слово на русском языке и набираем его в латинице, те буквы что не похожи на русские в нижнем регистре пишем в верхнем. Проще показать, к примеру:
старый баркас — CTapbIu_6apKac
солнечное затмение — coJIHe4Hoe_3aTMeHue
цапля в кустах — u,anJIR_B-KycTax
думаю такий пароли не реально забрутфорсить, и любая проверка на сложность покажет очень высокую степень…DrPass
02.04.2019 14:09Нормально. Но сколько вы дней своей жизни уже потратили суммарно на процедуры логина, учитывая, что скорость работа длинного пароля, где символы через один в разных регистрах, невелика?
Tiasar
03.04.2019 10:24Когда рука набита, пароль набирается очень быстро и просто. При желании можно сделать пароль ровно на то количество символов что требует политика (к примеру 8 букв со спецсимволом) на пример Cy66oTa@
paranoya_prod
02.04.2019 14:22+1Пароль меньше 10 символов будет прибавляться единичками и прочими упрощалками. Лучше ограничить минимальную длину в 15 символов и научить пользователей придумывать пароли по схеме: лошадь шоколад ось. То есть, три слова не связанных между собой как — лошадь телега сено. И перестать насиловать их частой сменой пароля — одного раза в год будет достаточно, для особых случаем — раз в полгода.
bestxp
03.04.2019 11:00с одной стороны если у лаптопа есть модуль входа по отпечатку сложность пароля вообще не имеет значения, для остального есть Keepass и подобное, вопрос только запомнить пароль от Keepass, но он уже не подчиняется правилам домена и тд, но иногда все эти свистопляски со сменой пароля выглядят как старая штука про 10 красных роз, где в конце увидишь, этот пароль занят
BugM
Пользователи введут пароль соответствующий всем-всем правилам, запишут его на бумажке и приклеят к монитору. Не запомнить же.
Или не паримся насчет паролей (какие введут, такие и введут) или раздаем токены. Все остальное не работает.
dizaar Автор
Для
существуют административные меры, которыми и нужно регулировать подобное недобросовестное поведение пользователей.rzerda
А ещё можно приказом по предприятию скорость света в пять раз увеличить, но задержки в сетях от этого не уменьшатся.
Всё-таки, почему не 2FA?
dizaar Автор
2FA — это отдельный пункт для разговора. Безусловно, использование двухфакторной аутентификации всегда плюс, но не всегда реализуемо.
BugM
Это же дорого и сложно.
Дорого — примерно 10 долларов на каждого сотрудника сразу, а ведь они еще и терять эти токены будут регулярно.
И сложно — под внезапно заболевшим сотрудником войти реально сложно. Сосед просто залогиниться на его машине не сможет. Надо придумывать, внедрять и всех обучать реально работающим сценариям выхода из ситуации «Ключевой человек заболел, а надо срочно прямо сейчас что-то чем он вчера занимался» Это же какая нагрузка на ИТ отдел будет.
А так поставили некую софтину, организационными мерами всех заставили бумажки с паролями спрятать в безопасное место (спойлер: под клавиатуру) и живут спокойно. Войти любой под любым соседом может, пароли все теперь точно записаны или вообще типовые. И ИТ отделу напрягаться не надо. Они поставили программу гарантирующую безопасные пароли!
eugene_bx
Можно бесплатно попробовать прикрутить TOTP (типа Google authenticator) и использовать телефон в качестве клиента, в определённых сценариях будет работать.
2PAE
Вам на русском попадались варианты внедрения? Что-то в лоб не нашел. :(
dizaar Автор
Пробовал прикручивать multiotp. Неплохой вариант. Пока в рамках домена не рассматривали.
Tzimie
Войти пол внезапно заболевшим сотрудником??? Пароли у вас наверное тоже общие??? Вообще то за вход под чужим эккаунтом сразу расстрел от аудиторов
meved
BugM
Невозможно это слишком сильное слово. С правами админа на используемом софте войти можно под кем угодно. Не сосед, но кто-нибудь зайти сможет в любом случае.
При настоящей необходимости. Мы все живые люди и бывает всякое.
Ну да. Простейшие. Пока не приходится их внедрять действительно для всех. Всех обучать как ими постоянно и для всего использовать. И наконец проверять их реальную работоспособность. На такой задаче может сломаться не один ИТ отдел. Но в общем да, подход абсолютно правильный и к нему надо идти всем у кого не так.
DrPass
Тут два момента. Во-первых, меры безопасности должны оправдывать ценность той информации, которую они призваны защищать. Если это мелкий или средний бизнес, информация не особо секьюрная, сотрудники подразделения взаимозаменяемы и по бизнес-процессу в общем-то работают с одними и теми же данными — то какой смысл строго-настрого запрещать им обходные пути?
Во-вторых, даже для более секьюрных организаций в общем случае точно так же невозможно со 100% гарантией защититься от кейса, когда какая-то важная для бизнеса информация оказывается доступной только под учеткой сотрудника, который внезапно по какой-то причине достать её не может. Поэтому иногда приходится решать, что важнее — прямые интересы бизнеса или соблюдение формальностей.
DolinEA
Нельзя допускать входа под чужими учетными записями. Должно быть делегирование полномочий и дублирование ролей.
Заболел человек — есть его коллега с теми же правами/функциями.
Нет коллеги — есть начальник.
DrPass
Нельзя. А теперь представьте себе ситуацию: сотрудник готовил важный документ на сегодня, сохранил его локально, а отправить на шару не успел, хотел доделать. Диск зашифрованный. Сотрудник утром попал в больницу/увез жену рожать/застрял в лифте. Как делегировать его полномочия, не залезая под его учеткой на его компьютер? И почему нельзя залезать, ведь это корпоративный компьютер, и он принадлежит компании вместе с этой самой учёткой и всеми документами под ней?
DolinEA
Важные документы, предполагающие их коллективное/корпоративное использование должны храниться не локально, а в некоторой среде (PDM, например). И в этой среде документы доступны людям, имеющим соответствующий доступ.
DrPass
Я же не про то, как они там должны храниться. Мы все должны что-то делать, но все иногда что-то делаем не так, как должны. Я как раз про то, как выходить из ситуации, если написанная инструкция не сработала. Даже если в компании есть крутая система документооборота, это совершенно не означает, что пользователи не будут черновики своих документов хранить у себя локально, просто потому, что их так быстрее и удобнее дорабатывать, а закидывать в документооборот только уже когда надо процесс по документу запускать.
saege5b
«ПроектГотовый»
«ПроектГотовыйОт23.14.18»
«ПРОЕКТГОТОВЫЙОтГОМЧСОт22.14.18»
«ПроектГотовыйОтМО+МЧСОт25.14.18»
…
«ПроектГотовыйГОМЧСМОВар2+Лес+Кос»
…
«Проект5(от27.15)Готовый4Все+Вар+Аренд+Земля»
— У всех время сохранения вчера вечером. Нужен последний открытый.
Сотрудник в реанимации.
Реальный случай, кстати. На моей памяти было так несколько раз.
Ещё сотрудник в командировке, в таких далях, что сотовой связи нет вообще. Никакой.
Deosis
Тогда стоит считать, что проекта нет. Сотрудник может нести материальную ответственность, и адекватный админ не станет играть в русскую рулетку в таком случае.
saege5b
Во многих мелких конторах вообще стоит автовход.
игры с металлорамками, мобильники в сейфах и прочее, включая смену паролей раз в неделю — это или бывшие вояки или разветвлённая структура.
Но там это напоминает рассказ про хакера в столовой.
ПыСы. На моей памяти есть завод, который сначала отстроили, а потом оказалось что фундамент массу оборудования не выдержит.
Ещё знаю заведение, где для ввоза техники пришлось сносить свежеотстроенную стену.
Нормально всё: так, объявили выговор и всё.
DrPass
Это всё риторика. Две трети проектных контор работают в таком режиме. А если надо стянуть чужие данные, никто не будет уговаривать админа. Позвонят начальнику админа, а тот его отправит добывать данные, не интересуясь его мнением на этот счет.
DikSoft
Тогда пишется служебка в ИБ, что тогда-то, такому-то сотруднику временно выданы права входа от другого сотрудника. Дали, под контролем поработал, отобрали.
Вернувшийся временно недоступный сотрудник проходит процедуру аутентификации с учётом сброшенной старой. Меняет пароли, перевыпускает ключи или что там ещё было придумано.
Суть не в том, что вообще нельзя прикинуться другим сотрудником, а в том, что это можно сделать только под контролем и только с разрешения ИБ. Т.е. все ходы должны быть записаны.
DrPass
Меры-то существуют. Я не претендую на объективность, говорю только про свой личный опыт (7.5 лет в ИТ банка, потом в обычной крупной коммерческой компании, тоже с высокими требованиями к секьюрности, регулярная смена паролей, за стикеры с паролями сразу же расстрел на месте и т.д.): высший уровень безопасности находится где-то посередине между безразличным отношением к политике паролей и полным закручиванием гаек. Главное требование к секьюрному паролю: сам пользователь должен его легко запоминать. Если политика безопасности это не позволяет сделать, то пользователь не придумает, как натренировать свою память. Но он легко придумает, как обмануть политику безопасности. Пароль не будет написан на стикере, но он будет у пользователя в телефоне, в блокноте в кармане, или они методом проб и ошибок найдут способ шаблонизации паролей, который ваш скрипт не обрабатывает. В общем, какой-то путь обойти всё это и проделать дырку в безопасности всегда найдется.
Nikoobraz
Можно взять строку из песни, записать английской раскадкой, пробелы заменять каким-нибудь спецсимволом. Каждое слово начинать с большой буквы. Запоминается легко, не словарный, гарантированно длинный, а если учесть что может быть выбрана любая строчка из любой песни, расколоть такой пароль врядли получится даже у того, кто осведомлен о методе по которому пароль составлен, и о ваших музыкальных вкусах, а уж у неосведомленного шансов нет. Клеить на монитор разумеется ничего не придется — пароль составлен из песен, которые мы хорошо знаем. Ситуация становится веселее, если пароль из песни не русскоязычной и не англоязычной, ведь тогда раскладка может достаточно существенно отличаться от латиницы, возможно даже некоторые символы будут совпадать с спецсимволами англ. раскладки, и тогда их не нужно будет между слов вставлять. Главное эту раскладку самому знать.
Пример русскоязычного:
F[?Dtnth1Ytujlzq2Ns4Cgfnm8Vyt!Gjvtifk
Пример не русскоязычного:
zg[fgnkf[yq[s0oZwe.
Разумеется это не мои рабочие пароли, но при таком подходе потенциальному взломщику можно пожелать удачи. Тем более, что при необходимости сменить пароль, можно еще такой же за пару минут составить. Так что даже ленивые юзеры могут принять такую модель составления паролей.
BugM
Изменение раскладки добавляет один бит энтропии и океан мучений при каждом вводе пароля с мобильного устройства. Вы точно уверены в том что пишете?
Nikoobraz
Вроде же пароли английской раскладкой вводятся, о каких мучениях для вводящего идет речь? Нам нужно только знать какие символы в других раскладках соответствуют тем же клавишам и не более. С русской проблем вроде ни у кого нет, с нерусскими раскладками — необязательная модификация метода, для тех кто с другими раскладками знаком и потому может себе такое позволить.
Cerberuser
И много Вы знаете людей, которые действительно могут с лёту вспомнить соответствие раскладок?
Nikoobraz
Среди поколений рожденных начиная с 85г. достаточно много. Для более старшего и сами мобильные приложения не интересны. Они будут пользоваться только компьютером, где все буковки чётко подписаны на физической клавиатуре. Да и в принципе мобильные приложения для внутренних корпоративных систем штуковина не то чтобы очень распространенная пока что. Собственно, лично я, вообще ни разу с таким не сталкивался.
DrPass
Молодежь как раз больше пользуется мобильными устройствами и меньше — ПК. И поэтому они ещё хуже знают соответствие букв в разных раскладках на мобильных устройствах. На самом деле такое под силу только матёрому гику, обычный пользователь это в принципе не осилит. Даже я, прекрасно печатая вслепую и на русской, и на английской раскладке, помню это «мышечно», а глядя на мобильную клаву, буду подбирать такой пароль медленно и мучительно.
Nikoobraz
Ну, я вот вообще ни разу не гик, и тем не менее, у меня это получается весьма уверенно. Вполне возможно именно потому, что я пароли по такому принципу составляю уже несколько лет.
В любом случае, такой метод позволяет создавать очень легко запоминающиеся и легко создаваемые пароли, которые гарантированно не являются словарными и почти всегда достаточно длинные. И если безопасность пароля — то, что интересует бизнес, то конкретно запоминаемость + легкость создания обычно являются ключевым фактором для самого пользователя. В конце концов «qwerty123» не из упрямства возникают, и не из желания потроллить админа. Это простой в запоминании пароль, вот и все. К тому же, создание пароля из строк песен позволяет пользователю самовыразиться, что многие делать очень любят. Вот и выходит что такой метод составления достаточно неплохой как компромис между интересом бизнеса в качестве пароля, и интересом пользователя в простоте создания и запоминаемости.
А то о чем вы говорите, действительно может стать проблемой, но:
а) Она возникает только с мобильными устройствами.
б) При использовании таких паролей, скилл узнавать соответствие вырастает сам собой и достаточно быстро. Так что эта проблема отваливается сама собой.
в) Если уж все совсем плохо с этим, можно ради такого метода и уделить часик изучению раскладки. В любом случае это проще, чем убедить рандомного Федю, что ему нужно запомнить и нигде не на листочках не записывать пароль формата «cL8*hsapMm{», и смириться с тем, что такое чудо ему придется запоминать наизусть раз в полгода.
BugM
Вы просто попробуйте ввести с телефона те пароли которые вы сами предложили. Желательно в password поле. Чтобы было не просто посмотреть что же там введено.
2019 год. Мобильные устройства захватили мир. Если у вас их сегодня нет, то завтра они точно будут. Надо все делать с оглядкой на них.
Nikoobraz
Обычно проблем не возникает, и сейчас специально взял и попробовал. Эти два пароля были выдуманы мной сегодня и никогда мною нигде не использовались, а значит у меня нет механической памяти их набора даже на простой клавиатуре, не говоря уж о мобильной. По итогам проверки оба пароля удалось верно набрать. возникли всего 2 проблемы: 1) при вводе русского, сначала забыл, что слова нужно начинать с больших. Пришлось вводить заново; 2) один раз лажанул с одной буквой («ш» с «щ» перепутал). Все. Со вторым паролем проблем не было вообще, даже несмотря на то, что та раскладка существенно менее мне привычна, чем русская. Для первого использования только что составленных паролей, да еще и поле со «звездочками» считаю, что вышло неплохо. На ввод обоих паролей, ушло минуты две. С появлением механического опыта ввода этих паролей проблемы исчезли бы совсем.
Да, вот только для внутренних корпоративных систем, о которых речь и идет, мобильное приложение — далеко не самый удобный и не самый безопасный вариант. Так что позволить себе такое далеко не все могут.
BugM
Везет вам. Я тоже попробовал. Ввел с большим трудом и потратил уйму времени. Мышечно на обычной клавиатуре все помню. На телефонной вообще никак. После каждой пары букв надо переключать раскладку и смотреть где там следующие несколько букв.
Это просто ваши корпоративные системы отстают сильно. Все уже или сделали или делают мобильные варианты всех систем. Все скоро будет. Это действительно удобно для пользователей и выгодно для бизнеса.
Nikoobraz
Не везет, я просто такими паролями уже несколько лет пользуюсь, а вы, видимо, впервые в жизни с таким столкнулись. Попробуйте ввести тот же пароль еще и сегодня, завтра, и еще пару раз втечении недели и вы меня догоните.
Все это гугл или яндекс? В СНГ такие вещи все еще скорее редкость, чем правило. В ближайшие лет 10 ситуация конечно изменится, но все же утверждать, что прямо таки у всех и каждого это уже сейчас есть или в процессе реализации весьма опрометчиво.
BugM
Попробовал. Лучше не стало. Я вполне допускаю что к этому можно привыкнуть за время. Но зачем?
1 дополнительный бит энтропии это настолько мало что даже говорить о нем не стоит. Ради чего все это?
Не только. Уже и до более мелких дошло. Гораздо меньше чем 10 лет. Я бы поставил на пару лет. 10 лет назад это примерно дата выхода «второго» Айфона. Вы сильно недооцениваете скорость развития технологий.
Nikoobraz
Поправка: достаточно короткий промежуток времени.
Как уже писал выше — эффективный компромис между интересами бизнеса и сотрудников.
Со стороны бизнеса это надежность пароля, т.к. он гарантированно получается не словарным и достаточно длинным, что гораздо больше, чем «один бит энтропии» относительно «p@ssvv0rd_1». С наскоку такой пароль не сломать, и не с наскоку тоже. Такой пароль можно взломать только либо взломав самого пользователя, либо взломав базу данных с паролями. А это гораздо сложнее, чем перебором по словарю.
Со стороны пользователя — легкость в создании и запоминании. Такие пароли даже на листиках писать нет смысла, потому что сам сотрудник прекрасно помнит какие слова скрываются за тем же «zg[fgnkf[yq[s0oZwe.»
Я не недооцениваю скорость развития технологий, я знаю о скорости распространения технологий в СНГ.
BugM
Пароль "верно лошадь батарея скрепка" от пароля с теми же словами, но написанным в другой раскладке отличается на 1 бит. И тот и другой состоит из словарных слов. Разработчики словарей и радужных таблиц в курсе существования раскладок, если что.
Пароль написанный нормально удобно вводить, с виду сразу можно сказать где опечатка и исправить ее. А в неверной раскладке это проблема.
Итого мы получаем один дополнительный бит энтропии и заметное усложнение при вводе пароля. Оно того не стоит.
Технологический уровень общий для всех. Энктерпрайз отстаёт от среднего уровня. Но в общем идет в том же направлении. Отставание на 10 лет это настолько плохо для бизнеса, что я даже представить себе такое не могу. Это как сегодня сделать сайт плохо работающий на телефонах. Или нечто работающее только на ИЕ.
DrPass
А почему плохо? В крупном бизнесе проверенность решения зачастую важнее новомодности, а снижение риска отказов важнее апгрейдов на последние версии. Для того под энтерпрайз и существуют отдельные ветки софта с опцией Long-term support, где даже Майкрософт, несущийся как паровоз со сменой потребительских версий, обеспечивает десятилетний суппорт без внесения изменений в функциональность.
Nikoobraz
Разве что словаря Даля. В словарях подбора по частоте встречаемости пароля такие врядли найдутся. А если вам так не кажется, то вы можете и сами проверить предложенные мною два пароля на прочность, попытавшись выловить их подбором по словарям.
А я разве пароли такого формата предлагаю? Умножьте этот «бит энтропии» на склонения, пунктуацию, служебные слова, и замену пробелов угодными создателю спецзнаками. Умножьте его на факт того, что исходные слова вовсе не обязаны быть русскими и будет вам счастье.
Или ваша претензия заключается конкретно в инвертировании раскладки? Если не нравится, можете вводить пароль кирилицей, если ваша парольная политика это позволяет, что не очень вероятно.
И он таков, что то тут то там, всплывают факты утечек ценных данных. С нормальной защитой своих систем большие проблемы даже у крупных компаний. О компаниях поменьше и вовсе говорить не приходится. Мобильное приложение — дополнительный вектор атаки поверх уже существующих. Тем более, если оно предполагает, что сотрудники будут иметь доступ к данным не только с территории предприятия, ведь это автоматически означает доступ ко внутренним системам предприятия из интернета.
Neolodor
Знаю одного админа который в незапамятные времена на ssh рутовый пароль для одной маловажной машины задал по тому же принципу, только не из песни строчку, а посыл далеко и не вежливо. Оказалось тоже неплохо
Iwanowsky
В своей госбюджетной организации мы боролись с пользователями, наклеивающими стикеры с паролями на мониторы, и все равно не можем это побороть окончательно: обязательно у кого-то где-то проявится (хотя и стало значительно реже). Кто-то иконки со святыми клеит на монитор, а кто-то — стикеры с паролями и также молится на эти листочки — типа как бы не ошибиться при вводе пароля. Хотя бы листочки клали под клавиатуру, а не вешали на самом видном месте! Представьте себе, например, кабинет бухгалтера, каждый день — куча посетителей (своих сотрудников и извне), а на мониторе бухгалтерши висит стикер со всеми паролями (АД, вход в БД, Интернет, почта, банк-онлайн и т.д.) И не мудрено, что периодически какие-нибудь недохакеры (все пароли-то известны) получают нелегальный доступ к БД и пр. авторизованным сервисам, и отследить такие заходы не так просто. Недавно зашел к одному начальнику отдела, настраивал ему компьютер, а когда он вышел, взял листок с паролями сотрудников его отдела и отксерил на его МФУ. Потом разбирался с ними и их начальством; ведь так любой их посетитель может поступить.
EvilBeaver
Так может беда в том, что пароли как раз сложные для запоминания? Здесь должна быть картинка из xckd про correct battery horse staple
saege5b
и нельзя повторять пароли последние 50 раз.
И что бы совсем непохожие были.