一位同事声称,仅仅在一台归主的Linux机器上启用IP_forwarding就会带来安全风险,因为他说,这样就可以将其用作代理。
我想不出这是如何工作的,除非在同一局域网上的另一台机器将它设置为网关。这里有我看不到的风险吗?
发布于 2013-05-03 06:45:16
据我所见,它不会很好地工作。代理(以及SNAT/伪装)需要的不仅仅是简单的IP转发。
让我们看看,说
伊芙把艾丽斯设为她的门户,让鲍伯高兴起来。包裹送到爱丽丝那里,艾丽斯将它转发到真正的网关,在那里它会到达被标记为夏娃的鲍勃,鲍勃会回答,回复将直接发送给伊芙,绕过爱丽丝。
所以鲍勃永远不会知道发生了什么,并将要求夏娃对夏娃所做的事负责。
唯一的问题是,现在爱丽丝可以偷听谈话的一面。
所以现在夏娃伪造了一个来自爱丽丝的包裹。爱丽丝从外面收到一个来自她自己地址的包裹,很可能她把它掉了下来。
伊芙可以伪造一个属于查理的包裹,但后来,她甚至可以做到这一点,没有爱丽丝的转发支持。实际上,她可以伪造本地网络中的任何人;通过设置爱丽丝为门户,她现在更糟了,因为她可以伪造除爱丽丝以外的任何人。
如果她有办法预见鲍勃的反应,她就可以对谈话进行盲目的欺骗(但她也可以这样做),如果她能做到这一点,那么查理就不会通过中止连接来回应,而且网关也不会告诉鲍勃查理无法联系到。另外,对于TCP之类的连接协议,“预见Bob的响应”并不是那么容易,除非Bob的TCP堆栈容易预测。
如果真正的网关上有安全,那么现在她可以让它看起来像是爱丽丝在伪造查理的包裹,这样真正的网关就能发现伪造的东西,并相信爱丽丝应该对此负责。
最后这似乎是Alice通过提供转发服务而暴露自己的最可行的“攻击”。
发布于 2013-05-03 19:51:39
如果它是单宿主的,为什么要启用IP_Forwarding?我假设你会想把流量从一个网卡转发到另一个网卡。如果您有一台多主机,那么您的机器可能会被用作网络的代理。我会称它为枢轴点或跳转框进入你的内部网络。但是,由于只有一个接口,我不知道为什么要启用该函数。
https://security.stackexchange.com/questions/35284
复制相似问题