1.查看IPTABLES设置
iptables -L -n
可以看出,Linux系统上有防火墙,并且开放了22,3306端口。
2.清除原有规则
iptables -F
该命令可以清除预设表filter中的所有规则。
3.设定预设规则
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
(1)不在INPUT规则中的数据包,丢弃。
(2)不在FORWARD规则中的数据包,丢弃。
(3)不在OUTPUT 规则中的数据包,通过。
上述配置,限制流入的数据包,不限制流出的数据包,这是安全的配置方案。
4.添加规则
4.1 INPUT的默认规则是DROP,需要写ACCETP的规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
(1)开启22端口,允许远程登录。
(2)开启80端口,允许web服务。
(3)开启53端口,允许DNS服务。
(4)开启3306端口,允许数据库服务。
4.2 OUTPUT默认规则是ACCEPT,需要写DROP的规则
iptables -A OUTPUT -p tcp --dport 31337 -j DROP
有些木马会扫描端口31337上的服务,阻塞该端口,能够有效地减少网络上被感染的机器和远程主服务器进行通信的机会。
4.3 FORWARD的默认规则是DROP,需要写ACCETP的规则
iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
iptables -A FORWARD -p icmp -m limit --limit 10/s --limit-burst 100 -j ACCEPT
(1)处理IP碎片数量,允许每秒100个。
(2)设置ICMP过滤,允许每秒10个。