centos7.9 升级 rhel7.9

centos7.9 转换 rhel7.9

centos7 需要升级到cengtos7.9版本(此处略)

注意: 所有系统都不支持 stream 版本,例如 centos 8 stream 版本不可转换;

依赖

安装subscription-manager

yum install subscription-manager -y

修改官方源(没有使用过加速,请省略)【非必须步骤】

修改CentOS-Base文件

vim /etc/yum.repos.d/CentOS-Base.repo
# 对于 CentOS Linux 和 Oracle Linux 7 :
https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/x86_64/os/
# 对于 CentOS Linux 和 Oracle Linux 8 :
https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/os/

例如:

[os]
gpgcheck=1
gpgkey=http://mirrors.tencentyun.com/centos/RPM-GPG-KEY-CentOS-7
enabled=1
baseurl=https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi/server/7/7Server/x86_64/os/
name=Qcloud centos os - $basearch

安装Convert2RHEL

下载 Red Hat GPG 密钥

curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://www.redhat.com/security/data/fd431d51.txt

下载 https://cdn.redhat.com 服务器的 SSL 证书,其中包含 Convert2RHEL 软件仓库

curl --create-dirs -o /etc/rhsm/ca/redhat-uep.pem https://ftp.redhat.com/redhat/convert2rhel/redhat-uep.pem

安装 Convert2RHEL 存储库文件

# centos7
curl -o /etc/yum.repos.d/convert2rhel.repo https://ftp.redhat.com/redhat/convert2rhel/7/convert2rhel.repo
# centos8
curl -o /etc/yum.repos.d/convert2rhel.repo https://ftp.redhat.com/redhat/convert2rhel/<version_number>/convert2rhel.repo

安装convert2rhel

yum -y install convert2rhel

使用convert2rhel

在线升级因为科学上网的原因无法连接到redhat的OSS服务导致失败,以下使用下载DVD镜像升级

下载RHEL7.9的DVD介质

开发者网站注册账号,下载DVD镜像(过程略)

以下步骤建议全程使用root用户操作

挂载DVD镜像
mkdir -p /mnt/rhiso
mount -o loop rhel-server-7.9-x86_64-dvd.iso /mnt/rhiso
配置安装源
cat > /etc/yum.repos.d/rhel.repo << EOF
[RHEL7]
name=Red Hat Enterprise Linux 7
baseurl=file:///mnt/rhiso
enabled=1
EOF

创建配置文件

新建 convert2rhel.ini文件

[subscription_manager]
password = <password>

修改文件读写权限

chmod 600 convert2rhel.ini

开始转换

convert2rhel --username <username> --config-file temp.ini --disable-submgr --disablerepo=* --enablerepo=RHEL7 -y --no-rpm-va

使用您的红帽帐户用户名凭证替换 username。将 config_file_name 替换为您创建的配置文件的名称,如 convert2rhel.ini。使用您要附加到该系统的订阅池 ID 替换 pool_ID。如果您不知道池 ID,请省略 --pool 选项,以生成帐户的所有可用的订阅列表。

转换成功后需要重启,reboot。

测试链接失败
Checking internet connectivity using address 'http://static.redhat.com/test/rhel-networkmanager.txt'.

测试到redhat的OSS失败,有以下2种解决方式:

  • 全局代理科学上网(略)
  • 改hosts到本地 127.0.0.1 static.redhat.com;本地发布web服务,rhel-networkmanager.txt文件的内容只有 OK; 工具在这里:tools.tar.gz
# 解压执行即可
chmoe +x web
./web
内核模块不受支持

参照 文档

CRITICAL - Tainted kernel modules detected:
  xpmem

解决步骤:(存在多个不兼容内核模块同理)

  • 卸载正在运行的模块
modprobe -r xpmem
  • 添加防自动加载黑名单
echo "blacklist xpmem" >> /etc/modprobe.d/local-dontload.conf
  • 添加安装黑名单,禁止关联(依赖)安装模块
