一、防火墙
1.防火墙分类
软件:iptables(四表五链)
硬件:firewalld
2.安全
- 硬件环境:OSI
硬件层面:电源(usp)、温度监控、机柜上锁等
系统层面:ssh端口;秘钥登录;防火墙限制来源IP;刚装系统建议升级软件、升级内核
服务层面:mysql、redis密码设定复杂的;用内网IP
web应用:https传输;接入WAF(web应用防火墙);上云
- 云环境:OSI
系统层面:安全组(控制来源IP);安骑士、云服务中心;快照
服务层面:mysql、redis密码设定复杂的;用内网IP
web应用:https传输;接入WAF(web应用防火墙);上云
数据层面:备份、异地备份
二、firewalld基本概述
1.firewalld介绍
firewalld是一个centos7以上系统的内置防火墙,简单,但是底层还是调用的netfilter
2.firewalld核心概念
区域:事先定义好的模板集合
选择对应的区域,就能应用对应区域的模板规则
区域需要捆绑网络接口:
一个区域可以绑定多个网卡
一个网卡只能绑定一个区域
3.常用的区域
| 区域 | 含义 |
|---|---|
| public | 默认区域 |
| trusted | 白名单(默认允许所有) |
| drop | 黑名单(默认拒绝所有) |
三、firewalld的操作
命令:firewall-cmd
一些选项
| 选项 | 含义 |
|---|---|
| --get--default-zone | 查看当前所在区域 |
| --list-all | 查看public(默认)规则明细 |
| --zone=trusted | 指定区域 |
| --permanent | 永久变动规则 |
| --reload | 重载,临时变动的规则会被打回原形 |
| --add | 增加规则 |
| --remove | 移除规则 |
| accept | 动作,允许 |
| drop | 动作,禁止 |
1.限定来源IP,-source=
使用firewalld各个区域规则结合配置,调整默认public区域拒绝所有流量,但如果来源IP是10.0.0.0/24网段则允许。
#1.默认eth0 eth1都走public,那么我们可以将public的所有规则给清空
[root@web01 ~]# firewall-cmd --remove-service=ssh
[root@web01 ~]# firewall-cmd --remove-service=dhcpv6-client
#2.将来源IP是10.0.0.0/24 走trusted区域
[root@web01 ~]# firewall-cmd --add-source=10.0.0.0/24 --zone=trusted
2.限制端口,-port=
#添加一个端口
[root@web01 ~]# firewall-cmd --add-port=8080/tcp
#添加多个端口
[root@web01 ~]# firewall-cmd --add-port={9000,9003,9006}/tcp
3.服务限制,-service=
#添加http服务,放行http服务
[root@web01 ~]# firewall-cmd --add-service=http
4.端口转发
10.0.0.1 请求 10.0.0.7:5555 ---> 实际请求 172.16.1.8:22
[root@web01 ~]# firewall-cmd --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.8
#需要开启转发规则
[root@web01 ~]# firewall-cmd --add-masquerade
5.富规则,-rich-rule='rule ...'
①比如允许10.0.0.1主机能够访问80端口或http服务,允许172.16.1.0/24能访问8080端口
[root@web01 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/32" service name="http" accept'
[root@web01 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.16.1.0/24" port port="8080" protocol="tcp" accept'
②当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.8的22端口
[root@web01 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/32" forward-port port="5555" protocol="tcp" to-port="22" to-addr=172.16.1.8'
#开启转发规则
[root@web01 ~]# firewall-cmd --add-masquerade
6.实现内部主机共享上网
ifdown eth0 关闭eth0网卡
ifup eth0 开启eth0网卡
1.修改内网网卡配置文件,添加
GATEWAY=能上网机器的内网IP
DNS1=223.5.5.5
2.重启网卡
ifdown eth1 && ifup eth1
3.开启转发规则
firewall-cmd --add-masquerade --permanent #永久开启
4.测试









网友评论