上節中,我們實現了使用證書免密碼登錄郵箱和管理控制檯。
細心的朋友會發現,直接訪問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:7071
的訪問都將被重定向到:
https://mail.imycloud.com:9443/certauth
https://mail.imycloud.com:9443/certauth/admin
進行登錄。發現登陸時都強制使用證書認證方式登錄。
用戶將徹底拋棄密碼的煩惱。只要拿着私鑰,就可以隨時隨地的登錄自己的郵箱。
zimbra證書認證,應該也可以跟AD+CA結合。實現域中的用戶證書同一認證。有機會做下嘗試。