可以配置接受 DSML 请求时所需的安全级别。要执行此操作,必须配置 DSML 客户端验证。
设置 DSML 客户端验证模式。
$ dsconf set-server-prop -h host -p port dsml-client-auth-mode:dsml-mode |
默认情况下,dsml-client-auth-mode 属性设置为 client-cert-first。
dsml-mode 可为以下任一选项:
http-basic-only - 此为默认值。服务器使用 HTTP“授权”头的内容来查找可以映射到目录中某个条目的用户名。此过程及其配置都通过 SSL 进行了加密,但不使用客户端证书。相关内容如DSML 标识映射中所述。
client-cert-only - 服务器使用客户端证书中的凭证来识别客户端。使用此值时,所有 DSML 客户端都必须使用安全 HTTPS 端口发送 DSML 请求并提供证书。服务器会检查客户端证书是否与目录中的条目相匹配。有关详细信息,请参见第 5 章,目录服务器安全性。
client-cert-first - 服务器首先尝试使用客户端证书(如果提供)来验证客户端。如果未提供证书,服务器将使用“授权”头的内容来验证客户端。
如果 HTTP 请求中既未提供证书又未提供“授权”头,服务器将使用匿名绑定执行 DSML 请求。匿名绑定还将用于以下情形:
指定 client-cert-only 时,客户端提供了有效的“授权”头但未提供证书。
指定 http-basic-only 时,客户端提供了有效证书但未提供“授权”头。
无论使用哪种客户端验证方法,如果提供证书但该证书与条目不匹配,或者指定 HTTP“授权”头但无法将其映射到用户条目,则 DSML 请求都将被拒绝,并显示错误消息 403:“禁止”。