DigiCert接手后,为了满足国内用户对“本地化”的心理需求,才专门推出了配置国内OCSP节点的SSL证书产品,本质是营销适配而非技术必需。 目前包括谷歌、微软在内的主流浏览器,已经默认停止向CA发起独立OCSP请求,OCSP节点在国内还是国外对浏览器来说根本没有影响。 市场上不少套牌、贴牌SSL证书为了制造差异化,更是大肆渲染“国内OCSP才符合安全规定”的概念,实际上这些产品大多通过中间代理将国外CA的OCSP请求转发到国内节点,本质是类似CDN的中转方案,只是让用户看起来 OCSP请求发生在国内,根源依然是海外CA机构。 这种模式不仅能提升页面加载速度、减轻CA服务器压力,还能避免用户访问行为被第三方日志记录,从性能和安全层面都远胜单纯的“国内OCSP节点”,用户完全不需要为“国内OCSP”的营销概念额外付费,更不要被不实宣传误导
MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING” 搞得我特别懵逼,我用谷歌、QQ、Edge等浏览器都没出现这样的问题,后来了解了一下才知道火狐要求OCSP 装订(但我有几个网站也没开启OCSP过,一样可以用火狐,咱也不知道也不敢问) 在Nginx配置文件加上 #开 启OCSP ssl_stapling on; ssl_stapling_verify on;
其实就是可以加速网站访问,尤其对于OCSP服务器遭受DNS污染(尤指之前Let's Encrypt证书服务器被污染),或者OCSP服务器在境外的网站。 OCSP装订 这种攻击促使CA和浏览器供应商引入SSL证书的扩展,该扩展在 RFC 7633,俗称 OCSP 必须装订 (尽管RFC本身没有提及此名称,这可能会引起一些混淆。) 这只是要求对证书进行OCSP装订。 如果浏览器遇到带有此扩展名的证书而未使用OCSP装订,则将被拒绝。 OCSP Must-Staple可以缓解上述降级攻击,还可以减少流向CA的OCSP响应程序的不必要的流量,这也可以帮助提高OCSP的整体性能。 在服务器中启用OCSP装订 为了节省您查找的麻烦,以下各节包含有关如何在您的计算机中启用OCSP装订的说明 。
摘要: 正确地配置OCSP stapling, 可以提高HTTPS性能。 什么是OCSP stapling? OCSP存在隐私和性能问题。 为了解决OCSP存在的2个问题,就有了OCSP stapling。由网站服务器去进行OCSP查询,缓存查询结果,然后在与浏览器进行TLS连接时返回给浏览器,这样浏览器就不需要再去查询了。 检测OCSP stapling SSL Labs能够对开启HTTPS的网站的SSL配置进行全面分析,可以检测OCSP stapling的状态。 对www.fundebug.com进行检查,会发现OCSP stapling是开启的: 对kiwenlau.com进行检查,会发现OCSP stapling是关闭的: 配置OCSP stapling 在查询
在线证书状态协议(ocsp),其OCSP查询地址是http://ocsp.int-x3.letsencryp...,浏览器需要发送请求到这个地址来验证证书状态。 ocsp比crl方式更加高效,但ocsp也存在一些问题,实时查询证书会给客户端带来一定性能影响,另一方面需要访问ca提供的第三方中心话验证服务器,如果这个第三方验证服务出现问题,或被攻击,将会导致ocsp 这里我们推荐更先进的OCSP stapling。 什么是OCSP stapling? 正式名称为TLS证书状态查询扩展,可代替在线证书状态协议(OCSP)来查询X.509证书的状态。 Nginx 配置 OCSP stapling 我使用的环境如下: CentOS/7.7.x NginX /1.12.x # 它从 1.3.7+ 开始支持OCSP stapling特性。 /dev/null 2>&1 | grep -i "OCSP response" 开启结果为: OCSP response: OCSP Response Data: OCSP Response
目前 “Oneinstack”、“LNMP 一键包” 默认的 OpenSSL 版本都不是最新版,修复此漏洞需要重新编译。
腾讯云所有Windows未下线镜像对应的IIS版本都支持OCSP(系统≥server2008或≥Vista) 双击导入这个注册表项即可开启OCSP 这是我在https://freessl.cn/ 申请的免费证书 接入了腾讯云CDN,目前腾讯云CDN支持tls1.0/1.1/1.2 用以下3条命令验证是否开启了OCSP,出现“OCSP response: no response sent”的概率较高,但也有成功的时候 -c 100 > ping.info 20%的丢包率,国外的,可以理解 OCSP服务器被限制访问或OCSP服务器访问慢,会导致https访问慢。 由于大多数全球权威CA的OCSP站点都设在国外,当网络环境较差、出现网络故障以及遇到特殊时期网络封锁,客户端无法连接到OCSP站点,或者OCSP站点无法返回证书状态内容,导致HTTPS请求可能还没到多次握手阶段 综上,开启OCSP要谨慎。 另外,有个在线检测OCSP的工具挺方便的:https://crt.sh/ 输入域名点查询,然后点ID进去能看到一个check按钮,变成Good说明开启OCSP了
由于国内 VPS 服务器访问 OCSP 服务器可能会被污染而导致失败,所以添加resolver来解决此问题. :443 -servername www.yourdomain.com -status -tlsextdebug < /dev/null 2>&1 | grep -i "OCSP response" # 将命令中 www.yourdomain.com 改为你的域名 未生效结果 OCSP response: no response sent [avatar] 成功生效结果 OCSP response: OCSP Response Data: OCSP Response Status: successful (0x0) Response Type : Basic OCSP Response [avatar] 配置完成后首次检查可能会显示未生效,因为 Nginx 收到首次请求会发起异步 OCSP 请求,尝试多执行几次来查询即可.
正文 一、弊端 此方式实现了OCSP查询在服务器端进行,避免了浏览器去进行OCSP验证从而影响访问速度; 但是OCSP响应的缓存并不是预加载的,而是异步加载的; 在Nginx启动后,只有当有客户端访问的时候 ,Nginx才开始去请求OCSP响应并缓存到本地,并且当OCSP响应缓存过期的时候并不会去主动更新,而是等待客户端访问异步触发的更新; 这样就会导致总会有几次访问并没有走OCSP响应缓存从而导致还是会有访问速度缓慢的情况发生 /$SITE.ocsp-reply.txt # 输出到日志文件 cat $OUTDIR/$SITE.ocsp-reply.txt >> $LOGFILE # 记录最后一次OCSP请求结果 mv $OUTDIR /getOCSP.sh abc.com //PS:后边的参数为需要获取OCSP响应的域名 运行后就会在指定的目录生成OCSP响应文件了 112.png 4.Nginx读取OCSP响应文件 这时的Nginx OCSP缓存 虽然我们本地预加载了OCSP响应缓存,但是OCSP响应也是有生效时间了,超过有效时间就得重新获取,这里我们可以配置crontab定时任务去每日自动刷新OCSP响应缓存 //编辑crontab
什么是ocsp装订它允许Web服务器查询OCSP响应器(即监听OCSP请求的证书颁发机构服务器),并将响应结果缓存起来。 OCSP Stapling是如何工作的OCSP Stapling是一种更有效的处理证书信息验证的方法。 它不是对每个证书验证请求都向CA的服务器发出请求,而是允许Web服务器直接定期查询OCSP响应器并缓存响应。 如何在您的服务器上启用OCSP Stapling现在大多数现代浏览器都支持OCSP Stapling。 在协议详情部分,您将看到OCSP Stapling字段,这将指示您的服务器上是否启用了OCSP Stapling。或者,您可以使用命令行来检查OCSP Stapling是否启用。
OCSP请求: OCSPRequest ::= SEQUENCE { tbsRequest TBSRequest, --待签名请求 issuerKeyHash OCTET STRING, -- 证书颁发者公钥的Hash serialNumber CertificateSerialNumber } --证书序列号OCSP 响应: OCSPResponse ::= SEQUENCE { responseStatus OCSPResponseStatus, --OCSP响应状态 responseBytes
2、OCSP OCSP 是一个在线证书查询接口,它建立一个可实时响应的机制,让浏览器可以实时查询每一张证书的有效性,解决了 CRL 的实时性问题,但是 OCSP 也引入了一个性能问题,某些客户端会在 SSL (OCSP 地址也在证书的详细信息中) OCSP Stapling 就是为了解决 OCSP 性能问题而生的,其原理是:在 SSL 握手时,服务器去证书 CA 查询 OCSP 接口,并将 OCSP 查询结果通过 问题描述: 域名开启OCSP Stapling,但测试未生效 原因分析: 在分析原因前,可以通过如下图了解下CDN OCSP的工作原理 image.png 1、查看域名配置,确实有开启OCSP装订配置 ocsp的原理,如下按照ocsp验证的逻辑进行逐步确认。 ://ocsp.int-x3.letsencrypt.org) openssl x509 -noout -ocsp_uri -in a.z-4.pem image.png 2.3 获取OCSP需要用到的证书链信息
设置完成后,可以解决 Let's Encrypt OCSP 验证地址 http://ocsp.int-x3.letsencrypt.org 被 GFW 屏蔽造成的网站卡顿问题。
不同CA签发的SSL证书的OCSP验签速度有所不同,这是因为他们的使用的不同OCSP服务器。需要了解OCSP验签服务器的访问速度,首先需要知道如何查询OCSP服务器IP地址。1. 查看“授权中心信息访问权限”即可获取OCSP的服务器。菜单路径:详细信息->证书字段->授权中心信息访问权限->OCSP响应程序,即可查看到OCSP的URL。图片5. 运行->cmd,ping出该URL即可获取到该OCSP服务器IP地址。图片以上是国内节点ping出的锐安信SSL证书的OCSP服务器IP地址以及访问速度。 其他证书均可参照上述步骤查询OCSP服务器IP地址。
但由于国内CA机构成立时间晚,导致国内目前仅有CFCA一家机构是国产SSL证书,可惜兼容性也只能满足60%,因为历史发布的系统和浏览器永远回不去,并且不支持DV类型,只能申请OV并且价格太高,所以目前主要市场只有国内并且是事单位少量的网站为主 GlobalSign提供中国OCSP,是国内淘宝、天猫、京东、百度等网站的同款证书,结合ECC算法与中国OCSP可以有效提高网站加载速度,目前在国内成立合资经营企业。 DigiCert提供中国OCSP,90%的世界500强在使用DigiCert证书,工农中建等银行以及大多数金融机构、大型跨国企业都在使用DigiCert TLS证书。目前在国内成立合资经营企业。 GeoTrust是原全球第二大数字证书颁发机构,在全球150多个国家有超过10万个用户使用GeoTrust提供的数字证书,现在隶属于DigiCert,依托DigiCert的技术为OV/EV证书提供中国OCSP 兼具DigiCert所有优点,还支持诺顿安全签章,病毒、恶意软件扫描筛查等功能,提供中国本地化OCSP以及ECC算法,是银行证券、金融行业、高校、电信、电商等大型企业的首选。
就感觉这种方式很不好,于是Chrome浏览器就不用这个协议了,自己在浏览器内部做了个本地列表,通过每次浏览器更新来进行列表更新;由于直接查本地的列表速度就非常快了,缺点是不是实时的; 受Chromium项目的影响,国内的绝大部分换皮浏览器也使用的这个策略 ,所以大部分的浏览器压根就没有进行使用OCSP协议去验证SSL域名的有效性,所以大部分的浏览器访问速度就很快了;但是有些浏览器,比如苹果的Safari和IE就强制开启了OCSP验证,Firefox的OCSP 其实也简单,不使用国内公共DNS就好了,使用国外公共DNS,例如8.8.8.8等,就可以正常访问Let's Encrypt的OCSP验证域名了;但是在国内使用8.8.8.8速度不是很理想,你也不可能要求所有人去使用这个 使用myssl验证,也提示OCSP已装订 Firefox、IE、Safari浏览器的访问也正常了 再次使用Charles进行抓包,发现浏览器会跳过OCSP验证 此方式实现了OCSP查询在服务器端进行 ,避免了浏览器去进行OCSP验证从而影响访问速度; 但是OCSP响应的缓存并不是预加载的,而是异步加载的; 在Nginx启动后,只有当有客户端访问的时候,Nginx才开始去请求OCSP响应并缓存到本地,
产品介绍 腾讯云根据国内企业用户的网络环境安全和使用习惯,结合腾讯云生态,推出了符合本地化的腾讯云 DNSPod SSL 证书。 支持中国区 OCSP,并为用户提供7*24小时全天候一对一技术支持服务,及时响应并快速解决 SSL 证书部署问题。 用户可以结合腾讯云中的产品以及提供的各类服务,享受到最全面最安全的证书服务。 ● 核心优势 便捷审核 优化的审核流程助力证书便捷申请 多样化算法 同时支持SM2、ECC、RSA算法 超高兼容性 支持国内99.99%的主流浏览器及系统 超深度结合 与腾讯云产品深度结合,提供自动部署 附录1(产品功能) 功能 能力 是否支持 数据 核心数据及系统 支持 审核 快速审核定制邮箱审核 支持支持 自动化 自动化签发自动化部署 支持支持 算法 RSAECCSM2SM3 支持支持支持支持 OCSP 国内OCSP国际OCSP 支持支持 解决方案 国密方案证书自动化方案证书管理与监控方案证书定制化方案 支持支持支持支持 附录2(兼容性) Android Android 2.3 (Gingerbread
简介 OCSP在线证书状态协议是为了替换CRL而提出来的。对于现代web服务器来说一般都是支持OCSP的,OCSP也是现代web服务器的标配。 但是OCSP stapling却不是所有的web服务器都支持。但是现实工作中我们可能需要知道具体某个网站对OCSP的支持程度。 OCSP stapling的。 我们可以得到网站的ocsp responder地址是:http://ocsp.digicert.com。 发送OCSP请求 有了OCSP responder的地址,我们就可以进行OCSP验证,在这个命令中我们需要用到服务器的证书和intermediate证书。
13.png Nginx OCSP stapling 由网站服务器去进行OCSP查询,缓存查询结果,然后在与浏览器进行TLS连接时返回给浏览器,这样浏览器就不需要再去查询了。 :443 -servername ffis.me -status -tlsextdebug < /dev/null 2>&1 | grep -i "OCSP response" 15.png 开启 OCSP stapling 开启OCSP装订需要在网站的nginx配置文件中添加如下配置: # 开启 OCSP Stapling,开启后服务器在TLS握手时发送事先缓存的OCSP响应,用户只需验证该响应的有效性而不用再向数字证书认证机构 使用myssl验证,也提示OCSP已装订 17.png Firefox、IE、Safari浏览器的访问也正常了 18.png 再次使用Charles进行抓包,发现浏览器会跳过OCSP验证 19.png 之后我会在写一下关于开启OCSP的弊端和优化方案。 完结 以上就是Nginx开启OCSP以解决Let's Encrypt证书被DNS污染访问缓慢的内容,欢迎小伙伴们交流讨论。
1.在/etc/hosts添加 23.32.3.72 ocsp.int-x3.letsencrypt.org 2.在ngxin的站点配置文件server块里添加如下代码: # ssl_stapling 测试是否成功 openssl s_client -connect jiangruyi.com:443 -status -tlsextdebug < /dev/null 2>&1 | grep -i "OCSP response" 如果命令执行后返回OCSP Response Status: successful (0x0)表示成功,返回OCSP response: no response sent表示失败。