![禁用 Arcfour 加密](https://linux22.com/image/98218/%E7%A6%81%E7%94%A8%20Arcfour%20%E5%8A%A0%E5%AF%86.png)
我对此很陌生,但一直在到处寻找明确的答案。
为了通过 PCI 合规性,应禁用 Arcfour 密码。
我尝试编辑 sshd_conf 和 ssh_conf 文件中的密码但无济于事。
据我所知,默认密码是
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
我厌倦了从该行中删除 arcfour 实例,并在它们之前添加一个“-”(减号),但这也不起作用。
如何禁用 arcfour 密码?
我们正在运行 CentOS 6.8,以防有帮助。
答案1
CentOS 5、6 和 7 在 /etc/ssh/sshd_config 文件中没有 Ciphers 行,因此您可以获得完整的默认密码列表。因此,要排除 arcfour,请将以下行添加到 sshd_config 文件中:
# restrict ciphers to exclude arcfour
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc
然后重新启动sshd:
服务 sshd 重新启动
如上所述,您可以使用进行测试
ssh <hostname> -c arcfour
如果指定的密码被禁用,您将得到类似的响应
no matching cipher found: client arcfour server aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc
否则您将看到正常的登录过程。
答案2
在 Centos、RHEL、Oracle Linux 5、6 和 7 上,只需以 root 身份从 bash shell 执行以下命令:
echo "Ciphers $(ssh -Q cipher | grep -v arcfour | while read r; do echo -n "$r," ; done)" >>/etc/ssh/sshd_config && /sbin/service sshd restart
答案3
步骤1
从 sshd 配置中删除密码“arcfour128”、“arcfour256”和“arcfour”。
第2步
重新启动 sshd:service sshd restart