通过 IP 地址而不是主机名访问网站

Den*_*nis 0 http webserver

我想知道仅通过域名无法访问某个网站以及通过其直接 IP 地址访问被拒绝的可能性。

\n\n

我希望提请注意以下示例,但是该问题与任何其他情况相关:www.kickass.to网站具有以下地址,

\n\n
    \n
  • 67.212.88.146
  • \n
  • 67.212.88.10
  • \n
  • 205.204.64.122
  • \n
  • 68.71.58.34
  • \n
\n\n

当我使用上述内容时,我收到一条名为 \xe2\x80\x9cforbidden\xe2\x80\x9d 的消息,但我可以轻松放置完整的 URL 并访问该站点。

\n\n

根据我的理解,任何域名地址最终都会被浏览器转换为IP地址。我在这里有点不知所措。

\n

Gia*_*968 5

简短的回答?基于名称的虚拟主机允许对 Web 服务器的 IP 地址访问与对同一 Web 服务器的主机名访问进行不同的处理。许多网络系统管理员出于基本的安全原因而将\xe2\x80\x9c死端\xe2\x80\x9d IP地址访问。此外,\xe2\x80\x9cForbidden\xe2\x80\x9d 消息通常不会因 IP 地址访问被阻止而发送;我的直觉告诉我,某些 Web 服务器防火墙正在检测 IP 地址访问并将其阻止在 it\xe2\x80\x99s 轨道中。

\n\n

更长的答案?虽然像 Apache 中使用的基于名称的虚拟主机设置允许多个主机名使用相同的 IP 地址,但 \xe2\x80\x94in 和 of\xe2\x80\x94 本身并不意味着您将获得 \xe2\x80\ x9cForbidden\xe2\x80\x9d 如果您尝试通过原始 IP 地址访问服务器。也就是说,执行 a curl -Itowww.kickass.to显示正在使用Nginx :

\n\n
HTTP/1.1 301 Moved Permanently\nServer: nginx/1.7.8\nDate: Tue, 10 Feb 2015 05:46:59 GMT\nContent-Type: text/html\nContent-Length: 184\nConnection: keep-alive\nLocation: http://kickass.to/\n
Run Code Online (Sandbox Code Playgroud)\n\n

虽然我提到了我使用 Apache\xe2\x80\x94 的经验,Apache\xe2\x80\x94 是 Internet 上最常用的 Web 服务器\xe2\x80\x94Nginx 正在获得关注,并允许与我所描述的 Apache 类似的行为。包括能够使用 ModSecurity。请继续阅读以了解详细信息;相同的基本概念适用于 Apache 和 Nginx。

\n\n

当我使用基于名称的虚拟主机设置 Apache 服务器时,我确实非常有意识地通过将 Apache config\xe2\x80\x94 设置为 \xe2\x80\x9c 虚拟护城河\xe2\x80\x9d default000-defaultsites-enableddirectory\xe2\x80\x94 将所有非主机名/特定于 IP 的访问抛出到文本空白 HTML 页面。其逻辑是,许多恶意软件会尝试通过 IP 地址获取访问权限来 \xe2\x80\x9chack\xe2\x80\x9d 站点。为什么?简单的。许多 Apache 设置都有一个默认的 \xe2\x80\x9c,它可以正常工作!\xe2\x80\x9d 页面设置位于该地址。有能力的系统管理员将删除该页面,因为黑客/蜘蛛会专门寻找那种 \xe2\x80\x9c 它有效!\xe2\x80\x9d 页面作为基本线索,\xe2\x80 \x9c嘿!这位管理员只是将服务器投入生产,而没有真正清理这些基本的东西。让\xe2\x80\x99s 看看可以在此服务器上尝试哪些漏洞利用。\xe2\x80\x9d 不管你相信与否,但终止 Apache 配置default是阻止不需要的访问和 DDoS 尝试的最简单方法。

\n\n

但就像我说的, \xe2\x80\x9cForbidden\xe2\x80\x9d 对我来说,\xe2\x80\x99t 闻起来不像故意的 \xe2\x80\x9cdead end\xe2\x80\x9d 。谁知道呢,也许系统管理员将 \xe2\x80\x9cdead end\xe2\x80\x9d defaultApache 配置放入一个完全死亡或不存在的目录中。但每当我在这样的情况下看到 \xe2\x80\x9cForbidden\xe2\x80\x9d 时,就会让我相信管理员已经安装了ModSecurity

\n\n

ModSecurity 是一个 Apache Web 服务级别模块,充当 Web 服务器和不需要的流量之间的防火墙。它使用 \xe2\x80\x9crule 集\xe2\x80\x9d 实时扫描流量\xe2\x80\x94,因为实际的 HTTP 请求是 \xe2\x80\x94,并且访问/行为模式是否检查为 \ xe2\x80\x9cbad\xe2\x80\x9d 它将针对该访问抛出 \xe2\x80\x9cForbidden\xe2\x80\x9d 。对于原始 IP 地址,ModSecurity 核心规则集 (CRS) 中的核心规则之一是 \xe2\x80\x9cForbidden\xe2\x80\x9d 任何/访问原始 IP 地址。

\n\n

因此,以我的拙见,您会看到使用 ModSecurity\xe2\x80\x94 或类似防火墙工具\xe2\x80\x94 的 Web 服务器通过完全阻止请求作为 \xe2\x80\x9cForbidden 来响应原始 IP 请求。\ xe2\x80\x9d

\n\n

此外,您还声明www.kickass.to有多个 IP 地址。这告诉我,当向 发出请求时,正在发生某种负载平衡www.kickass.to。任何设置负载平衡集群的人都肯定会确保其子节点是相当防弹的并且无法被不需要的请求访问。这正是我上面所描述的,但更是如此。

\n