【Linux】SELinux 的基本操作与防火墙的管理
目录
一、SELinux的管理
1.1 Linux 系统的安全机制
1.2 SELinux 的概述
1.3 SELinux 的配置
1.3.1 查看 SELinux 的工作方式
1.3.2 设置 SELinux 的工作方式
1.3.2.1 基于配置文件修改(推荐方式)
1.3.2.2 基于命令方式修改
二、防火墙管理
2.1 防火墙概览
2.2 防火墙命令
一、SELinux的管理
1.1 Linux 系统的安全机制
Linux 系统的安全机制主要分为四层:
1. FileSystem:文件系统的权限保障 Linux 系统的安全,基于 3 位一组共 9 组。chmod、chown(修改一个对象的所有者和所属组)、setfacl(特殊用户的特殊权限:负责对用户进行定制化权限设置)
2. Service:基于 Service 服务本身的角度干涉不同角色的权限,从而保障 Linux 服务器的安全稳定运行。例如 crontab 定时任务(黑白名单管理)。
3. Firewall:对 Linux 操作系统的防火墙设置相应的规则。
4. SELinux:可以理解为一种高级防火墙技术,通过安全上下文、布尔变量、端口号规则进行详细的设置,从而保障 Linux 防火墙的安全。
黑客如果想攻击 Linux 服务器,必须通过如上四种屏障。故而 Linux 作为安全的操作系统,保障服务的高效运行。
1.2 SELinux 的概述
SELinux(Security Enhanced Linux)是由美国国家安全局开发,为了避免资源误用而设计的。它由一系列的规则组成,决定了哪些进程可以访问哪些文件、目录和端口号。
例如:Apache 服务默认的根目录站点为 /var/www/html(静态资源存放位置),如果此时启用 SELinux,用户在访问 Apache 服务时会多出一道屏障,会进行规则检查(判断进程与其访问的目录及文件的安全上下文是否对应,符合则允许访问)
1.3 SELinux 的配置
1.3.1 查看 SELinux 的工作方式
1. 查看默认的工作方式
getenforce
2. SELinux 的三种工作方式
- enforcing:强制实施状态。如果访问服务与设定的规则不匹配,则禁止访问。
- permissive:允许访问。如果访问规则与设置的要求不一致,可以访问但提示警告。
- disabled:关闭 SELinux
通过配置文件查看:
vim /etc/selinux/config
3. SELinux 的管理范围
- targeted:对大部分网络服务进行管制。
- minimum:仅对选定的网络服务进行管制,一般不使用。
- mls:多级别安全,它会对 Linux 系统中的所有的选项生效,会占用系统 40% 的性能。
设置 SELinux 对系统的管理范围(一般不进行设置):
vim /etc/selinux/configSELINUXTYPE=targeted
1.3.2 设置 SELinux 的工作方式
1.3.2.1 基于配置文件修改(推荐方式)
1. 修改配置文件
vim /etc/selinux/config
2. 重启 Linux 操作系统
配置文件修改永久生效
1.3.2.2 基于命令方式修改
命令方式相对于配置文件,只会针对当前生效,并不会永久有效。
- setenforce 0:表示设置Permissive
- setenforce 1:表示设置Enforcing
- disabled:只能通过配置文件进行修改
二、防火墙管理
2.1 防火墙概览
早期 RHEL7 之前防火墙使用的是 iptables,RHEL8 使用的是 firewalld(改进版 iptables)。无论是 iptables 还是 firewalld ,都是借助 Linux 内核中包含的 netfilter 组件。
2.2 防火墙命令
1. 查看防火墙状态
systemctl status firewalld.service
2. 停止防火墙
systemctl stop firewalld.service
3. 启动防火墙
systemctl start firewalld.service
4. 重启防火墙
systemctl restart firewalld.service
5. 开启自启动
systemctl enable firewalld.service
6. 判断是否为开机自启
systemctl is-enabled firewalld.service
7. 设置开机自启并启动当前服务
systemctl is-enable ---now firewalld.service