OpenLDAP中cn=config与olcDatabase={1}hdb,cn=config的区别及适用场景
OpenLDAP中cn=config与数据库级条目配置拒绝非TLS连接的区别及适用场景
核心差异:全局配置 vs 数据库级配置
cn=config:全局配置节点
这是OpenLDAP服务器的顶级配置条目,在此处设置的规则会作用于整个服务器的所有连接请求、所有数据库实例。比如配置强制TLS后,任何客户端访问服务器上的任意数据库,都必须通过TLS加密连接。olcDatabase={1}hdb,cn=config:特定数据库配置节点
这是针对单个hdb存储后端数据库的配置条目,此处的规则仅对该数据库生效。如果服务器上部署了多个LDAP数据库,只有访问这个特定数据库的连接会受到该配置约束,其他数据库的连接不受影响(除非全局配置有更严格的规则)。
Apple Open Directory的特殊适配
在Apple Open Directory环境中,OpenLDAP使用的存储后端是bdb(对应标准OpenLDAP中的hdb——hdb是bdb的优化版本),因此对应的数据库配置条目会是olcDatabase={1}bdb,cn=config,其作用与标准环境下的hdb数据库条目完全一致,仅命名因Apple的定制化实现不同而有差异。
配置生效差异与场景选择
- 若服务器仅部署单个LDAP数据库,全局配置和数据库级配置的强制TLS规则效果看似相同,但数据库级配置的优先级更高——如果全局配置允许非TLS,而数据库级设置了强制TLS,访问该数据库仍会要求TLS;反之,全局强制TLS时,数据库级无需额外设置也会继承规则。
- 多数据库场景下,全局配置适合统一要求所有连接必须加密;数据库级配置适合精细化管控,比如仅对存储敏感数据的数据库强制TLS,其他数据库允许非TLS连接。
内容的提问来源于stack exchange,提问作者not2savvy
相关产品推荐
相关产品推荐

