apache - 阻止 .htaccess 中的 IP 地址有多安全?

标签 apache security .htaccess

我有一个托管多个不同站点的网络服务器。有些供外部客户使用,有些仅供内部使用。对于内部站点,我有一个 .htaccess 文件,它拒绝所有 IP 地址,但允许任何以 10.25.x.x 开头的 IP 地址。

IndexIgnore *
deny from all
allow from 10.25.

这意味着只有我们本地网络的 PC 才能访问服务器。即使客户的计算机上的本地 IP 地址为 10.25.x.x,我的网络服务器也应该只能看到他们的公共(public) IP,对吗?

我没有将文件上传到此目录的表单,因此它们不应覆盖 .htaccess 文件。

我的问题是:攻击者有什么办法可以绕过这些安全方法?如果是这样,我可以采取哪些预防措施来确保不会发生这种情况?

最佳答案

我认为 Sébastien Renauld 的回答表明,IP 黑/白列表对于保护您的网站并不完美。您的应用程序应该已经足够安全,可用于公共(public)可访问的部署。无论如何,IP 限制确实有助于限制应用程序上的攻击向量。

请记住,IP 欺骗在技术上是可行的,但很难执行。

从网络外部,黑客必须至少绕过以下障碍。

  • 删除错误 IP 数据包的任何 ISP 逻辑(即,具有与发件人 IP 不同的 IP 地址。)
  • 您身边丢弃这些数据包的任何防火墙/网关/路由器。通常内部和外部网络是分开的,并且数据包不容易在这些网络之间路由。
  • HTTP 使用 TCP 协议(protocol),其中包括 three way handshake作为连接设置的一部分。这意味着发送者也需要确认连接。简而言之:此连接设置使用任意数字来同步服务器和客户端通信。黑客需要猜测这个数字,并在正确的时刻发送。

  • 攻击者需要绕过的障碍比我刚才总结的要多得多,比如阻止本地合法客户端不干扰攻击。 (想一想对被欺骗的服务器 IP 地址的响应会去哪里,以及被冒充的客户端会做什么。)

    欺骗 IP 地址的更简单方法是从网络本身内部进行。好吧,如果这已经成为可能,那么您可能还有其他一些事情要先研究 :)

    我希望您会看到,如今黑客执行这种攻击实际上是不可行的。安全性是所需努力和攻击者获得的满意度之间的平衡。

    因此,我会说 IP 白名单,在 Sébastien Renauld 建议的本地网络绑定(bind)旁边,是一种足够好的安全实践。您仍然需要假设攻击者可以访问您的内部网络,因此还应该检查您的网站和服务器本身的安全性。

    关于apache - 阻止 .htaccess 中的 IP 地址有多安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824286/

    相关文章:

    apache - 容器刚刚运行后如何执行脚本

    php - 有人知道任何好的后端用户在线文件管理器吗?

    .htaccess - 需要基于自定义 http header 的重写规则

    .htaccess - magento 和管理页面中的 500 内部服务器错误

    php - htaccess 文件,如何让它工作扔给 mysql 数据库?

    java - Apache Shiro 错误凭据异常

    apache - 安全约束 web.xml url 模式安全

    oracle - JAX-WS、GenericFault 的 OWSM 自定义安全策略

    security - 防御中间人攻击

    security - 如何阻止 Ansible 中的 extra_vars 覆盖变量?