利用iptables防火墙保护web服务器
实例:利用iptables防火墙保护web服务器
防火墙--->路由器-->交换机-->pc机
配置之前,清空下已有的规则,放在规则冲突不生效
工作中,先放行端口写完规则,再DROP,然后再配置相应的服务比如nginx,mysql,php服务等
比如开演唱会,先把门打开,放行之后,再关门
1、放行我们的本地回环lo接口
Iptables -A (append的意思,默认追加一条规则,放在防火墙最后一条)
-t 是指定表,不指定默认指定filter
INPUT 匹配目标IP是本机的数据包 (进来的数据包)
-i 指定INPUT接口
-j 动作
ACCEPT:允许通过
DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志信息,然后传给下一条规则继续匹配
2、放行我们的服务端口,先配置防火墙策略,再部署服务,让这些服务可以进来
-m state 监听运行状态的模块
--state RELATED,ESTABLISHED
ESTABLISHED:连接态
RELATED:衍生态,与conntrack关联(FTP)
4、让我们策略的端口运行通过,其他的不可以
5、查看我们的策略,放行的端口,我们写的是 -A 是在防火墙最后一条追加,这里并放行了我们的端口,22,80,443,8080,8443,3306,9000,21
注意:OUTPUT一般不做防护,对出去的数据包不做防护,只对进来的数据包做防火墙策略
INPUT
6、安装httpd服务测试防火墙策略
[root@localhost ~]# yum install httpd
访问之后可以看到iptables进来数据包的流量
7、保存策略,防止重启之后策略丢失
[root@localhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ 确定 ]