В течение последних нескольких недель я настраивал единый вход для нашей маленькой компании. Прямо сейчас у меня есть сервер под управлением OpenLDAP 2.4.4 с Kerberos (openldap backend). Пользователи могут войти в систему и получить билет от krb, также используя SASL. Я могу подключить веб-приложения к LDAP, которые будут аутентифицироваться с помощью Kerberos (атрибут userPassword - {SASLgotiuser_name@MY.DOMAIN).
Все было замечательно, пока нам не понадобилось веб-приложение для самообслуживания пользователей (первая активация учетной записи, сброс пароля и т.д.), После поиска некоторых решений я нашел PWM (https://github.com/pwm-project). /pwm), после настройки PWM я заметил кое-что, пытаясь изменить пароль PWM с попыткой записи в атрибут "userPassword", но этот атрибут просто указывает OpenLDAP для аутентификации с помощью kerberos. После поисков я не смог найти ни одно веб-приложение, которое поддерживает администрирование ldap с аутентификацией kerberos, то есть приложение, которое будет изменять пароль kerberos, а не атрибут "userPassword" в OpenLDAP. Поэтому я изменил "userPassword", чтобы он содержал реальный пароль, и с помощью smbkrb4pwd я могу синхронизировать пароли в LDAP и kerberos. Хорошо, но я понял, что если я изменю пароль в Kerberos, пароль в LDAP не изменится, только если я изменю его в LDAP, тогда smbkrb4pwd обновит его в Kerberos. Вздох, нет проблем, я просто настрою PAM для использования ldap для "passwd".
И сегодня я начал настраивать политики паролей, после завершения политики в LDAP я обнаружил, что мне нужно создать отдельную в Kerberos, нельзя ли просто использовать такую же в LDAP? хорошо. Итак, обе политики паролей работали нормально, учетные записи блокируются после неудачных попыток X, отлично, но потом я обнаруживаю, что если я заблокирую свою учетную запись в OpenLDAP, я все равно смогу попытаться пройти аутентификацию в kerberos.
Итак, я полностью потерялся в том, как продолжать. Есть ли веб-приложение, которое знает, как изменить пароли в Kerberos? Как я могу синхронизировать блокировку аккаунта в LDAP и kerberos?