如何在 Rocky Linux 8 或 AlmaLinux 8 上安装 Redis

Redis 是一种流行的内存键值存储,可用作 NoSQL 键值数据库、消息代理以及缓存解决方案。 它以其灵活性、可扩展性、无缝复制、简单性和易用性而闻名。 Redis 广泛应用于各种领域,例如机器学习、实时分析、聊天、消息传递和游戏排行榜。

Redis 本身没有强大的功能,但是,您仍然可以调整 Redis 以提供额外的安全性并阻止未经授权的用户。

在本教程中,我们将学习如何 安装和保护Redis洛奇 Linux 8 或者 阿尔玛Linux 8.

第 1 步:在 Rocky Linux 或 AlmaLinux 8 上安装 Redis

Redis 在 AppStream 存储库中可用,我们可以使用 DNF 包管理器来安装它。

运行以下 DNF 命令来安装 Redis:

$ sudo dnf install redis

安装后,我们需要对其配置文件稍作改动,以改变 Redis 的运行方式。 访问Redis配置文件:

$ sudo vim /etc/redis.conf

滚动并找到 监督 指示。 这允许您利用 init 系统来运行和有效管理 Redis。 默认情况下,这设置为 . 由于 Rocky / AlmaLinux 在 systemd init 系统上运行,因此将值设置为 系统 如..所示。

在 Rocky Linux 上配置 Redis

就是这样。 因此,保存更改并退出文本编辑器。 默认情况下,Redis 不会自动启动,因此我们需要按如下方式启动它。

$ sudo systemctl start redis

另外,在每次系统上电或重启时启用该服务。

$ sudo systemctl enable  redis

要确认 Redis 正在运行,请执行以下命令:

$ sudo systemctl status redis
在 Rocky Linux 上检查 Redis 的状态

作为Redis安装成功的测试,发送一个ping消息,你会得到’乒乓球‘作为答复。

第 2 步:使用密码保护 Redis

对于任何数据库系统来说,安全都是重中之重,Redis 也不例外。 在这一步中,我们将更进一步,启用身份验证以保护 Redis 并阻止未授权方。

再次访问配置文件。

$ sudo vim /etc/redis.conf

找到 要求通行证 指示。 这是我们将配置为要求客户端在访问数据库之前进行身份验证的指令。

取消对指令的注释并指定您自己的密码。

requirepass  strong_password
使用密码保护 Redis

要应用更改,请重新启动 Redis 数据库。

$ sudo systemctl restart  redis

要测试是否已启用身份验证,请访问 Redis 客户端:

$  redis-cli

现在尝试将一个键设置为一个值:

$ set keystudent Mike

这会产生指示的错误。 这表明需要身份验证。

(error) NOAUTH Authentication required.
Redis 中需要身份验证

要进行身份验证,请调用 授权 关键字后跟密码。 Redis 将确认密码并允许您继续。

在 Redis 中调用身份验证

通过身份验证后,您可以继续使用 set 命令指定您的键值对。 要检索分配给键的值,请调用以下命令:

get keystudent
在 Redis 中设置键值对

要退出 Redis,只需键入 quit 并按 ENTER。

 quit

第 3 步:设置正确的数据目录所有权和权限

要考虑的另一个重要方面是您需要牢记的所有权和权限,以确保您的 Redis 安装稳健。 这包括确保只有需要访问 Redis 的用户才有权读取其数据——在这种情况下,该用户是 重复 用户。

您可以首先确认 Redis 数据目录具有正确的目录所有权和权限。

$ ls -l /var/lib | grep redis

从输出中,我们可以看到Redis 数据目录归Redis 用户所有,并授予Redis 组访问权限。 此外,目录的权限设置为 750 的八进制表示法。这些是推荐的 Redis 文件夹所有权和权限设置。

如果 Redis 数据目录具有不安全的权限,例如,如果它对全局用户可读,则需要确保只有 Redis 用户和组才能访问该文件夹及其内容。

为此,请运行以下命令:

$ sudo chmod 750 /var/lib/redis

另外,请确保Redis配置文件归Redis所有 重复 具有辅助组 root 的用户。 另外,确保它具有八进制权限 640 如..所示。

$ ls -l /etc/redis.conf

640 的八进制表示法确保只有 重复 用户可以读取配置文件。 这很重要,因为我们在步骤 2 中使用 要求通行证 指示。 这意味着除了 Redis 和 Root 用户之外的任何其他用户都将无法读取文件和访问密码。

为了进一步增强安全性,请确保配置文件为 Redis 用户和组所有。

$ sudo chown  redis:redis /etc/redis.conf

此外,设置配置文件的权限,以便只有 Redis 所有者可以对其进行读写。

$ sudo chmod 600  /etc/redis.conf

要应用我们刚刚所做的更改,请重新启动 Redis 服务器。

$ sudo systemctl restart redis

第 4 步:配置 Redis 以进行远程访问

有时,您可能需要从另一个系统远程访问您的 Redis 实例。 为此,请转到配置文件。

$ sudo vim  /etc/redis.conf

找到 绑定 指示。 默认情况下,这设置为侦听 localhost。

bind 127.0.0.1

注释并指定远程服务器的私有 IP。

bind private_ip

如果您通过公共互联网访问它,您可以将其设置为 0.0.0.0 将其绑定到公共 IP 地址。

bind 0.0.0.0

接下来换 protected-mode yesprotected-mode no

protected-mode no

然后重新启动 Redis 服务器以应用更改。

$ sudo systemctl restart redis

剩下的另一个步骤是配置防火墙以允许访问我们的 Redis 服务器。

第五步:为redis配置防火墙

如果您的 Firewalld 处于活动状态并正在运行,请考虑将其设置为允许端口 6379,这是 Redis 侦听的端口。

$ sudo firewall-cmd --add-port=6379/tcp --permanent
$ sudo firewall-cmd --reload

完美的! 现在,要测试我们是否可以远程访问 Redis 实例,请使用 -h 选项后跟 Redis 服务器的 IP 地址

$ redis-cli  -h  server_IP

在这种情况下:

$ redis-cli  -h  10.128.0.44
远程访问Redis

结论

就是这样,我们已经在 Rocky Linux 8 或 AlmaLinux 8 上成功安装并保护了 Redis。非常欢迎您对本指南的反馈。