微服务 教程
1085个小节阅读:196.5k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Centos 系统中集成了多款防火墙管理工具,其中 firewalld服务是默认的防火墙配置管理工具,它拥有基于 CLI(命 令行界面)和基于 GUI(图形用户界面)的两种管理方式。
firewalld 中常用的区域名称及测了规则
区域 | 默认策略规则 |
---|---|
trusted | 允许所有的数据包 |
home | 拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh、mdns、ipp-client、 amba-client 与 dhcpv6-client 服务相关,则允许流量 |
internal | 等同于 home 区域 |
work | 拒绝流入的流量,除非与流出的流量数相关;而如果流量与 ssh、ipp-client 与 dhcpv6-client 服务相关,则允许流量 |
public | 拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh、dhcpv6-client 服务 相关,则允许流量 |
external | 拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量 |
dmz | 拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量 |
block | 拒绝流入的流量,除非与流出的流量相关 |
drop | 拒绝流入的流量,除非与流出的流量相关 |
使用firewall-cmd 命令行工具。 使用firewall-config 图形工具。 编写/etc/firewalld/中的配置文件。
xxxxxxxxxx
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态:
systemctl status firewalld
firewall-cmd --state
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
Linux 命令时曾经听到,命令行终端是一种极富效率的工作方式, firewalld-cmd 是 firewalld 防火墙配置管理工具的 CLI(命令行界面)版本。
firewalld-cmd 命令中使用的参数以及作用
参数 | 作用 |
---|---|
--get-default-zone | 查询默认的区域名称 |
--set-default-zone=<区域名称> | 设置默认的区域,使其永久生效 |
--get-zones | 显示可用的区域 |
--get-services | 显示预先定义的服务 |
--get-active-zones | 显示当前正在使用的区域与网卡名称 |
--add-source= | 将源自此 IP 或子网的流量导向指定的区域 |
--remove-source= | 不再将源自此 IP 或子网的流量导向某个指定区域 |
--add-interface=<网卡名称> | 将源自该网卡的所有流量都导向某个指定区域 |
--change-interface=<网卡名称 | 将某个网卡与区域进行关联 |
--list-all | 显示当前区域的网卡配置参数、资源、端口以及服务等信息 |
--list-all-zones | 显示所有区域的网卡配置参数、资源、端口以及服务等信息 |
--add-service=<服务名> | 设置默认区域允许该服务的流量 |
--add-port=<端口号/协议> | 设置默认区域允许该端口的流量 |
--remove-service=<服务名> | 设置默认区域不再允许该服务的流量 |
--remove-port=<端口号/协议> | 设置默认区域不再允许该端口的流量 |
--reload | 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则 |
--panic-on | 开启应急状况模式 |
--panic-off | 关闭应急状况模式 |
注意:
使用 firewalld 配置的防火墙策略默认为运行时(Runtime)模式,又称为当前生效模式,而且随着系统的重启会失效。如果想让配 置策略一直存在,就需要使用永久(Permanent)模式了,方法就是在用 firewall-cmd 命令正常设置防火墙策略时
添加 --permanent 参数,
这样配置的防火墙策略就可以永久生效了。但是,永久生效模式有一个“不近人情”的特点,就是使用它设置的策略只有在系统重启之后才能自动生效。
xxxxxxxxxx
firewall-cmd --get-default-zone
xxxxxxxxxx
firewall-cmd --list-all
xxxxxxxxxx
firewall-cmd --get-active-zones
xxxxxxxxxx
firewall-cmd --set-default-zone=home
firewall-cmd --get-default-zone
xxxxxxxxxx
firewall-cmd --list-service
xxxxxxxxxx
firewall-cmd --add-service=http --zone=public
xxxxxxxxxx
firewall-cmd --list-all --zone=public
xxxxxxxxxx
firewall-cmd --remove-service=http --zone=public
xxxxxxxxxx
firewall-cmd --add-service=http --add-service=https --permanent
firewall-cmd --reload
firewall-cmd --list-all
xxxxxxxxxx
[root@localhost local]# firewall-cmd --zone=public --list-ports
xxxxxxxxxx
[root@localhost local]# firewall-cmd --zone=public --add-port=8080/tcp
success
xxxxxxxxxx
[root@localhost local]# firewall-cmd --zone=public --remove-port=8080/tcp
success
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。
说明:
当您全神贯注地使用它给照片进行美颜 的时候,它却在后台默默监听着浏览器中输入的密码信息,而这显然不应该是它应做的事情,SELinux 安全子系统就是为了杜绝此类情况 而设计的,它能够从多方面监控违法行为。
- 对服务程序的功能进行限制(确保程序干不了出格的事情)
- 对文件资源的访问资源限制(SELinux安全上下文确保文件资源只能被其他所属的服务程序进行访问)
SELinux 服务有三种配置模式:
SELinux 服务的主配置文件中,定义的是 SELinux 的默认运行状态,可以将其理解为系 统重启后的状态,因此它不会在更改后立即生效。可以使用 getenforce 命令获得当前 SELinux 服务的运行模式:
xxxxxxxxxx
[root@linuxprobe ~]# getenforce
Enforcing
注意:
修改 SELinux 当前的运行模式(0 为禁用,1 为启用)。这种修改只是临时的,在系统 重启后就会失效:
setenforce 0
getenforce
1. 如何在 firewalld 中把默认的区域设置为 dmz?
A firewall-cmd --set-default-zone=dmz
B firewall-cmd --set-default-zone=public
C firewall-cmd dmz=--set-default-zone
D --set-default-zone=dmz firewall-cmd
2. Linux系统中 如何让 firewalld 中以永久(Permanent)模式配置的防火墙策略规则立即生效?
A firewall-cmd --start
B firewall-cmd --load
C firewall-cmd --restart
D firewall-cmd --reload
1=>A 2=>D