- 积分
 - 401
 
- 威望
 -  
 
- 金钱
 -  
 
- 注册时间
 - 2017-3-30
 
- 在线时间
 -  小时
 
- 最后登录
 - 1970-1-1
 
 
 
 
 
 
 | 
 
iptables是运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的处理和转发。在大部分Linux发行版中,可以通过手册页或 man iptables 获取用户手册。通常iptables需要内核模块支持才能运行,此处相应的内核模块通常是Xtables。 
 
 
 
今天明月分享给大家的是一批iptables基础安全防护的配置,在部署VPS服务器的时候大家可以借用一下。明月的VPS上目前都已经用上了。 
 
下面的防火墙脚本阻止任何除了允许: 
 
来自HTTP(TCP端口80)的请求 
来自ICMP ping的请求 
ntp(端口123)的请求输出 
smtp(TCP端口25)的请求输出 
 
 
1.记录到日志,rsyslog.conf配置增加一行 
vim /etc/rsyslog.conf 
 
# iptables log 
kern.info                                               /var/log/iptables.log 
重启日志服务 
/etc/init.d/rsyslog restart 
 
2.iptables配置 
Drop limit 
-A FORWARD -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT 
 
Drop sync limit 100 & DDOS 
-A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 100 -j DROP 
-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT 
 
Drop tcp 0 adn 1 
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP 
 
Drop sync 
-A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP 
 
Drop Fragments 
-A INPUT -i eth0 -f -j DROP 
-A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP 
-A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP 
 
Drop NULL packets 
-A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix " NULL Packets " --log-ip-options 
-A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP 
-A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP 
 
Drop XMAS 
-A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix " XMAS Packets " --log-ip-options 
-A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP 
 
Drop FIN packet scans 
-A INPUT -i eth0 -p tcp --tcp-flags FIN,ACK FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix " Fin Packets Scan " --log-ip-options 
-A INPUT -i eth0 -p tcp --tcp-flags FIN,ACK FIN -j DROP 
-A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP 
 
Log and get rid of broadcast / multicast and invalid 
-A INPUT -i eth1 -m pkttype --pkt-type broadcast -j LOG --log-prefix " Broadcast " --log-ip-options 
-A INPUT -i eth1 -m pkttype --pkt-type broadcast -j DROP 
-A INPUT -i eth1 -m pkttype --pkt-type multicast -j LOG --log-prefix " Multicast " --log-ip-options 
-A INPUT -i eth1 -m pkttype --pkt-type multicast -j DROP 
-A INPUT -i eth1 -m state --state INVALID -j LOG --log-prefix " Invalid " --log-ip-options 
-A INPUT -i eth1 -m state --state INVALID -j DROP 
 
 |   
 
 
 
 |