根据HTTPS 描述:
超文本传输协议安全 (HTTPS) 是超文本传输协议 (HTTP) 与 SSL/TLS 协议的组合。它提供加密通信和网络 Web 服务器的安全识别。
并SSL/TLS:
TLS 协议允许客户端-服务器应用程序以防止窃听和篡改的方式通过网络进行通信。
由于大多数协议都可以使用或不使用 TLS(或 SSL),因此需要向服务器指示客户端是否正在建立 TLS 连接。实现此目的主要有两种方式,一种是使用不同的端口号进行 TLS 连接(例如 HTTPS 的端口 443)。另一种是使用常规端口号,并让客户端请求服务器使用协议特定机制将连接切换到 TLS(例如邮件和新闻协议的 STARTTLS)。
从这个解释中我们可以了解到 HTTPS 流量使用带有加密的 443 TCP 端口,我的意思是,由于它是加密的,因此代理不可能解释流量并阻止不受欢迎的网站。
在我的公司,人们通常使用 https:// 访问 Facebook、Hotmail 和其他被公司代理阻止的网站。所以,我想知道,是否可以使用代理或其他技术来阻止特定网站的 https 流量,并将其与实际代理解决方案集成?是否可以通过 https 层过滤或阻止特定网站?
答案1
尽管您在问题中引用的示例很容易通过代理实现,因为 URL 未加密,因此很容易添加到黑名单,但确实可以检查通过代理的 HTTPS 流量。
企业部署通常通过向其所有已安装的最终用户机器部署内部受信任的证书来实现这一点。与代理服务器的连接是通过此证书完成的(无论用户是否意识到这一点),代理软件可以解密有效负载,对其进行检查并确定其有效性。与最终站点的后续连接是通过“真实”证书完成的。
这确实是一个令人悲伤的状况,因为它破坏了 SSL 和 TLS 的可信模型 - 但我知道事实上它已经完成了 - 因为它发生在我工作的地方。
答案2
使用像 snort 和 suricata 这样的入侵防御(内联)系统来阻止 https 站点非常简单。
以上两种 IPS 均可使用相同的签名。
以下是针对域、端口、IP 地址和文件扩展名块的一些 IPS 规则。
http://kb.simplewallsoftware.com/help-faq/answers/useful-suricata-rules/
答案3
我发现通过阻止 HTTPS 服务的 IP 端点非常有效。我已经能够使用此方法阻止(防火墙)对 Facebook 的访问。以下是 Facebook 的 IP 范围
31.13.24.0/21
31.13.64.0/18
31.13.64.0/19
31.13.64.0/24
31.13.65.0/24
31.13.66.0/24
31.13.68.0/24
31.13.69.0/24
31.13.70.0/24
31.13.71.0/24
31.13.73.0/24
31.13.74.0/24
31.13.76.0/24
31.13.77.0/24
31.13.78.0/24
31.13.79.0/24
31.13.82.0/24
31.13.83.0/24
31.13.84.0/24
31.13.85.0/24
31.13.86.0/24
31.13.87.0/24
31.13.90.0/24
31.13.91.0/24
31.13.93.0/24
31.13.96.0/19
66.220.144.0/20
66.220.144.0/21
66.220.152.0/21
69.63.176.0/20
69.63.176.0/21
69.63.184.0/21
69.171.224.0/19
69.171.224.0/20
69.171.239.0/24
69.171.240.0/20
69.171.255.0/24
74.119.76.0/22
103.4.96.0/22
173.252.64.0/19
173.252.96.0/19
179.60.192.0/22
179.60.192.0/24
179.60.193.0/24
185.60.216.0/22
204.15.20.0/22