gnutls против openssl с openldap, debian и centos
У меня есть сервер Debian 6.0.5, работающий с openldap. Похоже, что он составлен против gnutls. Я использовал certtool gnutls для создания самозаверяющего сертификата и использовал его на нескольких клиентских компьютерах Debian для аутентификации на сервере openldap.
Однако, когда я пытаюсь сделать то же самое на клиенте CentOS 6, я получаю следующую ошибку для ldapsearch:
ldap_initialize( <DEFAULT> )
ldap_start_tls: Can't contact LDAP server (-1)
additional info: TLS error -8101:Certificate type not approved for application.
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Если я запускаю gnutls-cli-debug на клиенте CentOS, я получаю следующее:
gnutls-cli-debug -p 636 ldap.blahblah.com
Resolving 'ldap.blahblah.com'...
Connecting to '10.6.0.11:636'...
Error in %INITIAL_SAFE_RENEGOTIATION
Checking for Safe renegotiation support...
И это все - оно умирает.
Кто-нибудь был в состоянии сделать ldaps в такой установке, связанный сервер gnutls, сгенерированный сертификат gnutls, связанный клиент openssl?
Спасибо!
1 ответ
Я думаю, что вы можете атаковать это одним из двух способов: получить ldapsearch
клиент для работы с использованием существующих сертификатов или создания новых сертификатов, которые ему нравятся. Лично я мог бы представить, что изменить сертификат сервера проще, чем изменить ldapsearch
код, так вот что я посмотрел.
Вышеуказанная ошибка говорит о том, что в сертификате на стороне сервера чего-то не хватает (т. Е. Клиент не хочет общаться с вашим сервером, поскольку он не идентифицируется должным образом).
Для начала я проверил сертификат, используемый случайным сервером LDAP, в данном случае directory.washington.edu
, Если вы зацепите его сертификат, например:
openssl s_client -connect directory.washington.edu:636 > dirwash.crt
а затем сделать:
openssl x509 -in dirwash.crt -text
вот увидишь:
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment
X509v3 Extended Key Usage:
TLS Web Client Authentication, TLS Web Server Authentication
Другие серверы LDAP (например, ldap.virginia.edu
) вообще не имеют таких расширений. Другие, как ldap.itd.umich.edu
есть вариация из вышеперечисленного:
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
Короче говоря, я предлагаю вам проверить свой сертификат сервера - опубликуйте его здесь, если хотите - чтобы увидеть, содержит ли он X509v3 (Extended) Key Usage
расширения и, если да, то выглядят ли они как используемые на других серверах LDAP.
Я видел почтовую ветку, в которой предлагалось, чтобы: (1) расширения отсутствовали; или (2) если расширения присутствуют, они должны содержать как минимум TLS Web Server Authentication
, Я не знаю, правда ли это в этом случае, но что-то нужно учитывать в любом случае.