使用了SSL证书的网站使用CDN时会有哪些问题(二)

概观
CDN是一种分布式基础架构,可以有效地向最终用户提供与Web相关的内容。最初,CDN服务用于减少用户访问网站的延迟,并减轻网站原始服务器的负担。最近,CDN提供商还为网站提供新的安全服务,例如DDoS保护和Web应用防火墙(WAF)。
CDN通常由遍布全球的大量代理服务器组成。如果网站使用CDN服务,则CDN中的代理服务器的子集将通过pull或push方法复制该网站的内容。当用户访问该网站时,他们将被定向到CDN并最终从附近的代理服务器而不是网站的源服务器获取内容。

请求路由机制
请求路由选择是CDN服务的关键组件,因为它们负责根据各种策略和指标将用户请求从原始网站引导到CDN并进一步引导到适当的代理。在[2]中引入了许多请求路由技术,但在本文中,我们只关注三种最常用的技术:URL重写,CNAME和域托管。

• URL重写。URL重写会修改原始网站中特定内容(例如图像,CSS,脚本)的URL。因此,当用户访问网站并使用修改后的URL加载内容时,他们将切换到访问CDN以获取内容。

• CNAME。CNAME(规范名称)是一种将域名链接到另一个名称的DNS记录。通过使用CNAME记录,网站所有者可以将其域名指向CDN的域名作为别名,这样当用户访问该网站时,他们最终将通过DNS解析重定向到CDN的域名,该解析被转换为一些代理人的IP地址最终根据CDN的政策。

• 域名托管。域托管意味着网站使用CDN的DNS服务器作为其域的权威名称服务器。因此,网站域名的解析由CDN提供商控制,CDN提供商直接将网站的域名指向其代理服务器的IP地址。

所有这三种请求路由技术都有其自身的优点和局限性。虽然URL重写技术为网站提供了细粒度的重定向控制,但它需要在原始网站上进行内容修改,这是繁琐且容易出错的; URL重写也不适用于DDoS或WAF保护,这通常需要域级重定向。CNAME和域托管提供了极大的便利性和灵活性,可以解决URL重写的局限性,但是,它们也会丢失URL重写的细粒度重定向控件。此外,CNAME可能会引入额外的DNS解析开销。

B. Https

概观
HTTPS在Web服务器和客户端之间提供安全的端到端通信通道。从本质上讲,HTTPS只是在传输层安全性(TLS)协议的顶部对HTTP进行分层,该协议为被动窃听者和主动攻击者提供了许多安全原语,例如身份验证和加密。
具体而言,HTTPS依赖于X.509证书和公钥基础结构(PKI)进行服务器身份验证。在X.509 [3]系统1中,证书由可信证书颁发机构(CA)签名,以将公钥与域名绑定。当访问网站的服务器时,客户端首先验证网站的证书,然后使用证书中的关联公钥与服务器协商会话密钥以进行进一步的安全通信。

证书验证
现代Web浏览器分三步执行证书验证:链验证,名称验证和撤销检查。如果任何步骤失败,浏览器将向用户显示各种警告,以指示无效证书的潜在风险。

• 链验证。在当前的实践中,默认情况下,许多受信任的根CA与浏览器或操作系统一起分发。通常,这些根CA不会直接颁发服务器证书,而是将其签名功能委派给实际签署服务器证书的中间CA. 因此,通常,Web服务器在执行TLS / SSL握手时会提供包含其证书以及所有中间CA证书的完整证书链。然后,浏览器通过检查每个证书的签名和有效期,从服务器证书开始到结束于受信任的根CA,验证证书是否可以形成完整的链。

• 名称验证。除了验证证书链之外,浏览器还会检查证书中的域名,以确定证书是否属于当前网站。当前实践使用证书的两个字段来呈现其域名:公共名称(CN)字段和主题备用名称(SAN)扩展,其使证书能够包括多个域名。为了方便起见,在证书中的域名可以(例如,使用使用通配符来涵盖其所有子域名example.com代表的所有直接子域example.com)。

• 撤销检查。在许多情况下,例如私钥泄露,CA需要在其到期日期之前撤销已颁发的证书。证书撤销的关键是及时发布撤销的证书,以便浏览器可以识别这些证书无效,即使它们通过了上述验证。目前,证书撤销已经广泛采用了两种机制:证书撤销列表(CRL)和在线证书状态协议(OCSP)。

• CRL。CRL包含一个签名列表,其中包含CA撤销的证书序列号。浏览器可以从证书的CRL分发点扩展中获取当前证书的CRL,以检查其撤销状态。
CRL的一个大问题是尺寸。随着CRL的大小不断增加,分发的开销最终将变得难以管理。此外,由于开销,CRL不会及时更新。目前,发布时段可以是一周或多周。

• OCSP。OCSP [1]被提议作为CRL的替代方案,它通过使用实时协议解决CRL的问题。使用OCSP的浏览器不是下载整个CRL,而是查询证书的权限信息访问(AIA)扩展中指定的在线服务器,以检查其撤销状态。
作为实时协议,OCSP的效率取决于CA运行的OCSP服务器的能力。最近的一项研究表明,OCSP服务器确实不堪重负,OCSP检查带来了相当大的延迟[4]。

还提出了一些CRL和OCSP之上的改进,以减少客户端开销。最近,谷歌开发了一种名为CRLSet [5]的专有机制,该机制部署在其Chrome浏览器上。在CRLSet中,Google从所有CA收集更新的CRL,并通过其全局基础架构有效地将CRL集推送到客户端。CRLset使浏览器能够在本地检查CRL,从而避免网络延迟。OCSP装订[6]是另一种检查证书撤销状态的替代方法。它将OCSP服务器签名的带时间戳的OCSP响应插入到TLS / SSL握手中,因此客户端可以在不查询OCSP服务器的情况下检查证书的状态。目前,OCSP装订由许多供应商支持,例如OpenSSL,Firefox,Apache和Nginx。

证书类型
目前,商业CA为HTTPS通信提供三种证书:域验证(DV),组织验证(OV)和扩展验证(EV),由于身份验证的要求不同,它们具有相继更高级别的身份保证。对于颁发DV证书,CA仅通过诸如电子邮件之类的简单渠道验证证书请求中域名的所有权。相比之下,OV证书和EV证书经过了更严格的审查。要颁发此类证书,CA需要验证域名的所有权以及域运营商的实际身份。此外,虽然DV证书通常只包含网站的域名,但OV证书和EV证书也将包含身份信息(例如组织名称,
这三种证书也具有技术含义。实际上,HTTPS的目标不仅是保护浏览器和Web服务器之间的通信通道,而且还通知用户各种浏览器指示器确保其网络冲浪的程度。不同的证书类型在后一部分中扮演不同的技术角色。具体而言,EV证书与其他两种类型的不同之处在于,它在浏览器地址栏中显示更明显的指示符,以证明高度保证的域名及其关联的Web内容。

你可能感兴趣的:(网络安全)