linux服务器iptables安全加固脚本

#!/bin/sh
IPT="/sbin/iptables"
$IPT --delete-chain
$IPT -F
$IPT -t nat -F
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
#创建规则链命名为CM
$IPT -N CM
#将规则链应用到INPUT和FORWARD
$IPT -A INPUT -j CM
$IPT -A FORWARD -j CM
$IPT -A CM -m state --state RELATED,ESTABLISHED -j ACCEPT
#开放80端口
$IPT -A CM -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
#特定IP才允许访问22端口
#$IPT -A CM -s 106.186.127.95 -p tcp -m tcp --dport 22 -j ACCEPT
#添加ip白名单
$IPT -A CM -s 192.168.1.200 -j ACCEPT  
#本地lo
$IPT -A CM -i lo -j ACCEPT
$IPT -A CM -o lo -j ACCEPT
#允许ping
$IPT -A CM -p icmp -m icmp --icmp-type any -j ACCEPT

#IPSec中的esp和ah协议,做VPN服务器需要添加的
#$IPT -A CM -p esp -j ACCEPT
#$IPT -A CM -p ah -j ACCEPT

$IPT -A CM -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT

# NAT转发,配置OpenVPN服务器时需要添加,后面IP是服务器的IP
#$IPT -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 106.186.127.95

#开放20000-30000端口,配置FTP服务器时设定PASV传输端口用
#$IPT -A CM -p tcp -m state --state NEW -m tcp --dport 20000:30000 -j ACCEPT

#拒绝所有 直接丢弃包
$IPT -A CM -j DROP

#或者拒绝所有 发送prohibited信号
#$IPT -A CM -j REJECT --reject-with icmp-host-prohibited

service iptables save
sleep 1
service iptables restart