我正在尝试禁用 CentOS 8 上 OpenSSH 服务器中使用的 AES256-CBC 密码,同时将安全策略设置为 FUTURE。
根据表格这一页(参见“加密策略级别中启用的密码套件和协议”),似乎 FUTURE 加密策略不应该启用 CBC 模式密码(参见“FUTURE”和“CBC 模式密码”对应单元格中的“否”)。
我运行以下命令将我的 CentOS 8 系统从 DEFAULT 更改为 FUTURE:
sudo update-crypto-policies --set FUTURE
然后重新启动:
sudo reboot
但是,Nessus 扫描显示 SSH 服务支持“aes256-cbc”算法。此输出对应于这Nessus 插件。
经过一番调查,似乎服务(和客户端)的 FUTURE 安全策略文件确实包含“aes256-cbc”:
$ grep aes256-cbc /usr/share/crypto-policies/FUTURE/openssh*.txt
/usr/share/crypto-policies/FUTURE/opensshserver.txt:CRYPTO_POLICY='[email protected],[email protected],aes256-ctr,aes256-cbc [email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512 -oGSSAPIKeyExchange=no [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 -oHostKeyAlgorithms=rsa-sha2-256,ecdsa-sha2-nistp256,[email protected],ecdsa-sha2-nistp384,[email protected],rsa-sha2-512,ecdsa-sha2-nistp521,[email protected],ssh-ed25519,[email protected] -oPubkeyAcceptedKeyTypes=rsa-sha2-256,ecdsa-sha2-nistp256,[email protected],ecdsa-sha2-nistp384,[email protected],rsa-sha2-512,ecdsa-sha2-nistp521,[email protected],ssh-ed25519,[email protected]'
/usr/share/crypto-policies/FUTURE/openssh.txt:Ciphers [email protected],[email protected],aes256-ctr,aes256-cbc
我可以让 SSH 退出全局安全策略(并Ciphers
在 sshd_config 中手动设置)或者手动编辑 /usr/share/crypto-policies/FUTURE/openssh*.txt 文件以排除 CBC,但我不喜欢这两种想法。
这可能是 Centos 8 安全策略配置中的一个错误,或者是否有某种方法可以禁用 CBC 而无需手动指定密码列表?
答案1
经过几个小时的工作,我解决了它
您需要在目录内创建自定义策略 /etc/crypto-policies/policies/模块/,设置禁用 CBC 密码的规则
例子
vim /etc/crypto-policies/policies/modules/NO-CBC.pmod
在这个文件中,您应该放入所有想要禁用的密码,如下所示:
tls_cipher = -AES-256-CBC -AES-128-CBC
cipher = -AES-128-CBC -AES-256-CBC -CAMELLIA-256-CBC -CAMELLIA-128-CBC
ssh_cipher = -AES-128-CBC -AES-256-CBC
保存后,您需要加载包含您创建的修改的策略。就我而言,我使用的是“FUTURE”策略。您可以选择任何策略,但不要忘记设置修改器,如下所示:
update-crypto-policies --set FUTURE:NO-CBC
现在,只需重新启动 sshd 服务,CBC 将被禁用。
systemctl 重启 sshd
答案2
在 /etc/sysconfig/sshd 中添加以下内容
CRYPTO_POLICY='[email protected],[email protected],aes256-ctr [email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512 -oGSSAPIKeyExchange=no -oKexAlgorithms=curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 -oHostKeyAlgorithms=rsa-sha2-256,[email protected],ecdsa-sha2-nistp256,[email protected],ecdsa-sha2-nistp384,[email protected],rsa-sha2-512,[email protected],ecdsa-sha2-nistp521,[email protected],ssh-ed25519,[email protected] -oPubkeyAcceptedKeyTypes=rsa-sha2-256,[email protected],ecdsa-sha2-nistp256,[email protected],ecdsa-sha2-nistp384,[email protected],rsa-sha2-512,[email protected],ecdsa-sha2-nistp521,[email protected],ssh-ed25519,[email protected] -oCASignatureAlgorithms=rsa-sha2-256,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,rsa-sha2-512,ecdsa-sha2-nistp521,ssh-ed25519'
和
systemctl restart sshd