2.11. 安全性和访问控制


本部分介绍了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 间的安全性、访问控制和相关配置工具的更改。

2.11.1. 新防火墙(firewalld)

在 Red Hat Enterprise Linux 6 中,防火墙功能由 iptables 程序提供,并通过命令行或通过图形配置工具 system-config-firewall 进行配置。在 Red Hat Enterprise Linux 7 中,防火墙功能仍由 iptables 提供。但是,管理员现在通过动态防火墙守护进程、firewalld 及其配置工具: firewall-configfirewall-cmdfirewall-appletiptables 交互,这些守护进程没有包括在 Red Hat Enterprise Linux 7 的默认安装中。

由于 firewalld 是动态的,因此可以随时更改其配置,并且会立即实施。防火墙不需要重新载入,因此现有网络连接不会意外中断。

Red Hat Enterprise Linux 6 和 7 中防火墙之间的主要区别是:

  • firewalld 配置详情不会存储在 /etc/sysconfig/iptables 中。相反,配置详情保存在 /usr/lib/firewalld/etc/firewalld 目录中的各种文件中。
  • 在 Red Hat Enterprise Linux 6 中,防火墙系统在每次进行配置更改时被删除并重新应用所有规则,firewalld 只应用配置差异。因此,firewalld 可以在运行时更改设置,而不会丢失现有连接。

有关在 Red Hat Enterprise Linux 7 中配置防火墙的详情和帮助,请参阅 安全指南

2.11.1.1. 将规则迁移到 firewalld

重要

如果您将 Red Hat Enterprise Linux 7 与另一个红帽产品(如 Red Hat Enterprise Linux OpenStack 平台)搭配使用,则最好继续使用 iptablesip6tables,而不是移至 firewalld

如果您不能确定要使用哪个防火墙工具,请参阅您的产品文档或联系红帽支持团队。

有关如何禁用 firewalld 并继续使用 iptablesip6tables 的说明 :https://access.redhat.com/articles/1229233。

Red Hat Enterprise Linux 6 提供了两个防火墙配置方法:

  • 使用图形化 system-config-firewall 工具来配置规则。此工具将配置详情保存在 /etc/sysconfig/system-config-firewall 文件中,并在 /etc/sysconfig/ iptables /etc/sysconfig/ ip6tables 文件中为 iptables 和 ip6tables 服务创建配置。
  • 手动编辑 /etc/sysconfig/iptables/etc/sysconfig/ip6tables 文件(从头开始),或编辑 system-config-firewall创建的初始配置。

如果您使用 system-config-firewall 配置了 Red Hat Enterprise Linux 6 防火墙,在升级系统并安装 firewalld 后,您可以使用 firewall-offline-cmd 工具将 /etc/sysconfig/system-config-firewall 中的配置迁移到 firewalld 的默认区。

$ firewall-offline-cmd
Copy to Clipboard Toggle word wrap

但是,如果您手动创建或编辑 /etc/sysconfig/iptables/etc/sysconfig/ip6tables,在安装 firewalld 后,您必须使用 firewall-cmdfirewall-config 创建新的配置,或者禁用 firewalld 并继续使用旧的 iptablesip6tables 服务。有关创建新配置或禁用 firewalld 的详情,请参阅 安全指南

2.11.2. 对 PolicyKit 的更改

在以前的版本中,PolicyKit 在 .pkla 文件中使用键值对来定义额外的本地授权。Red Hat Enterprise Linux 7 引进了使用 JavaScript 定义本地授权的功能,允许您在必要时编写授权。

polkitd/etc/polkit-1/ rules. d/usr/share/polkit-1/rules.d 目录中以字典顺序读取 .rules 文件。如果两个文件共享相同的名称,/etc 中的文件将在 /usr 中的文件之前处理。当处理旧的 .pkla 文件时,最后的规则具有优先权。使用新的 .rules 文件时,第一个匹配的规则具有优先权。

迁移后,您的现有规则由 /etc/polkit-1/rules.d/49-polkit-pkla-compat.rules 文件应用。因此,它们可以被 /usr/etc 中的 .rules 文件覆盖,其名称为 49-polkit-pkla-compat in lexicographic order。请确定旧规则没有被覆盖的最简便方法是开始所有其他 .rules 文件的名称,它大于 49。

有关此问题的详情,请查看 桌面迁移和管理指南

