如何在启用FIPS模式的RHEL8.7 EC2上运行Rundeck社区版
在FIPS模式的RHEL8.7 EC2实例上运行Rundeck社区版的解决方案
问题根源
Rundeck默认依赖的部分加密算法未通过FIPS 140-2/3认证,导致在FIPS启用的环境中,应用启动时卡在加密初始化阶段,无法完成Grails应用的完整启动流程。
配置调整步骤
1. 配置JVM使用FIPS合规加密库
编辑Rundeck启动配置文件/etc/rundeck/profile,追加以下JVM参数,强制JVM使用系统级FIPS兼容的安全配置:
export RDECK_JVM_OPTS="$RDECK_JVM_OPTS -Djava.security.properties=/etc/crypto-policies/back-ends/java.config" export RDECK_JVM_OPTS="$RDECK_JVM_OPTS -Djavax.net.ssl.trustStore=/etc/pki/java/cacerts" export RDECK_JVM_OPTS="$RDECK_JVM_OPTS -Djavax.net.ssl.trustStorePassword=changeit"
说明:
/etc/crypto-policies/back-ends/java.config是RHEL8.7 FIPS模式下默认的Java安全策略文件,确保JVM调用的加密算法均符合FIPS标准。
2. 修改Rundeck加密相关配置
编辑/etc/rundeck/rundeck-config.properties,更新以下配置项:
- 将存储类型改为数据库(避免文件存储的非合规加密):
rundeck.storage.provider.1.type=db - 指定FIPS兼容的加密算法:
rundeck.password.encryption.provider=jce rundeck.jce.provider.name=SunJCE rundeck.jce.provider.algorithm=PBEWithHmacSHA256AndAES_256
注:
PBEWithHmacSHA256AndAES_256是经FIPS认证的算法,可替代Rundeck默认的非合规加密方案。
3. 验证系统FIPS与Java配置
确认系统FIPS模式已正确启用:
fips-mode-setup --check
输出需显示FIPS mode is enabled.。同时验证Java是否加载FIPS配置:
java -Djava.security.properties=/etc/crypto-policies/back-ends/java.config -version
无报错则说明Java环境已适配FIPS。
4. 重启服务并验证启动状态
重启Rundeck服务:
systemctl restart rundeckd
查看启动日志/var/log/rundeck/service.log,确认是否出现Grails application running at http://localhost:4440 in environment: production的成功启动标识。
额外注意事项
- 必须使用Rundeck 4.10.0及以上版本,该版本开始优化了FIPS兼容性
- 禁用或替换非FIPS合规的第三方插件,部分插件可能引入不符合标准的加密逻辑
- 若使用外部认证(如LDAP),需确保认证服务使用TLS 1.2+等FIPS合规的协议
内容的提问来源于stack exchange,提问作者Bob4664
相关产品推荐
相关产品推荐

