公司有一个平台要提升安全力度,几位老大开会研究了半天得出的结论是“放弃了阿里云的slb而改用了自建的nginx来代替slb”,这个时候就需要运维人员在这台nginx上做iptables,现在公司的出口ip有60.191.94.118-120和60.12.11.48四个地址,而且需要开放的端口是80和443,于是乎在nginx的交互窗口里,我们就需要输入如下的语句:
1
2
3
4
5
6
7
8
9
10
11
|
iptables -A INPUT -s 60.191.94.118
/32
-p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 60.191.94.119
/32
-p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 60.191.94.120
/32
-p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 60.12.11.48
/32
-p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j DROP
iptables -A INPUT -s 60.191.94.118
/32
-p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 60.191.94.119
/32
-p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 60.191.94.120
/32
-p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 60.12.11.48
/32
-p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j DROP
|
输入完毕之后,使用#service iptables save和#service iptables restart来保存iptables规则。然后在阿里云的域名绑定的地方把这台nginx的外网地址绑定到对应的域名里,在浏览器测试一下使用域名是否可以正确访问到服务。如果成功即代表正向流通。
然后测试一下反向,假设我现在使用的公司出口是60.191.94.120,#iptables -L看到的结果是这样的:
看到120这个ip在第三行,那么我们就禁止这个ip,使用#iptables -D INPUT 3,在另一个浏览器输入刚才的域名,这时候应该无法访问,这样就达到了反向验证的目的。而#service iptables restart的话,就会恢复正确访问。
如果是在阿里云里面配置,是借助阿里云的“实例安全组”服务,然后配置具体的规则,如果是要限制只有60.191.94.119这个IP可以访问这台机器,其他机器一概不准通过的话,那么就这么配置:
这样,只有上面两个IP地址可以访问到这台机器,提升了云服务器的安全性。
参考资料:http://www.zsythink.net/archives/1199
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1912464