关于安全其实能讲的有很多,这里只是简单的记录一下我的iptables设定,
我开有22(ssh)服务,1194(openvpn,tcp)服务,80(http)web服务,443(https)web服务,
我在实体机器上的设定:

#!/bin/sh

iptables -P FORWARD ACCEPT

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -i tap+ -j ACCEPT

iptables -A INPUT -i tun+ -j ACCEPT

iptables -A FORWARD -i tap+ -j ACCEPT

iptables -A FORWARD -i tun+ -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 443 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 1194 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT

iptables -A INPUT -j DROP

iptables-save > /etc/iptables.rules

我在vps上的设定:

#!/bin/sh

iptables -P FORWARD ACCEPT

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to 64.233.189.104

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -i tap+ -j ACCEPT

iptables -A INPUT -i tun+ -j ACCEPT

iptables -A FORWARD -i tap+ -j ACCEPT

iptables -A FORWARD -i tun+ -j ACCEPT

iptables -A INPUT -p tcp -i venet0 --dport 22 -j ACCEPT

iptables -A INPUT -p tcp -i venet0 --dport 443 -j ACCEPT

iptables -A INPUT -p tcp -i venet0 --dport 1194 -j ACCEPT

iptables -A INPUT -p tcp -i venet0 --dport 80 -j ACCEPT

iptables -A INPUT -j DROP

iptables-save > /etc/iptables.rules

iptables在通常的设置中我们都是使用允许个别规则并阻止其他所有规则的策略,所以

iptables -A INPUT -j DROP

要放到所有规则的最后,更多iptables的设置教学可以参考中文wiki:
http://wiki.ubuntu.org.cn/index.php?title=IptablesHowTo&variant=zh-cn
在重启前启用iptables,可以清理一下之前的规则:

sudo iptables -F
sudo iptables -t nat -F

然后执行我们上面的脚本:

sudo ./iptables_init.sh

这样iptables就建立好了,想让系统每次启动和联网后都生效,修改/etc/network/interfaces网络适配器配置文件:

sudo vi /etc/network/interfaces

在你对应网络适配器配置段的最后添加上对我们脚本最后保存的iptables配置的调用:

pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules

至此配置完毕,在重启前确定你的所有的配置的正确性,在此之前不要关闭你当前连接着的ssh终端!
最后重启服务或者重启网络做最后确定:

sudo /etc/init.d/networking restart

基本搞定,如果你经常受到骚扰可以去装个Fail2ban这样的filter或者更高级的防火墙设定,fail2ban具体参考这篇:http://freshventure.wordpress.com/2009/12/29/为openvpn添加fail2ban的filter/,防火墙参考中文wiki中的即可:http://wiki.ubuntu.org.cn/index.php?title=系统安全&variant=zh-cn

, , , ,

引用地址:http://axiong.me/develop/vps-setup-8-security-iptables.html

要说点啥就在这吧

*



使用新浪微博登陆

Switch to our mobile site