linux – 如何在iptables中防止ip欺骗?

前端之家收集整理的这篇文章主要介绍了linux – 如何在iptables中防止ip欺骗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Linux上的Apache Web服务器被大量不存在文件的请求所困扰.直接影响是访问和访问的快速增长.错误日志.我已经通过不记录这些请求(如果它与特定字符串匹配)来处理这个问题.我们从多个IP地址(对于同一个文件)谈论每秒40到50个请求.

我最初认为它是一个僵尸网络,但我相信它是一些脚本小子欺骗源IP.我在服务器上运行iptables,我想知道,这些数据包如何绕过TCP / IP初始握手到达应用层(HTTP服务器)?如果我有:

--Default Policy for INPUT chain is to DROP
<snip>
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
<...>
<snip>
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

…不应该我的服务器响应的SYN / ACK – 在初始连接请求之后 – 被发送到欺骗的IP?因此失去了?如果数据包是精心设计的,似乎来自已建立的连接,那么netfilter的状态跟踪机制应该处理这个(通过上面的RELATED,ESTABLISHED行)并将它们识别为不是已建立会话的一部分,因此将它们删除(通过默认策略:DROP)?

提前致谢,
Craconia

P.D.请求来自有效的互联网地址.

解决方法

即使它们欺骗源IP,也需要在与Apache建立连接之前进行SYN / ACK TCP握手.这有效地防止了欺骗性的TCP连接.因此,您可以非常确定所有连接均来自您在日志中可以看到的IP地址.

僵尸网络或开放代理更可能是罪魁祸首.那个或某个网页的漏洞.一个经典的漏洞就是在网站的HTML中嵌入到Web服务器上的大对象的链接,使所有客户端都试图从您的服务器中获取对象的网络服务器……

您的IPTABLES规则现在有意义;)

猜你在找的Linux相关文章