在 Linux 主机上强化 SSH 服务时需要记住很多事情,例如禁用 root 登录、更改默认端口以及使用密钥身份验证。
禁用 root 登录:
修改 SSH 配置文件(通常位于 /etc/ssh/sshd_config 中)以启用通过 SSH 进行 root 登录的功能。 将以下行添加到文件末尾:
PermitRootLogin no
保存文件后,如果进行更改,SSH重新启动服务以使更改生效。
更改默认端口:
SSH 服务的默认端口是 22,攻击者很容易猜到该端口。 修改SSH配置文件,将默认端口更改为其他不太常用的端口,以降低遭受攻击的风险。 例如,将端口更改为2222。
端口 2222
保存更改后,为了使更改生效,重新启动 SSH 服务。
使用密钥认证:
与使用密码认证相比,使用密钥认证更加安全。 首先,确保您已在客户端上生成 SSH 密钥对(公钥和私钥)。 接下来,在服务器上创建一个名为 .ssh 的目录,并将客户端的公钥复制到该目录中的authorized_keys 文件中。 接下来,修改SSH配置文件以禁用密码验证并启用密钥验证。
PasswordAuthentication no
PubkeyAuthentication yes
保存更改后,SSH服务重新启动以使更改生效。
启用公钥认证:
客户端使用私钥进行认证。 在 SSH 命令行中键入以下命令:
ssh -i /path/to/private_key user@hostname
禁用DNS反向解析:
修改服务器上的SSH配置文件,禁用DNS反向解析,防止攻击者通过DNS缓存投毒攻击获取服务器IP地址:
UseDNS no
保存更改后,重新启动 SSH 服务以使更改生效我将进行更改。
启用 TCP 包装:
修改 SSH 配置文件以启用 TCP 包装并防止中间人攻击:
ClientAliveInterval 300
ClientAliveCountMax 1
这会导致服务器执行 TCP keepalives 将消息发送到客户端。 300秒。 如果一分钟内没有收到客户端的响应,服务器将关闭连接。
定期检查和更新您的系统:
定期检查您的系统是否存在安全漏洞和更新,并及时应用安全补丁。
限制登录尝试次数:
修改SSH配置文件,限制登录尝试次数,防止暴力攻击:
MaxStartups 5
MaxSessions 10
这会将并发登录尝试次数减少到每次登录尝试 5 次。 用户会话数为 10。
以上措施可以有效加固Linux主机上的SSH服务,提高系统安全性。
评论前必须登录!
注册