使用证书保护网站--兼谈证书服务器吊销列表的使用
現在許多企業與個人,都擁有屬于自己的網站,并且發布在Internet供朋友、合作伙伴或其他人所訪問,但是,在許多情況下,某些發布到Internet的網站,只想讓指定的用戶或指定的人來訪問,那么應該怎么辦呢?我想,可能的方法有:
ü 限制客戶端的IP地址
ü 在網站中,取消匿名訪問權限,只讓擁有用戶名與密碼的人訪問
ü 搭建證書服務器為指定的用戶頒發證書只讓擁有證書的客戶端訪問
在這三種方法中,各有利弊:
(1)對于某些用戶來說,IP地址可能是經常要變的。另外,如果訪問的用戶比較多,就需要頻繁的維護一張列表,當用戶IP地址更改時需要在服務器上修改。
(2)取消“允許匿名訪問”權限的方法最簡單,但用戶名與密碼可能很容易“泄露”。
(3)使用證書方法最安全,但需要維護證書服務器。
本節介紹配合證書服務器、讓指定用戶訪問網站的方法,網絡拓撲如圖1所示。
圖1 網絡拓撲牢圖
在圖1中,證書服務器、網站服務器、內網用戶在同一個局域網中,網站服務器中有一個測試網站,通過防火墻發布到Internet,對外服務地址是https://61.x.x.6:6688,Internet網絡用戶可以使用該地址訪問“網站服務器”發布的網站,而內網用戶,可以直接通過IP地址https://192.168.1.8(或端口或內部域名)訪問該網站。
在這個案例中,各服務器的主要配置步驟如下:
(1)在“證書服務器”上安裝“標準證書服務器”。
(2)在“網站服務器”上配置網站,并從“證書服務器”申請用于網站的“服務器”證書。
(3)使用“防火墻”發布“網站服務器”與“證書服務器”到Internet,例如,可以將證書服務器用TCP的432端口發布,將網站服務器用TCP的6688端口發布。即將61.x.x.6的TCP的432端口轉發到192.168.1.35的80端口,將61.x.x.6的TCP的6688端口轉發到192.168.1.8的443端口。
(4)“內網用戶”從“證書服務器”申請證書,“Internet網絡用戶”通過http://61.x.x.6:432/certsrv申請證書。申請的證書類型為“客戶端身份驗證證書”,如圖2所示。
圖2 申請“客戶端身份驗證證書”
(4)管理員登錄“證書服務器”,進入“證書頒發機構”,頒發用戶與服務器申請的證書。
(5)在“網站服務器”,從“證書服務器”獲得并安裝證書,然后配置網站,要求客戶端證書(在網站“目錄安全性→安全通信→編輯”進入“安全通信”對話框,選中“要求安全通通(SSL)”與“要求客戶端證書”選項),如圖3所示。
圖3 要求客戶端證書
(6)客戶端獲得并安裝證書,并“信任”證書頒發機構,然后登錄https://61.x.x.6:6688,在彈出的對話框中,選擇安裝的用戶證書(如圖4所示),就可以瀏覽使用證書保護的網站了。
圖4 選擇用戶證書
這樣就達到了我們的目的。對于管理員來說,如果不想讓某個用戶繼續訪問網站,則在“證書服務器”上“吊銷”該用戶的證書并發布證書吊銷列表即可。
在上述配置中,一個特別注意的問題就是:“網站服務器”必須要能訪問“證書服務器”的吊銷列表,否則,當用戶訪問網站時會出現“HTTP 403.13 禁止訪問: 客戶證書己在web服務器上吊銷”的錯誤,如圖5所示。
圖5 出現HTTP403.13錯誤
當出現這個錯誤時,用戶首先想到的可能就是客戶端證書已經被吊銷,但許多情況下,并不是用戶證書被吊銷,而是網站服務器無法訪問證書服務器的證書吊銷列表 (CRL)導致無法檢查證書的吊銷狀態時,也會發生該錯誤消息。那么,怎樣檢查網站服務器能否訪問證書吊銷列表呢?你可以通過如下的方式驗證。
在網站服務器上,登錄證書申請頁面http://192.168.1.35/certsrv,單擊“下載一個 CA 證書,證書鏈或 CRL”鏈接,在“下載 CA 證書、證書鏈或 CRL”頁,單擊“下載最新的基 CRL ”鏈接,在彈出的“文件下載”對話框中單擊“打開”按鈕,打開“證書吊銷列表”,在“發行的CRL位置”,查看“CN=”后面的名字,例如,本例中名稱是“std-ca.sjqlq.gov.cn”,如圖6所示。
圖6 查看CRL地址
然后用http:// std-ca.sjqlq.gov.cn/certsrv的方式,看能否打開證書申請網站,如果不能打開,表示當前的網站服務器不能訪問證書吊銷列表,這通常是名稱解析造成的問題,你可以修改網站服務器本地的hosts文件(通常在c:\WINDOWS\system32\drivers\etc\目錄中),添加如下一行:
192.168.1.35 std-ca.sjqlq.gov.cn
以正確的解析該名稱。
其中“std-ca.sjqlq.gov.cn”這個名稱是你安裝“標準證書服務器”時設置的名稱,如果你想采用其他的名稱頒發證書吊銷列表,你可以登錄到“證書服務器→證書頒發機構”,右擊“證書服務器名稱”,在彈出的對話框中選擇“屬性”,在“擴展”選項卡中,通過添加“CRL分發點”來達到這個目的,如圖7所示。
圖7 添加CRL分發點位置
其中 ,CRL分發點的格式如“http://std-ca.sjqlq.gov.cn/certenroll/std-ca.sjqlq.gov.cn.crl”,其中std-ca.sjqlq.gov.cn是證書服務器的名稱。
如果你想修改證書吊銷列表的頒發周期,可以通過右擊“吊銷的證書→屬性”,在“CRL發布參數”修改CRL發布間隔,如圖8所示。
圖8 修改CRL發布間隔
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的使用证书保护网站--兼谈证书服务器吊销列表的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在WCF中用TcpTrace工具查看
- 下一篇: 斜颈,治疗料颈需要多大的费用