Iptables怎么防止常见网络攻击

什么是syn,ddos,ping

SYN (Synchronize):
在 TCP(传输控制协议)中,SYN 是握手过程的一部分。当客户端尝试与服务器建立连接时,它发送一个带有 SYN 标志的数据包。服务器收到 SYN 数据包后,通常会回复一个带有 SYN 和 ACK(确认)标志的数据包,表示接受连接。最后,客户端再发送一个带有 ACK 标志的数据包,表示握手完成。这个过程通常称为三次握手。
DDoS (Distributed Denial of Service):
DDoS 攻击是一种网络攻击,通过在短时间内向目标服务器发送大量的请求,使其超负荷,无法正常响应合法用户的请求。这些请求可以是来自多个分布式计算机的,使得攻击者能够利用分布式网络资源来发动攻击,使攻击更难以阻止。

配置防火墙防止syn,ddos攻击

# vim /etc/sysconfig/iptables
在iptables中加入下面几行
#anti syn,ddos
-A FORWARD -p tcp --syn -m limit --limit 1/s --limit-burst 5 -j ACCEPT
-A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
-A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

说明:第一行:每秒中最多允许5个新连接

第二行:防止各种端口扫描

第三行:Ping洪水攻击(Ping of Death),可以根据需要调整或关闭

重启防火墙

# /etc/init.d/iptables restart

屏蔽一个IP

# iptables -I INPUT -s 192.168.0.1 -j DROP

怎么防止别人ping我

# iptables -A INPUT -p icmp -j DROP

防止同步包洪水(Sync Flood)

# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

防止各种端口扫描

# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

Ping洪水攻击(Ping of Death)

# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
NMAP FIN/URG/PSH
# iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

Xmas Tree
# iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP

Another Xmas Tree
# iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

Null Scan(possibly)
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP

SYN/RST
# iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

SYN/FIN -- Scan(possibly)
# iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

限制对内部封包的发送速度

# iptables -A INPUT -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT  

限制建立联机的转发

# iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
阅读剩余
THE END
诺言博客