Bootstrap

SSH版本信息可被获取

解决方法

1. 修改SSH配置文件

编辑SSH服务器的配置文件 /etc/ssh/sshd_config,找到或添加以下配置项:

# 禁用版本信息显示
DebianBanner no

请注意,DebianBanner 是一个非标准的配置项,通常用于Debian和Ubuntu系统。对于CentOS,可以使用以下方法来隐藏版本信息:

2. 使用 Banner 选项

虽然 DebianBanner 不适用于CentOS,但您可以使用 Banner 选项来覆盖默认的版本信息。编辑 /etc/ssh/sshd_config 文件,添加或修改以下配置项:

# 设置自定义欢迎消息
Banner /etc/issue.net

然后创建或编辑 /etc/issue.net 文件,写入您希望显示的自定义消息,例如:

Welcome to the secure server.
Unauthorized access is strictly prohibited.

3. 重启SSH服务

保存配置文件后,重启SSH服务以应用更改:

systemctl restart sshd

4. 验证更改

验证更改是否生效,可以使用以下命令从另一台机器上测试:

ssh -v user@your_server_ip

在输出中,您应该看到自定义的欢迎消息,而不是SSH版本信息。

5. 配置防火墙

为了进一步增强安全性,可以使用防火墙限制对SSH服务的访问。编辑 firewalld 规则,仅允许特定的IP地址或网络段访问SSH服务:

# 允许来自特定 IP 地址的 SSH 访问
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port=22 protocol=tcp accept' --permanent

# 重新加载防火墙规则
firewall-cmd --reload

6. 更新系统和软件包

确保您的系统和所有安装的软件包都是最新的,以获得最新的安全补丁:

# 更新所有已安装的软件包
yum update -y

7. 审计和监控

定期审计系统日志,监控异常活动,特别是与SSH服务相关的活动。使用如 auditd 等工具可以帮助您更好地了解系统的安全状况。

8. 使用密钥认证

建议使用公钥认证代替密码认证,以增强SSH连接的安全性。编辑 /etc/ssh/sshd_config 文件,添加或修改以下配置项:

# 禁用密码认证
PasswordAuthentication no

# 启用公钥认证
PubkeyAuthentication yes

# 指定公钥文件的位置
AuthorizedKeysFile .ssh/authorized_keys

然后重启SSH服务:

systemctl restart sshd

;