Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.3.11.3. 保护 SSH 的其他方式

协议版本
尽管红帽企业 Linux 7 提供的 SSH 协议的实施仍支持 SSH 客户端的 SSH-1 和 SSH-2 协议版本,但应尽可能使用后者。与较旧的 SSH-1 相比,SSH-2 版本包含了许多改进,大多数高级配置选项仅在使用 SSH-2 时可用。
红帽建议使用 SSH-2 来最大程度利用 SSH 协议保护其使用的身份验证和通信的范围。sshd 守护进程支持的协议的版本或版本可以使用 /etc/ssh/sshd_config 文件中的协议配置指令指定。默认设置为 2。请注意,SSH-2 版本是唯一被 Red Hat Enterprise Linux 7 SSH 服务器支持的版本。
密钥类型
ssh-keygen 命令默认生成一对 SSH-2 RSA 密钥,但使用 -t 选项时也可指示它生成 DSAECDSA 密钥。ECDSA (Elliptic Curve Digital Signature Algorithm)以相同的对称密钥长度提供更好的性能。它还会生成较短的密钥。
非默认端口
默认情况下,sshd 守护进程侦听 TCP 端口 22。更改端口可降低系统因自动网络扫描而受到攻击的风险,从而通过模糊性提高安全性。可以使用 /etc/ssh/sshd_config 配置文件中的 Port 指令来指定端口。另请注意,必须更改默认 SELinux 策略以允许使用非默认端口。您可以通过以 root 用户身份输入以下命令来修改 ssh_port_t SELinux 类型:
~]# semanage -a -t ssh_port_t -p tcp port_number
在以上命令中,将 port_number 替换为使用 Port 指令指定的新端口号。
没有根登录
如果您的特定用例不需要以 root 用户身份登录,则应考虑在 /etc/ssh/sshd_config 文件中将 PermitRootLogin 配置指令设置为 no。通过禁止以 root 用户身份登录,管理员可以审核哪个用户在以普通用户身份登录后运行什么特权命令,然后获得 root 权限。
使用 ⁠X 安全扩展
Red Hat Enterprise Linux 7 客户端中的 X 服务器不提供 X 安全扩展。因此,当连接到带有 X11 转发的不受信任的 SSH 服务器时,客户端无法请求另一个安全层。大多数应用程序都无法在启用此扩展的情况下运行。默认情况下,/etc/ssh/ssh_config 文件中的 ForwardX11Trusted 选项被设置为 yes,并且 ssh -X remote_machine (不受信任的主机)和 ssh -Y remote_machine (可信主机)命令之间没有区别。
警告
红帽建议在连接到不可信主机时不要使用 X11 转发。