echo "install xpmem /bin/false" >> /etc/modprobe.d/local-dontload.conf
  • Red Hat Enterprise Linux 7 的继续步骤

    • 备份配置文件
    cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak
    
    • 重建ramdisk
    dracut --omit-drivers xpmem -f
    
    • 配置永久忽略加载对应模块
    MODNAME="xpmem"; echo "omit_dracutmodules+=\" $MODNAME \"" >> /etc/dracut.conf.d/omit-$MODNAME.conf
    
    • 将module_name.blacklist附加到内核命令
    sed -i '/^GRUB_CMDLINE_LINUX=/s/"$/ module_name.blacklist=1 rd.driver.blacklist=module_name"/' /etc/default/grub
    
    • 重新安装grub2以使内核cmdline更改生效
    grub2-mkconfig -o /boot/grub2/grub.cfg
    

    如果系统使用UEFI,则路径为/boot/efi/efi/redhat/grub.cfg

    • 备份initramfs
    cp /boot/initramfs-$(uname -r)kdump.img /boot/initramfs-$(uname -r)kdump.img.$(date +%m-%d-%H%M%S).bak
    
    • 将黑名单添加至KDUMP_COMMANDLINE_APPEND中
    sed -i '/^KDUMP_COMMANDLINE_APPEND=/s/"$/ rd.driver.blacklist=module_name"/' /etc/sysconfig/kdump
    
    • 重启kdump
    kdumpctl restart
    
    • 重建ramdisk
    mkdumprd -f /boot/initramfs-$(uname -r)kdump.img
    
    • 重启系统
    reboot
    
  • Red Hat Enterprise Linux 8和9的继续步骤

    • 备份initramfs
    cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak
    
    • 重建ramdisk
    dracut --omit-drivers xpmem -f
    
    • 配置永久忽略加载对应模块
    MODNAME="xpmem"; echo "omit_dracutmodules+=\" $MODNAME \"" >> /etc/dracut.conf.d/omit-$MODNAME.conf
    
    • 获取当前内核参数
    grubby --info DEFAULT
    grubby --info ALL  # (To view changes in all available kernels) 
    
    • 在内核参数列表中附加黑名单(rhel8&9中grubby通过更改变量控制内核加载参数)
    grubby --args  "<xpmem.blacklist=1 rd.driver.blacklist=xpmem>"  --update-kernel ALL
    
    • 备份initramfs
    cp /boot/initramfs-$(uname -r)kdump.img /boot/initramfs-$(uname -r)kdump.img.$(date +%m-%d-%H%M%S).bak
    
    • 将黑名单添加至kdump initramfs
    sed -i '/^KDUMP_COMMANDLINE_APPEND=/s/"$/ rd.driver.blacklist=xpmem"/' /etc/sysconfig/kdump
    
    • 重启kdump服务
    kdumpctl restart
    
    • 重建 kdump 镜像
    mkdumprd -f /boot/initramfs-$(uname -r)kdump.img
    
    • 重启系统 reboot
ntp无法升级

出现SystemExit: Only Upgrade available on package: ntpdate-4.2.6p5-29.el7_8.2.x86_64为ntp包找不到对应升级路径,卸载ntp升级后安装回来即可

yum remove ntpdate -y

排错、日志

  • /var/log/convert2rhel/convert2rhel.log 文件列出了 debug、info、warning、error 和 critical 信息。
  • /var/log/convert2rhel/rpm_va.log 文件列出了未转换系统上用户已修改了的所有软件包文件。此输出由 rpm -Va 命令产生,该命令将自动运行,除非将 --no-rpm-va 选项与 convert2rhel 命令一起使用。

后续工作

  • 删除挂载的iso源,删除/etc/yum.repos.d/rhel.repo文件
  • 删除CentOS的源,删除/etc/yum.repos.d/CentOS-Epel.repo和/etc/yum.repos.d/CentOS-Base.repo文件
  • 删除convert2rhel的源,删除/etc/yum.repos.d/convert2rhel.repo文件
  • 清理hosts文件,删除127.0.0.1 static.redhat.com

升级后的检查

检查依赖关系

yum check dependencies

如果该命令没有显示输出结果,则不需要进一步的操作。

查看订阅信息(留意到期时间)

subscription-manager list --consumed

查看系统版本信息

cat /etc/redhat-release

注册订阅

使用注册订阅

sudo subscription-manager register

按照提示一步步确认即可

新的订阅默认使用Simple Content Access方式,不需要附加授权操作

rhel7升级rhel8

注意: 升级前做好备份和快照!
官方文档地址

准备工作

