在 Ubuntu 22.04 中保护 SSH 服务器 |先进方法
SSH服务器是一个加密程序,它使用SSH协议来允许用户安全地访问其他机器的服务的权限。然而,与其他服务器一样,SSH 服务器可能容易受到未经授权的访问;因此,在使用 SSH 服务器进行远程桌面连接之前,有必要确保其安全。
本教程将为您提供一些在 Ubuntu 22.04 中保护 SSH 服务器 的方法。
在 Ubuntu 22.04 中保护 SSH 服务器的高级方法
要执行SSH配置,您首先需要检查系统上是否安装了SSH 服务器。如果没有,请执行以下命令进行安装。
安装完成后,打开“/etc/ssh”目录下名为“sshd_config”的SSH配置文件。
但是,在对此文件进行任何更改之前,我们强烈建议您使用以下命令创建配置文件备份。
创建备份文件后,您可以根据自己的意愿编辑配置文件,如果遇到错误,您可以用备份文件替换它。
备份后,请使用以下步骤在基本级别上保护SSH 服务器。
第1步:打开SSH配置文件
首先,使用以下终端命令打开 SSH 配置文件。
步骤 2:禁用基于密码的身份验证
打开配置文件后,您需要禁用 SSH 服务器的基于密码的身份验证。向下滚动并找到“PasswordAuthentication yes”行。执行此步骤的原因是我们将添加用于登录的 SSH 密钥,这比基于密码的身份验证更安全。
取消注释该行,如下所示,并将“yes”替换为“no”,如下所示。
现在,使用“Ctrl+X”键保存文件,添加“Y”并按 Enter。
第 3 步:拒绝空密码
有时,用户可能会发现使用空密码进行授权登录很方便,这使SSH安全面临很高的风险。因此,为了保护 SSH 连接,您需要拒绝所有使用空密码的登录尝试。要执行此步骤,请找到“PermitEmptyPasswords”行并取消注释。
第 4 步:允许 root 登录
为了使您的 SSH 服务器更加安全,您需要拒绝 root 登录访问,以便允许入侵者通过 root 登录访问您的服务器。为此,请找到选项“PermitRootLogin”。
取消注释该行并将文本“prohibit-password”替换为“no”。
保存文件。
步骤5:通过SSH协议2
SSH 协议适用于两种协议,即协议 1 和协议 2。协议 2 比协议 1 具有更高级的安全功能,因此如果您想使用它,则需要将“协议 2”行添加到配置文件中,如下所示如下所示。
第 6 步:设置会话超时
当有人长时间离开计算机时,此步骤非常有用。您可以减少 SSH 服务器的会话时间以允许入侵者访问您的系统。在我们的例子中,我们将该值设置为 200 秒。如果用户离开系统 200 秒,系统将自动注销。
要执行此步骤,请找到名为“ClientAliveInterval”的变量。
取消注释该变量并将值 0 替换为您选择的值,然后保存文件以进行更改。
步骤7:允许特定用户访问服务器
您还可以通过仅允许特定用户访问 SSH 服务器来保护它。要执行此步骤,请在配置文件中添加变量“AllowUsers”。然后将用户名添加到变量前面,如下所示。
步骤 8:限制登录尝试次数
您还可以限制登录尝试的次数来保护 SSH 服务器的安全,因为入侵者可能会通过多次尝试进行暴力攻击来登录您的系统。在这种情况下,您可以设置登录尝试次数限制,以允许入侵者通过多次尝试猜出正确的密码。要执行此步骤,请找到“MaxAuthTries”变量。
取消注释上面突出显示的变量并根据您的选择设置其值,因为默认值已设置为 6。
第 9 步:在测试模式下运行服务器
执行完上述步骤后,现在可以在测试模式下运行 SSH 服务器,以确保我们所做的上述配置是正确的。要测试 SSH 服务器,请运行以下命令:
上面的命令不会为您提供任何输出,但是,如果它运行没有错误,则意味着配置是正确的。
第10步:重新加载SSH服务器
配置SSH 服务器后,现在需要重新加载服务器以对 Ubuntu 系统进行更改。为此,请使用以下命令:
确保 SSH 服务器安全的高级步骤
在完成在 Ubuntu 中配置 SSH 服务器的基本步骤后,是时候实施高级措施来进一步提高 SSH 服务器的安全性了。
第1步:打开Authorized_keys文件
除了在配置文件中实现基本级别的 SSH 服务器安全性之外,您还可以通过单独保护每个 SSH 密钥来进一步提高安全性。但是,此步骤要求您执行一些 SSH 会话以在文件中生成 SSH 密钥。经过一些 SSH 会话后,使用以下命令打开授权文件:
上面的文件将包含您迄今为止生成的 SSH 密钥。
步骤 2:特定按键的特定配置
打开authorized_keys文件后,您现在可以有五个选项来实现高级安全性。这些选项如下:
无代理转发
无用户 rc
无pty
无端口转发
无 X11 转发
现在,如果您想对单个 SSH 密钥使用上述任何选项。例如,如果您想要所需 SSH 密钥的无代理转发选项,则可以使用以下语法来执行此操作:
在上述语法中,将 DesiredSSHKey 替换为存储在authorized_keys 文件中的实际密钥。完成上述更改后,您可以保存文件,SSH服务器将自动读取它,因为您不需要重新加载服务器。
通过这种方法,您将能够在 Ubuntu 上为 SSH 服务器实现高级安全性。
技巧和窍门
除了执行基本和高级安全性之外,您还可以通过一些其他方法进一步保护您的SSH服务器,其详细信息如下:
1:保持数据加密
数据加密是保护 SSH 服务器 安全的基本方面之一,只有使用强大的加密算法才能实现这一点。该算法将进一步增强您数据的隐私性。
2:保持软件最新
您还应该确保SSH 服务器上运行的软件是最新的,因为这将提高服务器的安全性。最新的软件更新附带了最新的安全补丁,有助于提高系统的安全性。
3:始终启用SELinux机制
SELinux是专为Linux操作系统构建的增强安全机制,默认情况下,它已在系统中启用。但是,仍然必须确保启用此系统,以便不会影响您的 SSH 服务器。
4:选择强密码
如果您的 SSH 服务器使用密码进行保护,请确保您已为服务器设置了强密码。强密码必须包含数字和特殊字符,使入侵者很难轻易猜到,从而使您的 SSH 更加安全。
5:维护数据备份
您应该维护 SSH 服务器数据的每日备份,以便轻松恢复因任何意外而损坏的丢失数据。如果您的服务器出现故障,此备份还将为您提供帮助。
6:维护每日服务器检查和审核日志
您还应该需要每天检查您的 SSH 服务器和审核日志,因为这有助于您在第一次发生时防止出现任何重大问题。如果您的 SSH 服务器发生任何问题,审核日志非常有帮助,因为您可以轻松地在审核日志中跟踪问题的根本原因并轻松修复它们。