Заблокируйте учетную запись пользователя в LDAP (без использования ppolicy)

В этот ответ предлагается, чтобы UNIX-способ добавления ! перед полем пароля мог бы Работа. Я утверждаю, что это не чистое решение. Это не сделает вход в систему невозможным, а просто изменит пароль на буквальное содержание поля пароля (из которого первый символ - ! ).

Например, предположим, что поле пароля теперь выглядит как это:

!{CRYPT}$6$rounds=1000000$xxx$yyy

Здесь xxx обозначает соль, а yyy - хэш. Эта строка теперь будет паролем пользователя. Для многих практических целей это означает, что пользователь больше не может войти в систему, поскольку не знает своей соли. Но, теоретически, угадав соль, логин все же возможен. Что еще хуже, если злоумышленник получит базу данных LDAP, он теперь может легко войти в эту "заблокированную" учетную запись, поскольку хеширование, очевидно, больше не используется.

Как это можно сделать вместо этого?

2
задан 14 September 2019 в 17:38
2 ответа

Измените поле пароля на следующее:

{CRYPT}!$6$rounds=1000000$xxx$yyy

Или следующее:

{CRYPT}$6$rounds=1000000$xxx$!yyy

Согласно моим тестам, это делает невозможным аутентификацию пароля.

Однако это не распространяется на другие способы аутентификации, например с помощью ключа SSH. Чтобы скрыть это, по крайней мере, оболочка должна быть установлена ​​на / bin / false . Настоятельно рекомендую совместить это с другой мерой. В комментариях предлагалось отключить ~ / .ssh / authorized_keys . Вероятно, более безопасный способ - изменить основную группу пользователя на группу, которой не разрешено подключаться к машине по SSH (для этого можно использовать функцию SSHD DenyGroups или AllowGroups . ).

1
ответ дан 3 December 2019 в 12:29

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

1
ответ дан 6 February 2020 в 08:49

Теги

Похожие вопросы