Linux防火墙(iptables)之234
2016-09-09 本文已影响62人
勤劳一沙鸥
防火墙
引子
在linux下玩耍多年,仅限于centos和ubuntu噢,虽不精通,但基本操作也是唰唰的(cd,pwd谁用谁都唰唰的)。当然主要不是为了玩耍,为了提供web服务。绝大多数情况下,安装服务器后,首先关闭它的防火墙,Selinux,iptables。很好,外边可以访问我们的服务了。
但这样真的可以吗?
其实大家都明白,从我个人,到教我这么干的组长,再到领导都知道这样是不好的,是错的,但我们不改。不是因为我们懒,就是因为我们吃的亏不够。
我们所布署的绝大多数项目都是这样裸奔。
直到今天,我们自己的服务器,中了木马,旧机器因CPU过热宕机好几次才发现。几经努力,木马虽已清除。在安全上也给我深深的上了一课,也由此决定开启防火之路。
正文
开启防火墙
chkconfig iptables on 或
service iptables start 或
/etc/init.d/iptables restart
规则制定
简单理解防火墙的工作方式,就是让哪个端口可以被外部的哪些ip访问,哪些端口或哪些ip禁止访问(请拍砖)
两个关键字:
- ACCEPT 允许
- DROP 忽略
修改 /etc/sysconfig/iptables
可以手动调整规则
#开放本地和Ping
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
#配置内网白名单
-A INPUT -s 10.0.0.0/8 -j ACCEPT
-A INPUT -s 172.16.0.0/12 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -j ACCEPT
#配置外网白名单
-A INPUT -s 180.168.36.198 -j ACCEPT
-A INPUT -s 180.168.34.218 -j ACCEPT
-A INPUT -s 222.73.202.251 -j ACCEPT
#控制端口
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
#拒绝其它
-A INPUT -j DROP
-A FORWARD -j DROP
#开放出口
-A OUTPUT -j ACCEPT
COMMIT
#重启生效
service iptables restart
#复查结果
iptables -nL --line-number