LINUX.ORG.RU
ФорумAdmin

Samba AD DC TLS error - Failed to set default priorities

 , , ,


0

1

Решаю задачу создания автоматического создания пользователей в домене Active Directory.

Имею Samba 4.19.1 установленную из исходников на Centos 7 и настроенную как контроллер домена по этой инструкции https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller

Могу создать пользователя из кода (Python и библиотека ldap3), но чтобы задать пароль требуется использовать шифрование (LDAPS), Samba поддерживает это по умолчанию и при запуске даже генерирует сертификаты в /usr/local/samba/private/tls/

Однако когда я пытаюсь подключиться к контроллеру домена командой

openssl s_client -showcerts -connect localhost:636

то получаю ошибку

139681239324560:error:140790E5:SSL procedures:ssl23_write:ssl confirmation error:s23_lib.c:177: peer certificate unavailable

в логах Samba вижу следующее

[2024/04/19 12:37:30.259588,  0] ../../source4/lib/tls/tls_tstream.c:1383(_tstream_tls_accept_send)
  _tstream_tls_accept_send: TLS ../../source4/lib/tls/tls_tstream.c:1383 - The request is invalid.. Failed to set default priorities

Исключение бросает вот этот метод в Tls_tstream.c:1383

ret = gnutls_set_default_priority(tlss->tls_session);
        if (ret != GNUTLS_E_SUCCESS) {
                DBG_ERR("TLS %s - %s. Failed to set default priorities\n",
                        __location__, gnutls_strerror(ret));
                tevent_req_error(req, EINVAL);
                return tevent_req_post(req, ev);
        }

Перед сборкой Samba я установил зависимости, среди которых были

gnutls, compat-gnutls37-devel, compat-gnutls37-utils

При конфигурировании GnuTLS успешно прошел проверку

Checking for GnuTLS >= 3.7.2 : yes

Конфиг Samba (smb.conf)

[global]
        dns forwarder = 8.8.8.8
        netbios name = DC1
        realm = SAMDOM.COM
        server role = active directory domain controller
        workgroup = SAMDOM
        idmap_ldb:use rfc2307 = yes

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/samdom.com/scripts
        read only = No

Насколько я понимаю, gnutls не может установить приоритет протоколов шифрования по умолчанию, как можно это исправить?

p.s. Samba с тем же конфигом, но установленная на Ubuntu из репозитория работает без нареканий, но на предприятии Centos 7 в репозитории которого вариант Samba без поддержки AD DC, поэтому собираю из исходников.



Последнее исправление: Guard (всего исправлений: 6)

Ответ на: комментарий от demo13

Пробовал, это по сути дефолтные значения. В общем в качество обходного пути пока использую Powershell + ADSI + Элицея (Антидепрессант). ADSI не требует шифрованного подключения.

Guard
() автор топика