Nginx 實現OCSP Stapling

什麼是OCSP Stapling

OCSP的全稱是Online Certificate Status Protocol,在線證書狀態協議。它是一個用於檢查證書狀態的協議,客戶端使用此協議來檢查證書是否被撤銷。而OCSP Stapling,是指服務端主動獲取 OCSP 查詢結果並隨着握手協商時一起發送給客戶端,從而讓客戶端免去自己驗證的過程,提高 TLS 握手效率。

Web容器版本支持

Nginx version 1.3.7以上支持

Apache Server 2.3.3+ 以上支持

自動OCSP Stapling


server {
    listen 443 ssl;
    server_name www.xxx.cn;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s; #設置OCSP請求的DNS服務器地址
    resolver_timeout 5s;
    ssl_trusted_certificate ca.pem; #ca.pem爲證書的中級CA證書

}

配置修改完成後,需要重啓nginx服務規則纔會生效。

手動開啓OCSP Stapling

1,獲取證書的OCSP地址

命令:openssl x509 -in server.pem -noout -ocsp_uri *server.pem爲服務器證書公鑰文件。

手動:雙擊打開.cer格式服務器證書-詳細信息-頒發機構信息訪問/授權信息訪問-聯機證書狀態協議中的http鏈接地址:http://ocsp2.globalsign.com/gsorganizationvalsha2g2

2,製作stapling.ocsp文件

openssl ocsp -CAfile root.pem -issuer ca.pem -cert server.pem -url   http://ocsp2.globalsign.com/gsorganizationvalsha2g2 -text -respout ./stapling.ocsp -header "HOST" "ocsp2.globalsign.com"

其中root.pem爲中級CA證書和頂級根證書,ca.pem爲中級CA證書,server.pem爲服務器證書。
注:stapling.ocsp具備生命週期,需每次在update到期之前更新,建議可以編輯自動化任務腳本進行更新。

3、在Nginx.conf添加如下內容到https站點配置中

server {
    listen 443 ssl;
    server_name www.xxxx.cn;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    ssl_stapling_file /etc/nginx/cert/stapling.ocsp;
    ssl_trusted_certificate ca.pem;
   }

4、驗證OCSP Stapling 狀態

openssl s_client -connect  youdomino.com:443 -tlsextdebug –status

已開啓

`OCSP response:
OCSP Response Data:
OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response
……`

未開啓

OCSP response: no response sent

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章