http - 如何理解`当您直接连接到端口 443 (https://IP:443) 上的 IP 时,会暴露 SSL 证书。`?
问题描述
当我阅读这份文件时:
如果您在 xyz123boot.com 上托管服务,则原始服务器 IP 为 136.23.63.44。CloudFlare 将为您提供 DDoS 防护、Web 应用程序防火墙和其他安全服务,以保护您的服务免受攻击。为此,您的 Web 服务器必须支持 SSL 并具有证书,此时 CloudFlare 和您的服务器之间的通信是加密的(即不存在灵活的 SSL),就像您和 CloudFlare 之间的通信一样。这看起来很安全,但问题是当您直接连接到端口 443 ( https://136.23.63.44:443 ) 上的 IP 时,会暴露 SSL 证书。
如何理解这一行:
当您直接连接到端口 443 ( https://136.23.63.44:443 ) 上的 IP 时,会暴露 SSL 证书。
解决方案
那篇文章是关于“绕过CDN找到真实IP的方法”。也就是说,当服务器被不同 IP 地址的 CDN 服务器代理时,如何找到服务器的 IP 地址?
当 CDN(在本例中为 CloudFlare)通过 SSL/TLS 与源服务器通信时,引用的段落适用。CDN 将在 443 端口与源服务器联系,源服务器将“公开”一个证书,以便它们可以安全地通信。
因此,如果您可以在端口 443 上抓取整个 Internet 并收集公开的证书,那么您可以在 IP 地址和证书中提到的域名之间进行映射。根据这篇文章,有一个工具(Censys)可以做到这一点。因此,通过使用此工具,即使 CDN 本身没有公开该信息,您也可以找到源 IP 地址。
推荐阅读
- php - 登录 webapp 时安全令牌无效
- r - 如何仅删除满足 R 中另一个条件的重复项?
- java - 使用 Spring Boot 应用程序在 Quartz API 中将数据库凭据作为命令行输入传递
- iis - srcset 的 IIS 出站重写规则仅重写一次
- r - 如何在不考虑 NA 的情况下为多个变量添加后缀?
- git - gitk 无法在 macOS 10.14 (Mojave) 上启动
- java - 在 Java 的 Swing 中向 JPanel 添加更多组件后,Repaint() 不起作用
- kotlin - Kotlin Set 和 MutableSet 的 JVM 实现
- java - 是否有插件或工具可用于在没有测试用例的情况下从正在运行的应用程序生成覆盖率?
- sql - 给定两个创建和填充的表,如下所示: