NAT作为防火墙

networking地址转换(Network Address Translation,NAT)似乎是对后面主机的防火墙,因为它们不可用。 虽然我永远不会依赖这个作为我的防火墙,但它作为防火墙的失败是什么?

我正在问这个我称之为“学术”的原因。 我知道NAT不会保护人们进入防火墙设备本身,而且更多层次的安全性更好。 我更感兴趣的是如果NAT被用于这个目的,NAT本身如何被利用。

更新,例如:
一个公共IP:10.10.10.10
一个局域网:192.168.1.1/24

如果所有来自局域网的传出通信都具有去往10.10.10.10的传出NAT,并且唯一的其他NAT映射是10.10.10.10端口80映射到192.168.1.100。 如何访问192.168.1.50端口22?

使用NAT,内部networking中的IP地址不能从外部路由; 与防火墙的比较是不完全正确的,因为防火墙过滤通常应该能够stream过它的networkingstream量; NAT改变了通常应该以这种方式stream动的stream量,允许stream量在一些特定的规则下stream动。

防火墙保护一扇门,否则将是开放的。
一个NAT打开一个没有一个的门。

有了防火墙,您可以允许从外部networking到内部受保护的所有通信; 即使你愿意,你也不能使用NAT。

他们是完全不同的东西,即使他们经常感到困惑。 就安全性而言,NAT背后的私有IPnetworking实际上比防火墙后面的公共IPnetworking安全。

更新以响应您的示例

那正是我所说的; 在你的情况下,192.168.1.50是不能从外部寻址的,所以绝对不能访问它,除非你明确地转发一些外部的IP /端口。

默认情况下,简单的NAT会丢弃或拒绝任何到非映射端口的传入连接。 这本身就是防火墙的第一个也是最重要的function。 所以是的,NAT是一个有限的防火墙。

但是有两个重要的限制:

  1. 默认情况下,NAT不会阻塞任何传出连接,所以您很容易受到任何forms的感染。 最简单的例子是恶意网页或电子邮件附件。 在许多情况下,这些恶意软件在第一次加载时包含非常有限的代码,并且需要来自外部的一些“帮助”。 如果您的防火墙有严格的限制,则可能会阻止该步骤,从而停止或减缓损坏。

    • NAT的主要function是促进连接,而不是阻止连接。 因此,通常需要提供一些方法来规避传入连接的固有NAT限制。 UPnP,STUN,Teredo,SOCKS等都可以让你的networking中的一台机器要求input连接。 一个不能使它们成为可能的NAT被认为是过分和不必要的限制; 所以“理想”的情况就是NAT允许容易“打洞”,并且适当的防火墙允许pipe理员应用策略。

有不同的情况:

  1. 你不必通过端口转发公开任何服务,所以你的NAT在新状态下完全是一种连接
  2. 您必须在NAT设备上执行端口转发,以便公开一个或多个公共服务
  3. 你盲目地认为你的NAT后面的每一台PC和用户都可以安全地抵御一系列的间接攻击:
    • 社会工程学
    • 病毒/木马
    • 坏意图
    • 无论“用户”能够从内部挖掘安全性

如果你使用NAT而没有真正的FW,结果是:
– 点1与点3一样安全
– 如果你公开服务,我可以使用它们访问局域网(当然)
– 我可以邮寄一个木马,恶意软件或任何你想要打开一个反向shell的东西 ,或者更一般的说来是作为一个反向连接。

在所有这些情况下,如果你背后是真正的FW,你将能够获得更好的保护。

出于同样的原因,我也在我的FW /服务器上过滤出站stream量。 为了尽可能地限制打开反向连接的可能性。

问:如何访问192.168.1.50端口22?
答:find一种方法(见上文),在局域网内的个人电脑或服务器上安装反向连接程序,而不是像里面一样访问局域网内的所有东西。 只是一个ssh -L可以完成这项工作

你将不得不破解一个连接来突破内部networking,但可以完成。 一个中间人攻击会成为我想起来的第一件事……这是一个真正的防火墙比NAT更好的地方。 防火墙可以内置智能(IPS入侵防护)来监视常见漏洞。
顺便说一句,一个真正的NAT盒子只是使用NAT查找表将内部客户端的IP地址改为外部地址。 大多数人认为NAT盒子是真正的PAT(端口地址转换) 。 一个外部IP和许多内部IP地址。 在这种情况下,IP地址和原始源端口都被转换。

总之,一个真正的NAT盒子很容易通过。 一个PAT盒子比较难,但仍然可能会受到相当基本的攻击。

一般来说,由于执行错误(如允许pipe理员访问或uPnP(见https://community.rapid7.com/docs/DOC-2150 )),外围设备(NAT路由器/防火墙等)可被利用界面),或者人为的操作错误(比如打开一个端口转发的漏洞,并忘记它在那里)。

防火墙更复杂,因此更容易出现人为错误。 也不会保护您免受社交工程,networking钓鱼等攻击。更高级别的数据包检测防火墙可以检测到恶意软件。

其他设备的实施问题可能会导致其他设备的潜在缺陷,比如端口转发暴露的系统漏洞,uPnP等等。由于NAT路由器将数据包转发到设备,因此设备必须保护自己。 顺便说一下,有人提出了双NAT设置,在两台NAT路由器之后有更安全的服务,以及只有一台NAT路由器保护的bit-torrent,游戏机和比特币矿工。

一个潜在的攻击媒介可能是使用基于UDP的stream量,这是由NAT过程暴露的,因为UDP没有状态 – 协议必须validation会话状态,并且可能是有缺陷的。 NAT路由器打开一个UDP端口一段时间,并使用超时closures它们,并结合远程连接的IP地址。 (一个TCP会话有一个F标志来指示会话完成)。 有关UDP可能导致的问题的types,请参阅http://unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html