Red Hat Training

A Red Hat training course is available for RHEL 8

第 6 章 配置系统安全性

计算机安全性涉及到对硬件、软件、信息和服务的保护。计算机安全性是一项非常关键的任务,特别是对于那些处理敏感数据并处理商业事务的企业。

这部分只论述安装操作系统后您可以配置的基本安全功能。

6.1. 启用 firewalld 服务

防火墙是一个网络安全系统,它可根据配置的安全规则监控并控制进入和离开的网络流量。防火墙通常在可信内部网络和其它网络间建立一个屏障。

firewalld 服务在 Red Hat Enterprise Linux 中提供防火墙,可在安装过程中自动启用。

要启用 firewalld 服务,请按照以下步骤执行。

流程

  • 显示 firewalld 的当前状态:

    $ systemctl status firewalld
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
       Active: inactive (dead)
    ...
  • 如果没有启用并运行 firewalld,切换到 root 用户,启动 firewalld 服务并在系统重启后自动启动它:

    # systemctl enable --now firewalld

验证步骤

  • 检查 firewalld 是否正在运行并启用:

    $ systemctl status firewalld
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
       Active: active (running)
    ...

其它资源

6.2. 在 rhel 8 web 控制台中管理防火墙

要在 web 控制台中配置 firewalld 服务,请导航至 NetworkingFirewall

默认情况下启用 firewalld 服务。

流程

  1. 要在 web 控制台中启用或禁用 firewalld,使用 Firewall 切换按钮进行切换。

    CS getting started firewall new
注意

另外,您可以使用 Add services… 按钮通过防火墙定义更加精细的访问。

6.3. 管理基本 selinux 设置

Security-Enhanced Linux(SELinux)是系统安全性的额外层,可决定哪些进程可访问哪些文件、目录和端口。这些权限在 SELinux 策略中定义。策略是一组指导 SELinux 安全引擎的规则。

SELinux 有两个可能的状态:

  • Disabled
  • Enabled

启用 SELinux 时,它以以下模式之一运行:

  • Enabled

    • Enforcing
    • Permissive

enforcing 模式 中,SELinux 强制执行载入的策略。SELinux 会基于 SELinux 策略规则来拒绝访问,只有明确指定允许的操作才可以被接受。Enforcing 模式是最安全的 SELinux 模式,它是安装后的默认模式。

permissive 模式 中,SELinux 不强制执行载入的策略。SELinux 不会拒绝访问,但报告违反了 /var/log/audit/audit.log 日志规则的操作。Permissive 模式是安装过程中的默认模式。在一些特殊情况下,permissive 模式也很有用,如进行故障排除时。

其它资源

6.4. 确定 selinux 所需的状态

默认情况下,SELinux 在 enforcing 模式下运行。然而,在特定情况下,您可以将 SELinux 设置为 permissive 模式,甚至可以禁用 SELinux。

重要

红帽建议使您的系统保持在 enforcing 模式下。为了进行调试,您可以将 SELinux 设置为 permissive 模式。

按照以下步骤更改系统中 SELinux 的状态和模式。

流程

  1. 显示当前的 SELinux 模式:

    $ getenforce
  2. 临时设置 SELinux:

    1. Enforcing 模式:

      # setenforce Enforcing
    2. Permissive 模式:

      # setenforce Permissive
      注意

      重启后,SELinux 模式被设置为 /etc/selinux/config 配置文件中指定的值。

  3. 要将 SELinux 模式设置为在重启后保留,修改 SELINUX 配置文件中的 /etc/selinux/config 变量。

    例如: 将 SELinux 切换到 enforcing 模式:

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=enforcing
    ...
    警告

    禁用 SELinux 会降低您的系统安全性。避免使用 SELINUX=disabled 文件中的 /etc/selinux/config 选项禁用 SELinux,因为这可能导致内存泄漏和竞争条件导致内核 panic。反之,通过在内核命令行中添加 selinux=0 参数来在 引导时更改 SELinux 模式来禁用 SELinux

6.5. 在 RHEL 8 web 控制台中切换 SELinux 模式

您可以在 SELinux 菜单项中通过 RHEL 8 web 控制台设置 SELinux 模式。

默认情况下,web 控制台中的 SELinux enforcing 策略是 on,SELinux 在 enforcing 模式下运行。关闭 SELinux 后,您需要将 SELinux 切换到 permissive 模式。请注意,这个选择会在下次引导时自动恢复到 /etc/sysconfig/selinux 文件中定义的配置。

流程

  1. 在 web 控制台中,使用 SELinux 菜单项中的 Enforce policy 切换按钮打开或关闭 SELinux 强制策略。

    cs getting started selinux on

6.6. 其它资源