我有启用了 FIPS 内核和软件包的 Ubuntu 20.04 服务器。问题是我们的某些应用程序需要特定版本的 openssl,而该版本与 FIPS 软件包提供的 openssl 不兼容。
因此,我尝试通过执行以下操作来删除 FIPS 内核和软件包:
sudo ua disable fips fips-updates
之后,我执行以下操作来删除 FIPS 内核:
- 设置启动使用 Ubuntu,
Linux 5.4.0-100-generic
内核为默认内核/etc/default/grub
- 重启服务器
- 确认内核已打开
Linux 5.4.0-100-generic
且不是 FIPS 内核, - 使用官方方法删除FIPS内核https://discourse.ubuntu.com/t/ubuntu-advantage-disabling-fips-manually/20738
- 重启服务器
- 现在我的服务器在
Linux 5.4.0-100-generic
内核上
但问题是,我看到仍然有一些带有 FIPS 包的包:
$ sudo dpkg --list | grep fips
ic fips-initramfs-generic 0.0.15+generic1 amd64 FIPS 140-2 kernel tests
ii libgcrypt20:amd64 1.8.5-5ubuntu1.fips.1.5 amd64 LGPL Crypto library - runtime library
ii libgcrypt20-hmac:amd64 1.8.5-5ubuntu1.fips.1.5 amd64 FIPS HMAC integrity check files for libgcrypt20 library.
ii libssl1.1:amd64 1.1.1f-1ubuntu2.fips.7.2 amd64 Secure Sockets Layer toolkit - shared libraries
ii libssl1.1-hmac:amd64 1.1.1f-1ubuntu2.fips.7.2 amd64 Secure Sockets Layer toolkit - FIPS HMAC integrity check
rc linux-image-5.4.0-1037-fips 5.4.0-1037.43 amd64 Signed kernel image fips
rc linux-modules-5.4.0-1037-fips 5.4.0-1037.43 amd64 Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ic linux-modules-extra-5.4.0-1037-fips 5.4.0-1037.43 amd64 Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
ii openssh-client 1:8.2p1-4ubuntu0.fips.0.2.1 amd64 secure shell (SSH) client, for secure access to remote machines
ii openssh-server 1:8.2p1-4ubuntu0.fips.0.2.1 amd64 secure shell (SSH) server, for secure access from remote machines
ii openssh-sftp-server 1:8.2p1-4ubuntu0.fips.0.2.1 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines
ii openssl 1.1.1f-1ubuntu2.fips.7.2 amd64 Secure Sockets Layer toolkit - cryptographic utility
rc ubuntu-fips 1.2.4+updates1 amd64 Install and configure linux-fips kernel and user space modules
我的 UA 状态如下:
$ sudo ua status
SERVICE ENTITLED STATUS DESCRIPTION
cc-eal yes n/a Common Criteria EAL2 Provisioning Packages
cis yes disabled Security compliance and audit tools
esm-infra yes enabled UA Infra: Extended Security Maintenance (ESM)
fips yes n/a NIST-certified core packages
fips-updates yes disabled NIST-certified core packages with priority security updates
livepatch yes enabled Canonical Livepatch service
NOTICES
FIPS kernel is running in a disabled state.
To manually remove fips kernel: https://discourse.ubuntu.com/t/20738
Enable services with: ua enable <service>
如何删除所有 FIPS 包并使用 Ubuntu 提供的默认包?
谢谢
答案1
我找到了以下降级/卸载 FIPS 包的方法:
检查服务器上安装的 FIPS 软件包
$ sudo dpkg --list | grep fips
然后,从 Ubuntu 存储库检查每个软件包的可用版本
$ sudo apt 策略 openssl libgcrypt20:amd64 libgcrypt20-hmac:amd64 libssl1.1:amd64 libssl1.1-hmac:amd64 openssh-客户端 openssh-服务器 openssh-sftp-服务器
您将看到一些可用的软件包版本。
重新安装特定版本的包:
$ sudo apt install openssl=1.1.1f-1ubuntu2.10 libgcrypt20=1.8.5-5ubuntu1.1 libssl1.1=1.1.1f-1ubuntu2.10 openssh-client=1:8.2p1-4ubuntu0.4 openssh-server=1:8.2p1-4ubuntu0.4 openssh-sftp-server=1:8.2p1-4ubuntu0.4
确保所有软件包都已更新到最新版本:
$ sudo apt update && sudo apt dist-upgrade -y
重启
如果我上述的方法不安全/错误,请回复或建议更好的解决方案。
谢谢