其他问题

Linux服务器防范不被SSH暴力登录攻击的方法

  一、禁用SSH密码验证并启用SSH密钥验证

  SSH的默认身份验证方法是用户名/密码身份验证。但正如我们所见,密码认证很容易受到暴力攻击。为了安全起见,建议实施基于密钥的 SSH 身份验证,其中通过公共和私有 SSH 密钥对进行身份验证。当公钥复制到服务器时,私钥保留在客户端的 PC 上。

  在 SSH 密钥认证过程中,服务器会检查客户端 PC 是否拥有私钥。如果检查成功,则创建一个 shell 会话或成功执行发送到远程服务器的命令。我们有一个关于如何配置基于 SSH 密钥的身份验证的综合建议。

  即使设置了基于密钥的身份验证,您的服务器仍然容易受到暴力攻击,原因很简单,密码身份验证仍然有效。这需要禁用。

  因此,编辑默认的 SSH 配置文件。

  $ sudo vim /etc/ssh/sshd_config

  将PasswordAuthentication参数设置no为如图所示。

  PasswordAuthentication no

  然后保存文件并重新加载 SSH 以应用更改。

  $ sudo systemctl reload ssh

  二、部署 Fail2ban 入侵防御工具

  Fail2ban是用Python编写的,是一个开源的入侵防御框架,它可以扫描服务的日志文件以查找身份验证失败,并禁止在指定时间内反复通过密码身份验证检查失败的 IP。

  Fail2ban持续监控服务器日志文件中的入侵尝试和其他恶意活动,在预定义数量的身份验证失败后——在大多数情况下,3 次失败的登录尝试——Fail2ban 自动阻止远程主机访问服务器,并将主机保存在“ Jail ' 在特定的时间段内。

  这样一来,Fail2ban显着降低了密码验证尝试错误率。查看我们的建议,了解如何在 Linux 上安装和配置 Fail2ban以保护您的服务器免受蛮力攻击。

  三、限制 SSH 身份验证尝试的最大次数

  另一种保护服务器免受暴力攻击的简单方法是限制 SSH 登录尝试的次数。默认情况下,这设置为3,但如果有任何机会将其设置为更高的值,请将其设置为最多 3 次连接尝试。

  例如,要将最大连接尝试次数设置为 3,请将MaxAuthTries参数设置为3,如下所示

  MaxAuthTries = 3

  再次保存更改并重新加载 SSH 服务。

  $ sudo systemctl reload ssh

  四、部署 TCP Wrappers 以限制来自客户端的 SSH 访问

  TCP wrappers 是一个提供基于主机的访问控制列表( ACL ) 的库,它根据 IP 地址限制远程客户端对 TCP 服务的访问

  远程主机访问系统上的服务。TCP 包装器使用/etc/hosts.allow和/etc/hosts.deny配置文件(按此顺序)来确定是否允许远程客户端访问特定服务。

  通常,这些文件被注释掉并且所有主机都被允许通过 TCP 包装层。允许访问给定服务的规则放在/etc/hosts.allow文件中,并优先于 /etc/hosts.deny 文件中的规则。

  建议阻止所有传入连接。因此,打开/etc/hosts.deny文件。

  $ sudo vim /etc/hosts.deny

  添加以下行。

  ALL: ALL

  保存更改并退出文件。

  然后访问/etc/hosts.allow文件。

  $ sudo vim /etc/hosts.deny

  配置可以通过 SSH 连接到服务器的主机或域。在这个例子中,我们只允许两个远程主机连接到服务器(192.168.1.1和192.168.1.2)并拒绝其余的。

  sshd: 192.168.1.1 192.168.1.2

  sshd: ALL: DENY

  保存更改并退出配置文件。

  要对其进行测试,请尝试从您允许访问的主机之外的主机连接到服务器。您应该得到一个权限错误提示。

  五、实施 SSH 两因素身份验证

  双重身份验证为密码身份验证提供了额外的安全层,从而使您的服务器更安全地免受暴力攻击。Google Authenticator App是一种广泛使用的双因素身份验证解决方案,我们有一份详细说明如何设置双因素身份验证的建议。




免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:bkook@qq.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
上一篇:Ubuntu上安装Caddy Web服务器的操作方法
下一篇:Ubuntu Server 22.04部署 Nextcloud 25的操作流程
0

在线
客服

在线客服服务时间:9:00-18:00

客服
热线

19899115815
7*24小时客服服务热线

关注
微信

关注官方微信
顶部