我使用的是 Rocky Linux 8 和 9,它们使用 Red Hat 的加密策略框架。现在我想调整策略中的一些设置来禁止 sshd 使用某些特定的算法。但我无法弄清楚这些算法的名称,因为它们应该被赋予 crypto-policy。
我正在编写一个文本文件,/etc/crypto-policies/policies/modules/DEPRECATED-SSH-ALGOS.pmod
并尝试将我的策略设置为DEFAULT:DEPRECATED-SSH-ALGOS
in /etc/crypto-policies/config
。
问题在于 DEPRECATED-SSH-ALGOS.pmod 文件的内容。有些算法我可以成功停用,而另一些则不能。
文件的“工作”版本:
cipher@ssh = -AES-*-CBC
mac@SSH = -*-SHA1 -HMAC-SHA2-256 -HMAC-SHA2-512
但我想用这样的东西:
cipher@ssh = -AES-*-CBC
mac@SSH = -*-SHA1 -HMAC-SHA2-256 -HMAC-SHA2-512 [email protected]
key_exchange@SSH = -*-SHA1 -ECDH-SHA2-NISTP256 -ECDH-SHA2-NISTP384 -ECDH-SHA2-NISTP521
但是当我执行以下操作时,加密策略框架会发出这样的抱怨update-crypto-policies --set
:
AlgorithmEmptyMatchError: Bad value of policy property `key_exchange`: `ecdh-sha2-nistp256`
Errors found in policy, first one:
Bad value of policy property `key_exchange`: `ECDH-SHA2-NISTP256`
问题
我可以放入加密策略文件中的算法的名称是什么,或者在哪里可以找到这些算法?
答案1
/etc/crypto-policies/back-ends/opensshserver.config
查看: https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/2021-12-03/finding/V-230251
RHEL 8 默认合并系统范围的加密策略。除非在 /etc/sysconfig/sshd 文件中特别定义,否则 SSH 配置文件对密码、MAC 或算法没有影响。可以在 /etc/crypto-policies/back-ends/opensshserver.config 文件中查看所使用的算法。
通过使用以下行更新“/etc/crypto-policies/back-ends/opensshserver.config”文件,将 RHEL 8 SSH 服务器配置为仅使用采用 FIPS 140-2 批准算法的 MAC:
需要重新启动才能使更改生效。
V-230252:CRYPTO_POLICY='-oCiphers=aes256-ctr,aes192-ctr,aes128-ctr,[email protected],[email protected]'
V-255924:-oKexAlgorithms=ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512
还看看V230254对于 openssl,请注意 - 将所有这些视为指导方针。
还 :
要定义自定义加密策略,请参阅 update-crypto-policies(8) 手册页中的自定义策略部分和 crypto-policies(7) 手册页中的加密策略定义格式部分
man crypto-policies 7
...加密政策定义格式