检查名称基于内核使用的前缀(eth)的网络接口卡(NIC)

检查基于eth0这样的网卡,需要在升级前改为udev(ens0样式)

  • /etc/udev/rules.d/ 路径下寻找net网卡的配置文件,如果没有就新建一个/etc/udev/rules.d/10-persistent.rules文件,内容如下:
# MAC address match. Will name the device with the specified MAC address the value given in the NAME property:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="*", NAME="ens0"

address为mac地址,使用 ip link 命令查询mac地址填入。
这里使用已有的70-persistent-net.rules修改网卡名称

  • 使配置文件生效
# 如有则不用新建
mkdir -p /etc/dracut.conf.d
echo install_items+=\" /etc/udev/rules.d/70-persistent-net.rules \" > /etc/dracut.conf.d/include-nic-names-rules.conf
dracut -f
  • 后续工作
    包括:ifcfg-* 文件检查, NetworkManager 配置检查, firewalld 检查, iptables 规则检查
    • 修改ifcfg文件(网卡配置参数)
      在目录:/etc/sysconfig/network-scripts/下原有ifcfg-eth0文件复制一份ifcfg-ens0
      修改内容:
    DEVICE=ens0
    

    如果需要ipv6那么,route6-eth0 也复制一份,修改内容为:default dev ens0

    • NetworkManager 使用nmtui edit新建对应链接(详细步骤略)
    • firewalld 与 iptables 检查(略)

继续后续工作之前建议重启一次设备

授权订阅检查

  • Red Hat Subscription Manager 确保您的系统已被成功注册到 Red Hat Content Delivery Network (CDN)或 Red Hat Satellite(不文档不涉及Red Hat Satellite内容)
  • 确保 Red Hat Enterprise Linux Server 订阅有效
subscription-manager list --installed

应该在产品名称中看到 Server,其状态为 Subscribed

如果使用简单内容访问(Simple content access)授权方式使用以下方式确定系统已经注册

subscription-manager identity

访问网站(SaaS服务)查看授权分配情况

配置安装源

# 启用 Base 软件仓库
subscription-manager repos --enable rhel-7-server-rpms
# 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库
subscription-manager repos --enable rhel-7-server-extras-rpms
# 设置 Red Hat Subscription Manager ,以使用最新的 RHEL 7 内容
subscription-manager release --unset
# 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本,请运行以下命令来清除锁
yum versionlock clear
# 将所有软件包更新到最新的 RHEL 7 版本
yum update
reboot

使用Leapp升级

临时禁用防病毒软件以防止升级失败(略)

  • 安装Leapp升级程序
yum install leapp-upgrade -y
  • 启动预升级过程
leapp preupgrade
# 或者指定特定的版本使用--target标签
leapp preupgrade --target 8.6

受支持的升级路线地址参考官网

  • 使用leapp answer确认升级配置
# 查询/var/log/leapp/answerfile文件,去顶其中的确定项
cat /var/log/leapp/answerfile
# 例如,要确认对 Disable pam_pkcs11 module in PAM configuration? 问题的 True 响应,请输入以下命令:
leapp answer --section remove_pam_pkcs11_module_check.confirm=True
  • 检查 /var/log/leapp/leapp-report.txt 文件中的报告,并手动解决问题
手动解决问题
  • 风险因素:
    • High - 对系统造成破坏的可能性较高
    • Medium - 可能会同时影响到系统和应用程序
    • Low - 不应该影响系统,但可能会影响应用程序
    • Info - 对系统或应用程序没有预期的影响
  • Inhibitor - 阻止升级过程(强制停止),否则系统将变得无法引导、无法访问或无法正常工作。
  • 修复 - 报告问题的可操作解决方案
  • Possible problems with remote login using root account(使用root用户远程登录系统的可能问题)
    在/etc/ssh/sshd_config配置文件中添加PermitRootLogin prohibit-password禁用root使用密码远程登录
  • Multiple devel kernels installed(多个内核开发包导致的审计问题)
    卸载多余的内核包,例如:
yum -y remove kernel-devel-3.10.0-1160.el7
  • Leapp detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed(不支持的内核驱动程序)
    这里是:
     - floppy
     - pata_acpi

软盘和ata硬盘驱动没有实际用到的设备,直接卸载出内核

modprobe -r pata_acpi
modprobe -r floppy