2.11.3. 更改用户标识符

在 Red Hat Enterprise Linux 6 中,基本用户标识符为 500。在 Red Hat Enterprise Linux 7 中,基本用户标识符为 1000。这个更改涉及在升级过程中替换 /etc/login.defs 文件。

如果您还没有修改默认的 /etc/login.defs 文件,则会在升级过程中替换该文件。基本用户标识符号被更改为 1000,新用户将在 1000 及以上分配用户标识符。在此更改前创建的用户帐户会保留其当前用户标识符,并继续按预期工作。

如果您修改了默认的 /etc/login.defs 文件,则文件不会在升级过程中替换,且基本用户标识符号则是 500。

2.11.4. 对 libuser 的更改

从 Red Hat Enterprise Linux 7 开始,libuser 库不再支持包含 ldapfiles 模块的配置,或者 ldapshadow 模块。组合这些模块会在密码处理中造成不确定性,这些配置现在在初始化过程中被拒绝。

如果使用 libuser 管理 LDAP 中的用户或组,则必须从模块中删除 文件和 shadow 模块,并 在配置文件中 创建_modules 指令(默认为/etc/libuser.conf )。

2.11.5. 对 opencryptoki 密钥存储的更改

以前版本的 Red Hat Enterprise Linux 使用 opencryptoki 密钥存储版本 2,它使用硬件中的安全密钥加密私有令牌对象。Red Hat Enterprise Linux 7 使用版本 3,它会在软件中使用明确密钥加密私有令牌对象。这意味着,在可与版本 3 一起使用之前,必须迁移版本 2 创建的私有令牌对象。

要迁移私有令牌对象,请执行以下步骤:

  1. 更新软件,确保您的 opencryptoki 版本是最新的。

    # yum update -y opencryptoki
    Copy to Clipboard Toggle word wrap
  2. 验证您的令牌的插槽号使用 pkcsconf 来确定令牌的插槽号。作为 root 运行以下命令:

    # pkcsconf -s
    # pkcsconf -t
    Copy to Clipboard Toggle word wrap

    记录您的令牌的插槽号。插槽描述以 (CCA) 结尾。information 字段将令牌标识为 IBM CCA Token

  3. 停止接口访问,停止 pkcsslotd 服务和任何 opencryptoki 进程。

    # systemctl stop pkcsslotd.service
    Copy to Clipboard Toggle word wrap

    使用以下命令来确定进程通过 kill 实用程序停止,然后终止适当的进程。

    # ps ax | grep pkcsslotd
    Copy to Clipboard Toggle word wrap
  4. 备份迁移前的数据存储,备份您的令牌存储(您的令牌存储在的目录,通常为 /var/lib/opencryptoki/ccatok)。例如,生成目录的一个副本。

    # cp -r /var/lib/opencryptoki/ccatok /var/lib/opencryptoki/ccatok.backup
    Copy to Clipboard Toggle word wrap
  5. 运行迁移实用程序,切换到 /var/lib/opencryptoki/ccatok 目录,然后运行迁移实用程序。

    # cd /var/lib/opencryptoki/ccatok
    # pkcscca -m v2objectsv3 -v
    Copy to Clipboard Toggle word wrap

    在提示时,提供您的 Security Officer(SO)PIN 和 User PIN。

  6. 删除过时的共享内存文件,删除 /dev/shm/var.lib.opencryptoki.ccatok 文件,或者重启系统。

    # rm /dev/shm/var.lib.opencryptoki.ccatok
    Copy to Clipboard Toggle word wrap
  7. 返回到操作接口访问,再次启动 pkcsslotd 服务。

    # systemctl start pkcsslotd.service
    Copy to Clipboard Toggle word wrap

如果您在迁移时遇到问题,请检查以下内容:

  • 确保您以 root 用户身份运行命令,并且 root 是 pkcs11 组的成员。
  • 确保 pkcsconf 实用程序位于 /usr/lib/pkcs11/methods/ 目录中,或者 /usr/sbin/ 目录。
  • 确保令牌数据存储位于 /var/lib/opencryptoki/ccatok/ 目录中。
  • 确保您已提供一个插槽号,并且插槽号正确。
  • 请确定您的 Security Officer (SO) PIN 和 User PIN 是正确的。
  • 确定您有对当前目录的写入权限。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat