我一直认为 NAT 是某种安全功能,我仍然认为它是,因为如果它不存在互联网,分别是 NAT 背后的客户端,将更加不安全,因为例如端口 445 将直接开放给每个人都在扫描客户端等。
但似乎有一些攻击,其中攻击者只需要知道 WAN IP 地址。
哪个?
我一直认为 NAT 是某种安全功能,我仍然认为它是,因为如果它不存在互联网,分别是 NAT 背后的客户端,将更加不安全,因为例如端口 445 将直接开放给每个人都在扫描客户端等。
但似乎有一些攻击,其中攻击者只需要知道 WAN IP 地址。
哪个?
这里已经有一些很好的安全问题列表。但是我还没有看到有人提到NAT Pinning。
从 Samy Kamkar 的网站引述 NAT pinning 如何工作:
- 攻击者通过说服受害者页面上有可爱小猫的图片来引诱受害者访问 URL。
- 受害者点击 URL 并打开页面。
- 该页面有一个连接到http://attacker.com:6667(IRC端口)的隐藏表单。
- 客户(受害者)在不知情的情况下提交表单。一个 HTTP 连接被创建到(假的)IRC 服务器。
- 由攻击者运行的假 IRC 服务器只是听,不像我以前的女朋友所说的那样。
- 该表单还有一个隐藏值发送:“PRIVMSG samy :\1DCC CHAT samy [ip in decimal] [port]\1\n”
- 您的路由器帮您一个忙,看到“IRC 连接”(即使您的客户端正在使用 HTTP)并尝试“DCC 聊天”。DCC 聊天需要在客户端上打开一个本地端口,以便远程聊天重新连接到您。
- 由于路由器阻止了所有入站连接,它决定将任何流量转发给“DCC 聊天”中的端口,以允许友好的攻击者通过 NAT 遍历连接并与您“聊天”。但是,攻击者将端口指定为例如端口 21 (FTP)。路由器端口将 21 转发回受害者的内部系统。攻击者现在有一条清晰的路线可以连接到受害者的 21 端口并发起攻击,下载受害者高度机密的可爱小猫图片。
假设您的家庭路由器被配置为拒绝所有入站连接,那么获得对 LAN 的远程访问的最简单的攻击就是利用 LAN 本身。
开放 WiFi:如果 LAN 可以通过不安全的 WiFi 访问,并且路由器有默认密码,那么登录路由器并启用一些入站端口是很简单的。显然需要物理上的接近。
“通过 pharming 驱动” ——诱使 LAN 上的用户运行登录路由器的代码(java 小程序)(再次假设默认密码或易于破解的密码)并启用一些入站端口。
如果攻击者可以 MITM 您的 Web 连接,他可以在您上网时修改页面,以注入 #2 中列出的 pharming 攻击以打开路由器上的端口。
对于某些易受攻击的路由器:即使您配置了安全的管理员密码,攻击者也可以在访问您的 LAN 时使用创造性的主机名来毒害您的 DNS 缓存或可能将 XSS 注入路由器的管理界面。
同样,对于某些易受攻击的路由器:通过访问您的 LAN,攻击者可能能够嗅探您的身份验证会话以获取路由器密码。
CSRF 攻击:您访问了一个恶意网页,该网页尝试对您的路由器的管理区域进行 CSRF。(对于某些设置了默认密码的易受攻击的路由器,或者如果您已经在该浏览器会话中通过路由器的身份验证。)
CSRF 结合身份验证绕过漏洞。一些路由器在处理未经身份验证的请求的 Web 管理界面中存在错误。
有关上述列表中的一些攻击的详细信息,请参阅本文(网络存档)。
对路由器的 NAT 的攻击可能会导致 DoS,但不会导致对 LAN 的远程访问。我没有列出任何这些。
家庭路由器上的 NAT 通常允许用户从 LAN 发起的所有出站连接。NAT 通常与 UPnP 配对,以允许用户/主机/服务根据需要打开所需的出站端口。
通常,对发起出站连接没有任何限制,以使连接尽可能方便用户。
如果您考虑家庭路由器部署常见的以下因素:
利用 NAT 在家庭路由器上的工作方式的攻击,而不是对 NAT 本身的直接攻击,只是针对 LAN 上的用户的(鱼叉式)网络钓鱼攻击。
示例:用户可能单击打包的 PDF,然后执行代码调用 home,将能够发起一个出站连接,允许攻击者根据需要利用反向通道进一步利用 LAN 主机。
注意:这来自我对运行默认固件的家用路由器(Billion、Linksys)的经验。如果家庭用户部署运行自定义固件的 Cisco 877 或 Linksys,则可以应用额外的安全控制。
如果您只使用 NAT,那么它根本不会提供太多安全性。
例如,如果您的服务器在端口 445 上运行,并且它经过 NAT 连接到 Internet,攻击者甚至不需要知道它经过 NAT - NAT 将允许他们连接到它任何 IP 和端口都显示到 Internet。
这甚至不能算作对 NAT 的攻击 - NAT 在这里无关紧要。
为您提供安全性的部分是路由器的访问控制/防火墙功能。这将阻止 Internet 上的攻击者扫描您的客户端。
编辑- 有人指出,家庭路由器 NAT'ing 默认情况下确实提供单向 NAT,这实际上为您提供了像防火墙一样的拒绝所有访问控制规则。
建议: