使用iptables设定一些安全防护功能(2)
作者: kenduest (小州)下面是我设定 iptables 的一些简单规则,可以参考一下。(与 NAT 无关喔)
# 挂入相关 module
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
# 重设
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t mangle
# 把 FORWARD 关闭
iptables -P FORWARD DROP
# 这是打开让自己网域可以方便连结,也就是该网域不设防
iptables -A INPUT -p all -s ip_net/netmask -j ACCEPT
# 允许相关连结服务
iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 23 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 113 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
上面是打开允许 port 20、21、22、23、25、53、110、113 等服务才能够
被外面所联机。
port 20、21 : ftp 使用的。
port 22 : ssh 联机
port 23 : telnet 联机。方便使用,其实不开放比较安全。
port 25 : sendmail 使用。让信件可以寄进来。
port 53 : dns 使用。dns 需要打开 udp 使用。
port 110 : pop3 使用
port 113 : auth 身份确认。我打开是让一些使用该 113 确认身份的主机
不至于反查时会卡住很久。
最后一行是对于主动联机或者是不合法联机,一律通通拒绝掉。
这个 script 内容,很适用只允许外面连结特定的 port 服务,剩下的其余
port 就拒绝外面主动建立的联机。比方使用 Modem 拨接,只希望里面可以
正常联机出去,外面都无法联机进来这个需求。(ps: modem 是使用 ppp0
等这些接口,上面的 eth0 要改成 ppp0 )