Защита сервера ldap от блокировки учетных записей, вызванной атаками методом перебора - PullRequest
0 голосов
/ 04 декабря 2018

Во время тестирования сервера ldap против bruteforce с использованием patator ldap_login я выяснил, что проверенная учетная запись блокируется после обхода ограничений разрешенных попыток входа в систему.Используя этот инструмент, злоумышленник может заблокировать все учетные записи в компании. Как лучше всего защититься от такой блокировки?

1 Ответ

0 голосов
/ 04 декабря 2018

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

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

Я ограничиваю доступ к серверам каталогов LDAP с помощью брандмауэра ОС и, для серверов LDAP, которые предоставляют такую ​​функцию, контроль доступа на уровне приложений.Это делает больше работы для группы поддержки каталогов, потому что каждое новое приложение должно быть настроено на доступ к LDAP, но какой-то случайный человек не может просто запустить инструмент на своем рабочем столе и заблокировать весь каталог.Один из авторизованных серверов все еще может быть использован в качестве источника атаки, но я могу отбросить доступ с этого IP при обнаружении атаки.

Ограничение доступа к серверу каталогов LDAP / LDAPS не мешает случайному человеку использовать утвержденное приложение для отправки запросов аутентификации (например, что-то вроде "curl --user username: NotThePassword https://businessapp.domain.gTLD" илиОтправка имени пользователя / NotThePassword в правильный URL-адрес авторизации разрешил серверу выполнить вызов LDAP от моего имени.) Существует множество способов смягчить атаки такого рода:

У меня были приложения, включающие класснуюпериод, когда они начинают получать серию плохих паролей - 6 плохих паролей блокируют учетную запись на стороне каталога, но приложение дает вам 10-минутный тайм-аут, когда вы не можете повторить попытку авторизации с 2 или 3 плохими паролями за 5 минутИли выдает проверку «действительно ли вы человек».

Вы можете настроить политику паролей для блокировки учетных записей в течение X минут после неправильных паролей Y. Это означает, что злоумышленнику потребуется постоянная атака на определенный идентификатор для оставьте заблокированным для значительногопромежуток времени.В то время как злоумышленник может заблокировать весь каталог, воздействие на пользователей сводится к минимуму.X минутная пауза делает атаки методом перебора паролей довольно неэффективными и обычно получает одобрение от типов безопасности.

Наличие идентификаторов пользователей, которые нелегко найти в алгоритме, немного помогает.Например, я работал в компании, где идентификаторы пользователей были статическими буквами, за которыми следовали пять цифр.Прохождение всего пространства имен их возможных идентификаторов пользователей было тривиальным, и любой, кто работал там, знал формат идентификатора.Пространство имен идентификаторов с большим количеством возможных итераций затрудняет блокировку значительной части пользователей (т. Е. Требуется больше времени для обхода всех возможных комбинаций букв и цифр длиной от трех до двадцати символов {и большая часть атаквыполняется для учетных записей, которые не существуют}, чем требуется для обхода пространства имен X #####).

Убедитесь, что все приложения возвращают одинаковую ошибку и для неверного имени пользователя или пароля - если вы укажете «неверное имя пользователя»если идентификатор не найден и «неверный пароль» в случае сбоя пароля, злоумышленник может быстро обойти любые идентификаторы, которые не существуют.Возвращая «неверное имя пользователя или пароль», им приходится тратить время на попытки заблокировать несуществующие идентификаторы.

Для более крупной сети можно использовать систему обнаружения вторжений (IDS), которая включает сетевой трафик и анализ журналов.Но данные журнала сервера каталогов можно анализировать с помощью платформы мониторинга или пользовательских сценариев.Я генерирую оповещения, когда происходит ненормальное количество блокировок - работая в довольно крупной компании, я вижу около ста блокировок в обычные рабочие часы и одну или две в ночное время.Если в рабочие часы мы наблюдаем больше, чем за несколько часов, или даже за тысячу, источник блокировки получит уведомление о расследовании.И если блокировки начинают становиться особенно чрезмерными, мы можем позвонить, чтобы удалить исходный IP-адрес из списка доступа к серверу каталогов, пока команда приложения не выяснит, что происходит.

...