在CentOS 8 / RHEL 8服务器上增强安全性的7个技巧

当您安装CentOS 8 / RHEL 8服务器时,第二件事是保护您的服务器以防止未经授权的访问和入侵。俗话说,预防胜于治疗,因此预防黑客总比尝试修复好。

让我们看一下您可以采取的一些步骤来强化和保护CentOS 8 / RHEL 8服务器并阻止黑客尝试。

1)设置防火墙

出于安全考虑,具有安全意识的Linux用户不仅允许访问CentOS 8 / RHEL 8系统。实际上,防火墙配置是系统管理员必须执行的初始服务器配置任务之一,系统管理员只能打开某些端口并允许当前使用的服务。

默认情况下,CentsO8 / RHEL 8系统具有 防火墙 可以在启动时通过运行以下命令来启动和启用的防火墙:

$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld

要查看防火墙允许的服务,请运行以下命令:

$ sudo firewall-cmd --list all

要打开防火墙上的端口(例如,端口443),请运行以下命令:

$ sudo firewall-cmd --add-port=443/tcp --zone=public --permanent

要允许诸如ssh之类的服务,请使用以下命令:

$ sudo firewall-cmd --add-service=ssh  --zone=public --permanent

要删除端口和服务, -移除端口-删除服务 每个属性。

始终重新加载防火墙以使更改生效:

$ sudo firewall-cmd --reload

2)禁用未使用/不需要的服务

关闭服务器上未使用或不必要的服务始终是一个好主意。随着正在运行的服务数量增加系统上开放端口的数量,攻击者可以利用此漏洞闯入系统。此外,它将停止使用旧的和不安全的服务,例如telnet,该服务以明文形式发送流量。

最佳安全性做法建议禁用未使用的服务,并删除系统上运行的所有不安全服务。您可以使用 nmap工具 扫描系统以查看哪些端口已打开并正在侦听。

3)保护重要文件

锁定重要文件对于防止意外删除或编辑至关重要。这样的文件包括/ etc / passwd和/ etc / gshadow,其中包含哈希密码。使文件不可变(即,不要更改或意外删除文件) chattr命令 如图所示:

$ sudo chattr +i /etc/passwd
$ sudo chattr +i /etc/shadow

这样可以防止黑客更改用户密码或将其删除并拒绝其登录到系统。

4)安全的SSH协议

SSH协议是用于远程登录的广泛使用的协议。默认情况下,该协议具有供黑客利用的本地漏洞。

默认情况下,SSH允许root用户进行远程登录。这是一个潜在的漏洞,如果黑客可以获取系统的root密码,则服务器几乎可以使用。为防止这种情况,建议拒绝远程root登录,而是创建具有sudo特权的登录普通用户。为此,请修改SSH配置文件/ etc / ssh / sshd_config以禁用root登录,如下所示:

许可RootLogin

保护SSH的另一种方法是使用ssh密钥设置SSH无密码身份验证。我们建议您使用SSH密钥,而不是使用容易受到暴力攻击的密码身份验证。这是因为SSH密钥仅允许具有ssh密钥的用户登录到远程服务器并阻止其他用户。启用无密码身份验证的第一步是使用以下命令生成密钥对:

$ ssh-keygen

这将生成一个公钥/私钥对。私钥位于主机上,而公钥则复制到远程系统或服务器上。复制ssh-key对后,您可以轻松登录到远程系统,而无需提示输入密码。然后修改/ etc / ssh / sshd_config配置文件并设置此值以禁用密码身份验证。

PasswordAuthentication no

进行任何更改后,请确保重新启动SSH服务以使更改生效。

$ sudo systemctl restart sshd

5)定义密码尝试的限制

为了进一步强化服务器,请考虑限制通过SSH登录时尝试输入密码的次数,以防止暴力攻击。再次转到您的SSH配置文件并向下滚动以找到“ MaxAuthTries”参数。取消注释,然后将其设置为该值(例如3)。

MaxAuthTries 3

这意味着在尝试了三个错误的密码后,会话将关闭。这对于阻止尝试访问系统的机器人脚本/程序特别有用。

6)建立入侵防御系统(IPS)

到目前为止,我们已经描述了可以用来加强CentOS 8 / RHEL 8服务器的基本步骤。要添加另一层,我们建议安装入侵检测系统。 IPS的完美示例是Fail2ban。

Fail2ban是一个免费的开放源代码入侵防御系统,可通过在配置文件中指定的一定数量的登录尝试后禁止IP地址,从而保护服务器免受暴力攻击。一旦被阻止,恶意或未经授权的用户甚至无法启动SSH登录尝试。

7)定期更新服务器

除非我强调定期更新服务器的重要性,否则本文并不完整。这样可以确保服务器具有解决现有安全问题所必需的最新功能和安全更新。

您可以使用Cockpit实用程序配置自动更新,Cockpit实用程序是基于GUI的服务器管理工​​具,还可以执行许多其他任务。对于长时间访问和度假而无需访问服务器的情况,这尤其理想。

相关阅读:

Posted in: 指令代码