前言
在Internet中,企业通过架构各种应用系统来为用户提供各种网络服务,如FTP服务,Wed网站等。
而通过防火墙可以避免受到恶意攻击。
防火墙概述
- 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
- 支持ipv4、ipv6防火墙设置以及以太网桥
- 支持服务或应用程序直接添加防火墙规则接口
- 拥有两种配置模式
运行时配置:重启时会自动清空
永久配置:配置完需重启
Firewalld网络区域
1.区域介绍
- 区域如同进入主机的安全门,每个区域都具有不同的限制程度的规则
- 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
- 默认情况下,public区域是默认区域,包含所有接口
2.Firewalld处理数据过程
检查数据来源的源地址
- 若源地址关联到特定的区域,则执行该区域所指定的规则
- 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
- 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则
Firewalld防火墙的配置方法
1.永久配置:
- 不立即生效,除非firewalld重启或重新加载配置
- 中断所有连接
- 可以修改服务设置
2.运行时配置(临时)
- 立即生效,并持续到firewalld重启或重新加载配置
- 不中断任何连接
- 不能修改服务设置
Firewalld中的配置文件
- Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/lib/firewalld/中的配置
- /etc/firewalld/:用户自定义配置文件,需要时可从/usr/lib/firewalld/中拷贝
- /usr/ib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld中的配置。
Firewalld命令格式
- 启动/关闭防火墙
systemctl start/stop firewalld
- 查看防火墙状态
systemctl status firewalld
或
firewall-cmd --state
- 查看可以使用不容易理解的名称表示的所有服务
ls /usr/lib/firewalld/services
- 查看支持的所有服务名称
firewall-cmd --get-services
- 查看所有区域
firewalld-cmd --get-zones
- 查看当前默认区域
firewalld-cmd --get-default-zone
- 查看指定区域中有没有相关的服务
firewall-cmd --zone=public (区域名称)--query-service=服务名称(例如ssh,ftp等)
- 查看所有区域开放的服务
firewall-cmd --list-all-zones
开启HTTP服务:
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
删除HTTP服务:
firewall-cmd --permanent --zone=public --remove-service=http
firewall-cmd --reload
设置80号端口:
firewall-cmd --permanent --zone=public --add-port=80/tcp
修改网卡区域设置
firewall-cmd --permanent --zone=external --change-interface=ens37
firewalld-cmd --reload