如何在 CentOS 7 上安装和保护 Redis
本教程适用于这些操作系统版本
- 中央操作系统 8
- 中央操作系统 7
在此页
- 第 1 步 - 安装并启用 Remi 存储库
- 第 2 步 - 在 CentOS 7 上安装 Redis
- 第 3 步 - 配置 Redis
- 第 4 步 - 保护 Redis 安装
- 1。网络安全
- 2。密码认证
- 3。禁用危险的 Redis 命令
- - 测试主机和身份验证
- - 测试禁用/重命名命令
Redis 是一种开源的内存数据结构存储,用作数据库、缓存和消息代理。它是一个分布式内存键值数据库,具有可选的持久性。支持主要的数据结构,例如字符串、哈希、列表、集合、位图、排序集合、HyperlogLogs、流和具有半径查询的地理空间索引。
在本教程中,我们将向您展示如何在 CentOS 7 上安装和配置 Redis 服务器。我们将从 Remi 存储库安装 Redis 服务器,然后进行安全安装。
先决条件
对于本指南,我们将在具有 1GB RAM 和 2CPU 的 CentOS 7 服务器上安装 Redis。这仅用于测试,您的生产需要更多。
我们将要做什么:
- 安装并启用 Remi 存储库
- 安装 Redis 服务器
- 配置 Redis 服务器
- 保护 Redis 服务器
- 测试
第 1 步 - 安装并启用 Remi 存储库
首先,我们将 Remi 存储库添加到 CentOS 7 系统中。 Remi 存储库为我们的安装提供了最新版本的 Redis 包。
在添加 Remi 存储库之前,让我们安装 EPEL 存储库和 yum 实用程序包。
sudo yum install epel-release yum-utils
现在使用下面的 yum 命令为 CentOS 7 添加 Remi 存储库。
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
之后,使用 yum-config-manager 工具启用 remi 存储库,如下所示。
sudo yum-config-manager --enable remi
在CentOS 7系统上已经添加并启用了Remi仓库,使用下面的yum命令查看。
yum repolist enabled
你会得到如下结果。
第 2 步 - 在 CentOS 7 上安装 Redis
安装 Remi 存储库后,我们将安装最新的 Redis 包。您可以使用下面的 yum 命令检查可用的 Redis 版本。
yum search redis
yum info redis现在您将在 Remi 存储库中获得 Redis 5.0.5。
使用以下命令安装 Redis。
sudo yum -y install redis
安装完成后,启动redis服务并将其添加到系统引导。
systemctl start redis
systemctl enable redisRedis服务以默认配置启动并运行,检查服务状态和服务器使用的端口。
systemctl status redis
netstat -plntu你会得到如下结果。
Redis 服务器在 CentOS 7 系统上启动并运行,运行本地主机 IP 地址 127.0.0.1,默认 TCP 端口 6379。
第 3 步 - 配置 Redis
在此步骤中,我们将在 CentOS 7 服务器上配置我们的 Redis 服务器安装。
使用 vim 编辑器编辑 Redis 配置文件 /etc/redis.conf。
vim /etc/redis.conf
现在用您的内部 IP 地址更改绑定地址。如果您作为集群运行,您可以更改私有 IP 地址。建议在私有内部 IP 地址上运行 Redis 服务器。
bind 127.0.0.1
现在将 daemonize 值更改为 yes,因为我们将把 Redis 服务作为守护进程运行。
daemonize yes
由于我们使用的是CentOS 7服务器和systemd,所以我们需要将监管线路配置更改为systemd。
supervised systemd
保存并关闭。
现在重启redis服务。
systemctl restart redis
Redis Server 的基本配置已经完成。现在使用 redis-cli 命令连接到 Redis 服务器,如下所示。
redis-cli
运行下面的 ping 命令。
ping
ping "Hello Redis"如果您的安装正确,您将收到 PONG 回复和您在命令后写入的消息。
第 4 步 - 保护 Redis 安装
在此步骤中,我们将保护我们的 Redis 安装。关于保护 Redis 服务器,您必须了解 3 件事。
1. 网络安全
Redis服务器的网络安全与redis配置redis.conf中的bind配置有关。建议使用内部专用网络安装 Redis,不要使用公共网络。
使用 vim 编辑器编辑 Redis 配置文件 /etc/redis.conf。
vim /etc/redis.conf
在绑定部分,将 IP 地址更改为您自己的内部网络 IP 地址。
bind INTERNAL-IP-ADDRESS
保存并关闭。
现在 redis 服务将在 INTERNAL-IP-ADDRESS 下运行。
2. 密码认证
Redis 的密码身份验证将为您提供对 Redis 服务器的访问控制。这是一个小的安全层,可以增强您的 Redis 服务器安全性,默认安装尚未启用。
要为 Rediser 服务器启用密码身份验证,您需要取消 redis.conf 文件中 requirepass 部分的注释并在其后键入您的强密码。
requirepass #$
使用您的强密码更改 [email #$。至此Redis的密码认证已经开启。
3.禁用危险的Redis命令
Redis 提供了禁用某些特定 Redis 命令的功能。此功能可用于重命名或禁用一些危险命令,例如用于擦除所有数据的 FLUSHALL、用于通过 Redis CLI 设置配置参数的 CONFIG 命令等。
要更改或禁用 Redis 命令,您可以使用重命名命令选项。编辑redis配置文件redis.conf,在下面添加一些配置。
# rename-command COMMAND "CUSTOM"
rename-command CONFIG "REDISCONFIG"
rename-command FLUSHALL "DELITALL"保存并关闭。
全部完成后,使用下面的 systemctl 命令重启 redis 服务。
systemctl restart redis
用于保护 Redis 安装的基本 Redis 安全性已应用于我们的主机。
其他考虑,您可能还需要 Redis 的数据加密支持,以及应用程序端所需的安全编码。
第 5 步 - 测试
在此步骤中,我们将使用 redis-cli 命令行测试我们的 Redis 服务器部署。
- 测试主机和身份验证
通过指定 redis 服务器主机名/IP 地址和端口,使用 redis-cli 命令连接到 Redis 服务器。
redis-cli -h 10.5.5.15 -p 6379
将 10.5.5.15 更改为您的 IP 地址。
连接到服务器后,请尝试 ping 命令。
ping
ping "Hello Redis"现在您将得到如下结果。
你收到一个错误,因为你需要在 Redis CLI shell 上调用任何命令之前进行身份验证。
运行以下命令以针对 Redis 服务器进行身份验证。
AUTH #$
通过身份验证后,您可以尝试执行 ping 命令,您将获得 Redis 服务器的回复。
ping
ping "Hello Redis"以下是您通过 Redis 服务器身份验证后的结果。
- 测试禁用/重命名命令
运行我们在 shell 上重命名的所有命令,您将收到命令错误。
CONFIG
FLUSHALL下面是这些命令的错误结果。
接下来,为每个运行自定义命令。
使用 SET 命令创建一个新密钥,如下所示。
SET Name "Hakase Labs"
SET Blog "Howtoforge.com"
Keys *现在使用重命名的 FLUSHALL 命令 DELITALL 删除所有键和数据。
DELITALL
对于 CONFIG 命令,您可以尝试检索或设置 Redis 服务器配置的新值。 CONFIG 命令重命名为 REDISCONFIG。
REDISCONFIG get bind
REDISCONFIG get requirepass下面是这些新重命名的自定义命令的结果。
CentOS 7 Server上的Redis Server基础安装已经完成,Redis Server的基础安全应用已经完成。
参考
- https://redis.io/documentation