Я использую slapd под Debian / Squeeze и пытаюсь настроить систему так, чтобы разрешить только TLS-шифрованные соединения с использованием STARTTLS на порту 389.
Итак, я настроил свой / etc / default / slapd для прослушивания порта 389:
SLAPD_SERVICES="ldap://:389/"
Я создал сертификат и включил TLS, добавив следующие записи в /etc/ldap/slap.d/cn=config.ldif
olcTLSCertificateFile: /etc/ssl/openldap/ca-cert.pem
olcTLSCertificateKeyFile: /etc/ssl/openldap/ca-key.pem
И, наконец, я добавил /etc/ldap/slapd.conf со следующим содержимым:
security tls=256
С этой конфигурацией я могу запускать зашифрованные TLS-соединения, используя:
ldapsearch -ZZ -H ldap://127.0.0.1:389 -D "cn=admin,dc=example,dc=net" -w "password"
Но помимо этого незашифрованные соединения все еще работают с использованием:
ldapsearch -H ldap://127.0.0.1:389 -D "cn=admin,dc=example,dc=net" -w "password"
С моей точки зрения, директива безопасности в /etc/ldap/slapd.conf вообще не используется. Также, когда я пытаюсь преобразовать slapd.conf в формат конфигурации cn = config, я ясно вижу, что директива безопасности не включена в результирующие файлы конфигурации cn = config.
Кто-нибудь знает, что там происходит и как изменить конфигурацию, чтобы запретить незашифрованные соединения?
Вы заявили, что все соединения TLS должны иметь силу 256.
Вы ничего не заявили о других типах подключений.
Возможно ты хотел security minssf=256
?
man slapd.conf
разделы sasl-secprops
и security
Чтобы получить больше информации.
Я понял, что проблема в том, что я был cn = configформат конфигурации стиля (я знал об этом), но я подумал /etc/ldap/slapd.conf
тоже будет использоваться. С дополнительной записью olcSecurity: tls=128
в /etc/ldap/slapd.d/cn=config.ldif
все работает как положено.