如果有使用到的内核驱动,就无法升级,一般云服务器的内核驱动都可以跟客服沟通后解决(修改虚拟机配置参数等)

  • Packages not signed by Red Hat found on the system(没有签名的程序)
  • 先卸载,升级好了再使用epel安装即可
yum remove -y xpmem cloud-init libxpmem

解决后使用leapp preupgrade --target 8.6再次确认没有问题之后进行升级
一帮情况下没有Inhibitor问题的都能升级成功

开始升级

  • 升级
leapp upgrade --target 8.6
reboot

需要等很久,重启后还是需要等很久
出现:Data file /etc/leapp/files/device_driver_deprecation_data.json is invalid or could not be retrieved. 参考 文章 解决 附件:

tar -xzf leapp-data-21.tar.gz -C /etc/leapp/files && rm leapp-data-21.tar.gz
  • 验证升级
cat /etc/redhat-release
uname -r
4.18.0-305.el<target_os>.x86_64
  • 升级后续工作

    • python3的支持
    alternatives --set python /usr/bin/python3
    
    • 从 /etc/dnf/dnf.conf 配置文件中的排除列表中删除任何剩余的 Leapp 软件包,包括 snactor 软件包。
    # 从 exclude 列表中删除所有软件包
    yum config-manager --save --setopt exclude=''
    
    • 删除剩余的 RHEL 7 软件包,包括剩余的 Leapp 软件包

      • 确定旧的内核版本
      cd /lib/modules && ls -d *.el7*
      3.10.0-1160.71.1.el7.x86_64  3.10.0-1160.83.1.el7.x86_64  3.10.0-1160.el7.x86_64
      
      • 从旧内核中删除弱模块。如果您有多个旧内核,请对每个内核重复此步骤
      [ -x /usr/sbin/weak-modules ] && /usr/sbin/weak-modules --remove-kernel <version>
      # 具体的是
      [ -x /usr/sbin/weak-modules ] && /usr/sbin/weak-modules --remove-kernel 3.10.0-1160.71.1.el7.x86_64
      [ -x /usr/sbin/weak-modules ] && /usr/sbin/weak-modules --remove-kernel 3.10.0-1160.83.1.el7.x86_64
      [ -x /usr/sbin/weak-modules ] && /usr/sbin/weak-modules --remove-kernel 3.10.0-1160.el7.x86_64
      

      忽略以下错误信息,如果内核包已被删除,就会产生这个错误信息

       /usr/sbin/weak-modules: line 1082: cd: /lib/modules/3.10.0-1160.71.1.el7.x86_64/weak-updates: No such file or directory
      
      • 从引导装载程序条目中删除旧内核。如果您有多个旧内核,请对每个内核重复此步骤
     /bin/kernel-install remove <version> /lib/modules/<version>/vmlinuz
     # 具体步骤
     /bin/kernel-install remove 3.10.0-1160.71.1.el7.x86_64 /lib/modules/3.10.0-1160.71.1.el7.x86_64/vmlinuz
     /bin/kernel-install remove 3.10.0-1160.83.1.el7.x86_64 /lib/modules/3.10.0-1160.83.1.el7.x86_64/vmlinuz
     /bin/kernel-install remove 3.10.0-1160.el7.x86_64 /lib/modules/3.10.0-1160.el7.x86_64/vmlinuz
    
    • 找到剩余的 RHEL 7 软件包
    rpm -qa | grep -e '\.el[67]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sort
    
    • 从 RHEL 8 系统中删除剩余的 RHEL 7 软件包,包括旧的内核软件包和 kernel-workaround 软件包(略)
    • 删除剩余的 Leapp 依赖软件包
    yum remove leapp-deps-el8 leapp-repository-deps-el8 -y
    
    • 删除任何剩余的空目录
    rm -r /lib/modules/*el7*
    
    • 禁用其软件包不兼容 RHEL 8 的 YUM 软件仓库。由 RHSM 管理的软件仓库会自动处理。禁用这些软件仓库(暂时不明觉厉ID是啥)
    yum config-manager --set-disabled <repository_id>
    
  • 升级到8.7

# 取消设置 Red Hat Subscription Manager 或 RHUI 以使用最新的 RHEL 8.7 内容
subscription-manager release --unset
yum update
  • 验证旧内核是否已从 bootloader 条目中删除
grubby --info=ALL | grep "\.el7" || echo "Old kernels are not present in the bootloader."

应用安全策略

注意: 此步骤可以在升级9之后再操作

在原位升级过程中,Leapp 会将 SELinux 的模式设置为 permissive。当成功升级系统时,您必须手动将 SELinux 模式改为 enforcing。

确保没有 SELinux denials,例如,使用 ausearch 工具程序

ausearch -m AVC,USER_AVC -ts boot

编辑/etc/selinux/config文件

# 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
# SELINUXTYPE= can take one of these two values:
#       targeted - Targeted processes are protected,
#       mls - Multi Level Security protection.
SELINUXTYPE=targeted

注意enforcing!!!

之后重启系统,使配置生效。

  • 验证系统状态,执行getenforce 命令返回 Enforcing
$ getenforce
Enforcing

解决selinux的拒绝

识别 SELinux 拒绝

当您的情况被 SELinux 阻止时,/var/log/audit/audit.log 是要查询审计日志。
使用命令:

ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent

查询拒绝的内容。
如果上述的命令不显示任何信息,参见文档解决。

分析 SELinux 拒绝信息
  • 先决条件:policycoreutils-python-utils 和 setroubleshoot-server 软件包已安装
    yum install -y policycoreutils-python-utils setroubleshoot-serve
    

如果安装失败,现实情况就是启用selinux导致的不可安装,临时禁用selinux:

setenforce 0
  • 使用sealert命令列出有关日志拒绝的详情
    sealert -l "*"
    

一般使用建议操作即可,或者需要执行Plugin catchall suggests的操作建议

设置系统范围的加密策略

使用 update-crypto-policies 工具查看当前等级

update-crypto-policies --show
DEFAULT

可以使用命令,将策略切换到FUTURE,防止近期的安全事件

update-crypto-policies --set FUTURE
Setting system policy to FUTURE

设置安全基线

安装scap-security-guide

sudo yum install scap-security-guide -y
  1. 查找合适的安全合规数据流 .xml 文件:
ls /usr/share/xml/scap/ssg/content/
ssg-firefox-cpe-dictionary.xml  ssg-firefox-ocil.xml          ssg-rhel6-cpe-oval.xml  ssg-rhel6-oval.xml            ssg-rhel7-ds-1.2.xml  ssg-rhel7-xccdf.xml           ssg-rhel8-ds.xml
ssg-firefox-cpe-oval.xml        ssg-firefox-oval.xml          ssg-rhel6-ds-1.2.xml    ssg-rhel6-xccdf.xml           ssg-rhel7-ds.xml      ssg-rhel8-cpe-dictionary.xml  ssg-rhel8-ocil.xml
ssg-firefox-ds-1.2.xml          ssg-firefox-xccdf.xml         ssg-rhel6-ds.xml        ssg-rhel7-cpe-dictionary.xml  ssg-rhel7-ocil.xml    ssg-rhel8-cpe-oval.xml        ssg-rhel8-oval.xml
ssg-firefox-ds.xml              ssg-rhel6-cpe-dictionary.xml  ssg-rhel6-ocil.xml      ssg-rhel7-cpe-oval.xml        ssg-rhel7-oval.xml    ssg-rhel8-ds-1.2.xml          ssg-rhel8-xccdf.xml
  1. 根据从合适的数据流所选的配置文件来修复系统
oscap xccdf eval --profile pci-dss --remediate /usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml

您可以根据您要强化系统的配置文件的 ID 来替换 --profile 参数中的 pci-dss 值。有关 RHEL 8 中所支持的配置文件的完整列表,请参阅 RHEL 中所支持的 SCAP 安全配置文件

  1. 验证系统是否遵从配置文件,并将结果保存到 HTML 文件中:
oscap xccdf eval --report pcidss_report.html --profile pci-dss /usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml

rhel8升级rhel9

注意: 升级前做好备份和快照!
官方文档地址
rhel9 放弃了RSA/SHA1 加密的包,会影响一些软件包

升级准备

需要有Red Hat Subscription Manager,并有可用的授权

  1. 删除从7升级到8使用的临时目录
rm -rf /root/tmp_leapp_py3
  1. 启用Base 和 Appstream软件仓库
subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms --enable rhel-8-for-x86_64-appstream-rpms
  1. 将系统锁定到升级路线确定的8.7版本
subscription-manager release --set 8.7
  1. 清除dnf versionlock锁定到特定版本的软件锁
dnf versionlock clear
  1. 升级到最新状态
dnf update -y
  1. 重启
    重启后执行setenforce 0临时禁用selinux
  2. 安装leapp
dnf install leapp-upgrade
  1. 下载leapp升级数据文件,并放置/etc/leapp/files/目录中,附件地址

  2. 临时禁用防病毒软件以防止升级失败

  3. 用NetworkManager 替代network-scripts的操作参考

网卡装好重新设置就好,不必迁移配置
需要提前安装NetworkManager 软件包

yum install 

预升级

# 目前只支持升级到9.0
leapp preupgrade --target 9.0
  • 使用leapp answer确认升级配置
# 查询/var/log/leapp/answerfile文件,去顶其中的确定项
cat /var/log/leapp/answerfile
# 例如,要对问题 Are all VDO devices, if any, successfully converted to LVM management? 确认一个 True 的响应,请执行以下命令:
leapp answer --section check_vdo.confirm=True
  • 检查 /var/log/leapp/leapp-report.txt 文件中的报告,并手动解决问题

  • 处理问题,这里是需要卸载2个RSA-1的包

yum remove mft mpi-selector -y

开始升级

leapp upgrade --target 9.0
# 手动重启
reboot

验证升级后状态

cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)
uname -r
5.14.0-70.10.1.el9_0.x86_64
subscription-manager release
Release: 9.0

升级后续工作

删除Leapp 软件包

dnf config-manager --save --setopt exclude=''
# 删除leapp的临时目录
rm -rf /root/tmp_leapp_py3
# 删除剩余的 RHEL 8 软件包,包括剩余的 Leapp 软件包
rpm -qa | grep -e '\.el[78]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sort
# 删除剩余的 Leapp 依赖软件包
dnf remove leapp-deps-el9 leapp-repository-deps-el9

升级系统至9.1

subscription-manager release --unset
dnf update

BIOS引导的更新

grub2-install <GRUB_DEVICE> 

应用安全策略

启用SELinux

  • 设置 SELINUX=enforcing
vim /etc/selinux/config
# 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
# SELINUXTYPE= can take one of these two values:
#       targeted - Targeted processes are protected,
#       mls - Multi Level Security protection.
SELINUXTYPE=targeted
  • 重启
reboot
  • 验证
getenforce
Enforcing

调整加密策略

细节参见文档

使用 update-crypto-policies 工具,如未安装则需要安装;

update-crypto-policies --show
DEFAULT
# 切换到 FUTURE
update-crypto-policies --set FUTURE
Setting system policy to FUTURE

安全基点

细节参见文档

使用scap-security-guide 工具,如未安装则需要安装;

# 查找安全合规数据流 .xml 文件
ls /usr/share/xml/scap/ssg/content/
ssg-rhel9-ds.xml
# 根据从合适的数据流所选的配置文件来修复系统
oscap xccdf eval --profile pci-dss --remediate /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml
# 重启
reboot
# 验证
oscap xccdf eval --report pcidss_report.html --profile pci-dss /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml
# 下载html文件查看

验证 USBGuard 策略

细节参见文档

更新 fapolicyd 数据库

fapolicyd 软件框架根据用户定义的策略来控制应用程序的执行

细节参见文档

# 停止服务
systemctl stop fapolicyd
# 删除数据库
fapolicyd-cli --delete-db
# 启动服务
systemctl start fapolicyd

将 NSS 数据库从 DBM 更新至 SQLite

首先,需要nss-utils软件包,没有就新装

# 将系统上的 NSS_DEFAULT_DB_TYPE 设置为 sql
export NSS_DEFAULT_DB_TYPE=sql
# 
certutil -K -X -d /etc/ipsec.d/

将 Cyrus SASL 数据库从 Berkeley DB 格式迁移到 GDBM

首先,需要cyrus-sasl-lib软件包,没有就新装

要迁移以旧 Berkeley DB 格式存储的现有简单身份验证和安全层(SASL)数据库,请使用 cyrusbdb2current 工具,语法如下:

cyrusbdb2current <sasldb_path> <new_path>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值