我想知道如果有一个局域网和一个公共 IP,各种客户端(已分配私有 IP)通过该 IP 进行连接。假设其中一个客户端欺骗他的 IP 以尝试对服务器(比如谷歌)发起攻击。谷歌是否有一种方法可以在没有网络管理员帮助的情况下保护自己免受此类攻击。
答案1
使用欺骗性 IP 地址对 Google 发起的攻击或多或少只是 SYN 洪水攻击,可以使用 SYN cookie 轻松防范。
如果您使用真实 IP 地址,则可以执行更有趣的攻击。在这种情况下,您可以建立 TCP 连接并尝试攻击您在堆栈上一层找到的更广泛的软件。
防御这些攻击的主要方法是在发现安全漏洞后立即修补。鉴于谷歌使用内部开发的软件堆栈,大多数此类漏洞都是由内部人员发现的。
您描述的场景中不太可能发生欺骗。首先,您建议的场景是必须有一个应用 NAT 的路由器。如果该路由器没有发现欺骗并拒绝欺骗的数据包,它很可能会对其进行 NAT,这样当数据包到达互联网时就不会发生任何欺骗。
即使路由器由于某种原因配置为注意到数据包不是来自有效的 LAN 地址,从而绕过 NAT 但仍将它们路由到 Internet,ISP 也可能会阻止它们。
Google 有一项服务更难防范欺骗。那就是 Google 公共 DNS 服务。DNS 协议的设计使其易于被利用进行反射/放大攻击。有办法防范这种攻击。我不知道 Google 究竟使用了哪些方法,但互联网上有很多关于这种攻击的信息,以及可能的保护措施。
与此相关的是,人们可能想知道 Google 如何防范洪水/DDoS 攻击。这是一种与欺骗完全不同的攻击。但您通常希望在堆栈的同一层上防范这种攻击。
首先,谷歌拥有巨大的网络容量。仅仅向谷歌发送大量流量,导致其多个网络链路拥塞的攻击是极不可能发生的。因此,谷歌真正要做的就是检测攻击,并确保它们不会在服务器本身上消耗太多资源,也不会在 DDoS 攻击中向机器人发送大量回复时消耗太多带宽。