我的第一个iptables脚本--单服务器防护
时间:2007-04-05 来源:ajiangg
开始学学iptables,觉得这个东东很不耐。这两天整出来第一个脚本。也请教了其它人,这里要感谢Chinaunix论坛的kenduest.他的那篇文章(http://linux.chinaunix.net/bbs/viewthread.php?tid=812400&extra=)也值得很多人来学习.认真的看懂后会清楚很多问题。
脚本应用环境:只有一台服务器,要做Web发布出去,允许远程通过SSH来管理,并且SSH登录要做Log记录。保证服务器的安全,很正常的访问。 拓扑图:
脚本Script #!/bin/bash
#echo start messages
echo "Starting iptables rules ..."
#Set variable
IPT=/sbin/iptables
WWWSER=11.0.0.254
#Load module
modprobe ip_conntrack
modprobe ip_conntrack_ftp
#clear and flush rule
$IPT -F
$IPT -X
#Set default policy
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
#Set input chain
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "IPTABLES:"
$IPT -A INPUT -p tcp -d $WWWSER --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp -d $WWWSER --dport 80 -j ACCEPT
$IPT -A INPUT -p udp --dport 53 -j ACCEPT
$IPT -A INPUT -i lo -j ACCEPT
#Set output chain
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p udp --sport 53 -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT #echo finish messages
echo "finish !!!"
脚本应用环境:只有一台服务器,要做Web发布出去,允许远程通过SSH来管理,并且SSH登录要做Log记录。保证服务器的安全,很正常的访问。 拓扑图:
脚本Script #!/bin/bash
#echo start messages
echo "Starting iptables rules ..."
#Set variable
IPT=/sbin/iptables
WWWSER=11.0.0.254
#Load module
modprobe ip_conntrack
modprobe ip_conntrack_ftp
#clear and flush rule
$IPT -F
$IPT -X
#Set default policy
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
#Set input chain
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "IPTABLES:"
$IPT -A INPUT -p tcp -d $WWWSER --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp -d $WWWSER --dport 80 -j ACCEPT
$IPT -A INPUT -p udp --dport 53 -j ACCEPT
$IPT -A INPUT -i lo -j ACCEPT
#Set output chain
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p udp --sport 53 -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT #echo finish messages
echo "finish !!!"
相关阅读 更多 +