细心的朋友会发现,直接访问https://mail.imycloud.com访问邮箱,还是需要用户名和密码认证,没有使用证书认证。要想使用证书认证还得在域名后面加”:9443/certauth”,很麻烦,所以,我们现在就来完善一下证书双向认证登录。
更多内容,请访问 Darren博客
基本思路:
修改默认登录url来实现。
强制用户在访问https://mail.imycloud.com的时候定向到https://mail.imycloud.com:9443/certauth和https://mail.imycloud.com:9443/certauth/admin
首先,添加一个虚拟主机:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com +zimbraVirtualHostname mail.imycloud.com
凡是访问mail.imycloud.com的请求,都将被重定向。
修改web客户端登录url,强制重定向到证书认证端口:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com zimbraWebClientLoginURL ‘https://mail.imycloud.com:9443/certauth’
修改web客户端注销url,使得再次登录也得需要证书登录,并且可以实现快捷登录:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com zimbraWebClientLogoutURL ‘../?sso=1′
修改管理控制台登录url,强制重定向到证书认证端口:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com zimbraAdminConsoleLoginURL ‘https://mail.imycloud.com:9443/certauth/admin’
修改管理控制台注销url,效果跟web客户端注销一样:
root@mail:/opt/zimbra#/opt/zimbra/bin/zmprov md imycloud.com zimbraAdminConsoleLogoutURL ‘../?sso=1′
注意:最后一条命令建议不配置,因为管理控制台注销时不支持’../?sso=1′这种方式,如果配置了这条命令,当你在管理控制台中点击注销时,系统会先注销然后再自动登录进管理控制台。这是zimbra的bug。
重新启动mailbox服务:
root@mail:/opt/zimbra# su zimbra
zimbra@mail:~$ zmmailboxdctl restart
Stopping mailboxd…done.
Starting mailboxd…done.
接下来,测试访问:
https://mail.imycloud.com
https://mail.imycloud.com:7071
的访问都将被重定向到:
https://mail.imycloud.com:9443/certauth
https://mail.imycloud.com:9443/certauth/admin
进行登录。发现登陆时都强制使用证书认证方式登录。
用户将彻底抛弃密码的烦恼。只要拿着私钥,就可以随时随地的登录自己的邮箱。
zimbra证书认证,应该也可以跟AD+CA结合。实现域中的用户证书同一认证。有机会做下尝试。