Версия - samba-4.18.8-alt1 Дистрибутивы - ALT Server 10.1, обновлённый до Sisyphus Предусловия - Настроенный Windows Server 2012R2 с AD. - Пользователь с включенной опцией Требовать смены пароля при следующем входе test1 - Пользователь с просроченным паролем test2 Шаги воспроизведения 1. Ввести машину в домен (WinBIND): apt-get install -y task-auth-ad-winbind pwgen alterator-gpupdate && \ DOMAINNAME="altad.testdoma" && \ SERVERIP=<SERVER IP> && hostname=$(pwgen -1 -A) && \ hostnamectl set-hostname $hostname.${DOMAINNAME} && \ echo -e "name_servers=${SERVERIP}\nsearch_domains=${DOMAINNAME}" >> /etc/resolvconf.conf && \ reboot system-auth write ad "altad.testdoma" "$(hostname --short)" "ALTAD" Admin '$Password1' --winbind --gpo && reboot 2. На клиенте изменить уровень логирования аутентификации для pam_winbind: # sed -i "s|pam_winbind.so krb5_auth|pam_winbind.so krb5_auth pwd_change_prompt debug|g" /etc/pam.d/system-auth-winbind-only Перезагрузить систему, изменив параметр смены паролей: # sed -i '/machine password timeout = 0/d' /etc/samba/smb.conf && \ reboot Попытаться войти в систему доменным пользователем test1 с включенной опцией Требовать смены пароля при следующем входе: 1. Ввести старый пароль два раза. 2. Ввести новый пароль два раза. Ожидаемый результат: изменения пароля и вход пользователя Фактический результат: пароль не изменён, вход пользователя заканчивается с сообщением Неверный пароль, попробуйте ввести ещё раз в логах LightDM: [+90.19s] DEBUG: Continue authentication [+90.81s] DEBUG: Session pid=3231: Authentication complete with return value 4: Системная ошибка [+90.81s] DEBUG: Authenticate result for user test1: Системная ошибка Аналогичная ошибка с пользователем test2, у которого просрочился пароль. В P10 не воспроизводится.
Давайте проверим на 4.19 #333680 TESTED #5 [test-only] sisyphus libtalloc.git=2.4.1-alt1 libtdb.git=1.4.9-alt1 libtevent.git=0.15.0-alt1 libldb.git=2.8.0-alt1 samba.git=4.19.2-alt1 sssd.git=2.9.2-alt1 admc.git=0.14.0-alt1 gpui.git=0.2.37-alt1 freeipa.git=4.9.12-alt1
(Ответ для Evgeny Sinelnikov на комментарий #1) > #333680 TESTED #5 [test-only] sisyphus libtalloc.git=2.4.1-alt1 > libtdb.git=1.4.9-alt1 libtevent.git=0.15.0-alt1 libldb.git=2.8.0-alt1 > samba.git=4.19.2-alt1 sssd.git=2.9.2-alt1 admc.git=0.14.0-alt1 > gpui.git=0.2.37-alt1 freeipa.git=4.9.12-alt1 Воспроизводится согласно описанию.
Данная проблема связана отсутствием апдейтов на Windows сервере. Ключевая точка - в samba-4.17 появилась новая функция в для смены пароля: * https://gitlab.com/samba-team/samba/-/commit/3469895aca624cf3fcf56c612fe4469bb03a8b5d В WHATSNEW.txt релиза 4.17.3 для этого фикса есть исправление: * https://bugzilla.samba.org/show_bug.cgi?id=15206 ... * BUG 15206: libnet: change_password() doesn't work with dcerpc_samr_ChangePasswordUser4(). ... Старая версия Windows Server 2012R2 отбрасывает этот запрос и закрывает соединение. Данная функция описана в спецификации MS-SAMR: [MS-SAMR]: Security Account Manager (SAM) Remote Protocol (Client-to-Server) * https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-samr/4df07fab-1bbc-452f-8e92-7853a3c7e380 3.1.5.10.4 SamrUnicodeChangePasswordUser4 (Opnum 73) * https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-samr/bbc1c5e5-9b81-4038-b2b9-c87d3569ed38 Исправление по безопасности вышло 13 июля 2021г.: KB5004605: обновление добавляет защиту шифрования AES к протоколу MS-SAMR для CVE-2021-33757 * https://support.microsoft.com/ru-ru/topic/kb5004605-обновление-добавляет-защиту-шифрования-aes-к-протоколу-ms-samr-для-cve-2021-33757-e4daa133-54aa-4a5d-a921-04bb50868fc2 * https://support.microsoft.com/en-us/topic/kb5004605-update-adds-aes-encryption-protections-to-the-ms-samr-protocol-for-cve-2021-33757-e4daa133-54aa-4a5d-a921-04bb50868fc2 * https://msrc.microsoft.com/update-guide/advisory/CVE-2021-33757 Старый метод с RC4 - SamrUnicodeChangePasswordUser2 (OpNum 55) Новый метод с AES - SamrUnicodeChangePasswordUser4 (OpNum 73) Новости: * https://msreview.net/windows-10/4364-microsoft-vypustila-windows-10-build-190411110-190421110-i-190431110.html * https://msreview.net/windows-7/4367-stali-dostupny-ijulskie-nakopitelnye-obnovlenija-dlja-windows-7-i-windows-81.html * https://www.blumira.com/sam-database-vulnerability/ Качается в паках, один из них: July 13, 2021—KB5004285 (Security-only update) * https://support.microsoft.com/en-us/topic/july-13-2021-kb5004285-security-only-update-76461c8b-4aef-4a94-acb1-78b6d9bdd220 Скачивание: Обновление качества (только система безопасности) для систем Windows Server 2012 R2 на базе процессоров x64 (KB5004285), 07 2021г. * https://www.catalog.update.microsoft.com/Search.aspx?q=KB5004285
(Ответ для Evgeny Sinelnikov на комментарий #3) > Обновление качества (только система безопасности) для систем Windows Server > 2012 R2 на базе процессоров x64 (KB5004285), 07 2021г. > * https://www.catalog.update.microsoft.com/Search.aspx?q=KB5004285 Подтверждаю, установка этого обновления решает проблему.