如何在 CentOS 7 上配置和保护服务器设置


在这篇文章中,我们将学习一些安装新服务器后,出于安全性和可用性目的应采取的配置步骤。这将帮助我们建立坚实的基础。

避免使用“root”用户登录

root 是 Linux 环境中的管理员或超级用户,拥有系统的所有权限。通常强烈建议不要直接使用 root 用户,因为它可能会导致许多问题,或者由于意外更改而导致数据意外丢失。

下一步,我们将设置一个具有 root 权限的替代用户,从而降低系统管理员日常活动的影响范围。

创建新用户

以 root 用户身份登录后,我们可以创建一个新用户来登录服务器,可以使用以下命令创建用户:

# adduser manager

创建用户并分配密码后,建议使用强密码。

# passwd manager

分配 Root 权限

现在,一旦创建了具有普通权限的新用户,我们需要拥有管理员权限才能执行某些任务,我们将分配 root 权限,用户需要在需要 root 用户权限的命令前添加“sudo”。

要将用户添加到管理员权限组,我们需要以 root 用户身份登录,要将用户添加到超级用户组,我们需要将新用户添加到“wheel”组,在 CentOS 7 中,默认情况下,“wheel”组中的用户可以使用“sudo”运行命令。

以下是将新用户添加到 wheel 组的命令:

# gpasswd –a manager wheel

添加公钥身份验证以进行登录

在此步骤中,我们将通过为新用户设置公钥身份验证来保护服务器,这将提高服务器的安全性,因为它需要私钥才能登录。

生成密钥对

如果我们没有 SSH 密钥对(包括公钥和私钥),我们需要生成新的密钥。

以下是生成新密钥对的命令:

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a3:5d:58:cc:7f:94:30:bf:ae:1e:5c:11:25:f7:96:41 root@server1
The key's randomart image is:
+--[ RSA 2048]----+
|            o +Eo|
|           o + =+|
|            + =.o|
|         o . . + |
|         S . . + |
|         o o . + |
|         . . o . |
|               o |
|              .o |
+-----------------+

默认情况下,如果我们没有提供文件名,它会自动将文件名设置为 id_rsa.pub 和 id_rsa_ppk,这两个文件将被生成,并且文件将位于用户主目录的 .ssh 目录中。

复制公钥

生成 SSH 密钥后,我们需要复制公钥,然后不应与任何不应访问服务器的人共享私钥。

我们可以通过两种方式复制公钥:

使用 ssh-copy-id

如果我们已安装 ssh-copy-id,我们可以使用它将公钥安装到任何其他用户或机器。

运行以下命令复制公钥:

# ssh-copy-id manager@ipaddress-of-machine

公钥将添加到用户或机器的 .ssh/authorized_keys 中。我们需要使用相应的私钥登录服务器。

手动添加密钥

假设我们已经生成了密钥,请使用以下命令打印密钥:

$ cat .ssh/id_rsa.pub

将使用该命令打印的密钥复制到剪贴板。

我们需要将此密钥添加到 .ssh/authorized_keys 文件。

如果我们没有 .ssh 文件夹和 authorized_keys 文件,我们需要按照以下步骤创建。

$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

然后,我们需要打开 authorized_keys 文件并将剪贴板中的文本粘贴进去。

# vi .ssh/authorized_keys

复制剪贴板中的文本并保存文件。

使用 SSH 禁用 root 登录

由于我们已经创建了一个具有 root 或超级用户权限的新用户,我们现在可以使用 SSH 禁用 root 用户登录。

使用以下命令打开 ssh 配置文件:

$ vi /etc/ssh/sshd_config

在这里,我们需要找到“#PermitRootLogin yes”行,取消该行的注释并将该行更改为如下所示:

PermitRootLogin no

现在只需重新加载 SSH 服务即可使配置生效。

# systemctl reload sshd

现在阻止了使用 SSH 进行“root”登录,我们可以直接在机器上使用 root 用户。

在这篇文章中,我们学习了如何使用最佳实践来保护服务器,例如创建具有 root 权限的用户和阻止 root 登录,以便我们可以避免意外命令导致的数据意外丢失,并通过使用 SSH 密钥文件防止使用密码,并防止从机器外部使用 SSH 使用 root 用户。

更新于:2019年10月18日

452 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.