在加固Linux主机上的SSH服务时,我们需要关注多个方面,包括禁用root登录、更改默认端口、使用密钥认证等
禁用root登录: 通过修改SSH配置文件(通常位于/etc/ssh/sshd_config),禁用root用户通过SSH登录。在文件末尾添加以下内容:
PermitRootLogin no
保存更改后,重启SSH服务以使更改生效。
更改默认端口: SSH服务的默认端口是22,这可能会被攻击者轻易猜到。通过修改SSH配置文件,将默认端口更改为其他不常用的端口,以降低被攻击的风险。例如,将端口更改为2222:
Port 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 Wrapping: 通过修改SSH配置文件,启用TCP Wrapping,以防止中间人攻击:
ClientAliveInterval 300
ClientAliveCountMax 1
这将导致服务器每300秒向客户端发送一个TCP Keepalive消息。如果在1分钟内没有收到客户端的回应,服务器将关闭连接。
定期检查和更新系统: 定期检查系统的安全漏洞和更新,并及时应用安全补丁。
限制登录尝试次数: 修改SSH配置文件,限制登录尝试次数,以防止暴力破解攻击:
MaxStartups 5
MaxSessions 10
这将限制同时进行的登录尝试次数为5次,并限制每个用户的会话数为10次。
通过以上措施,可以有效地加固Linux主机上的SSH服务,提高系统的安全性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。