如何在Ubuntu 18.04 LTS上安装和保护Redis

如何在Ubuntu 18.04 LTS上安装和保护Redis

Redis是一种开源的内存中键/值存储,用作数据库,缓存和消息代理。这是一个分布式内存键值数据库,具有可选的持久性。它通过半径查询支持常见的数据结构,例如字符串,哈希,列表,集合,位图,排序的集合,HyperlogLogs,流和地理空间索引。

在本教程中,我们将向您展示如何在Ubuntu 18.04 LTS上安装和配置Redis Server。我们将首先安装Redis Server,然后确保安装安全以使其可以投入生产。

先决条件

对于本指南,我们将在具有1GB RAM和2CPU内核的Ubuntu 18.04上安装Redis服务器。这仅用于测试,您的生产将需要更多。

我们要做什么:

  • 安装Redis服务器
  • Redis服务器基本配置
  • 保护Redis服务器
  • 测试

第1步-安装Redis服务器

首先,我们将更新Ubuntu系统上的所有存储库并升级所有软件包。

运行下面的apt命令。

sudo apt update
sudo apt upgrade

之后,使用下面的apt命令从官方Ubuntu仓库安装Redis-server软件包。

sudo apt install redis-server

安装完成后,您将收到有关Redis服务无法启动的错误消息,请忽略该消息错误,我们将在下一步中进行配置。

第2步-Redis服务器基本配置

在这一步中,我们将设置基本的Redis服务器。在Linux系统上,Redis配置位于“ / etc / redis”目录中。

转到“ / etc / redis”目录,并使用vim编辑器编辑配置文件“ redis.conf”。

cd /etc/redis/
vim redis.conf

首先,我们需要确定“绑定” IP地址将运行redis服务。不建议将公共IP地址用于Redis服务,或者如果您正在运行多/集群Redis服务,则应使用内部网络。

在此示例中,将“绑定”地址更改为本地主机IP地址。

bind 127.0.0.1

之后,我们需要设置redis服务如何在服务器上运行。由于我们使用的是Ubuntu服务器和systemd,因此我们需要将“受监管的”线路配置更改为“ systemd”。

supervised systemd

保存并关闭。

现在,重新启动redis服务,并将其添加到启动时间。

systemctl restart redis-server
systemctl enable redis-server

启用Redis服务

现在,确保没有错误,然后检查其状态。

systemctl status redis-server

启动Redis服务器

结果,redis服务已启动并在Ubuntu 18.04 Server上运行。

现在,使用下面的netstat命令检查默认的Redis端口'6379'。

netstat -plntu

您将得到结果,redis服务在默认值为“ 6379”的本地主机IP地址上运行。

现在,使用“ redis-cli”命令检查Redis,如下所示。

redis-cli ping
redis-cli ping "Hello Redis"

您将得到如下结果。

Ping Redis服务器进行测试

如果您的安装正确,您将收到Redis Server回复“ PONG”或回复您在“ ping”选项后仅输入文字的文字。

Redis Server的基本安装和配置已成功完成。

步骤3-保护Redis安装

在这一步中,我们将确保我们的Redis安装安全。关于保护Redis服务器,您必须了解三件事。

1.网络安全

Redis服务器的网络安全性与Redis配置'redis.conf'上的'bind'配置有关。建议在安装Redis时使用内部专用网络,不要使用公共网络。

转到“ / etc / redis”目录并编辑配置文件“ redis.conf”。

cd /etc/redis/
vim redis.conf

在“绑定”部分,使用您自己的内部网络IP地址更改IP地址。

bind INTERNAL-IP-ADDRESS

保存并关闭。

现在,Redis服务将在“内部IP地址”下运行。

2.密码验证

Redis的密码身份验证将使您可以访问Redis服务器。这是一小层安全性,将增强您的Redis服务器安全性,并且默认安装尚未启用它。

要为Rediser服务器启用密码验证,您将需要取消注释'redis.conf'文件上的'requirepass'部分,然后在其后键入您的强密码。

requirepass [email protected]#$

使用您的强密码更改“(受电子邮件保护的)#$''。现在,已启用Redis的密码身份验证。

3.禁用危险的Redis命令

Redis提供了用于禁用某些特定Redis命令的功能。此功能可用于重命名或禁用某些危险的命令,例如用于擦除所有数据的“ FLUSHALL”,通过Redis CLI设置配置参数的“ CONFIG”命令等。

要更改或禁用Redis命令,可以使用'rename-command'选项。编辑Redis配置文件'redis.conf'并在下面添加一些配置。

# rename-command COMMAND "CUSTOM"
rename-command FLUSHALL "DELITALL"
rename-command CONFIG "MYSERVERCONF"

保存并关闭。

完成所有操作后,使用下面的systemctl命令重新启动Redis服务。

systemctl restart redis-server

用于保护Redis安装的基本Redis安全性已应用于我们的主机。

编辑Redis配置

出于其他考虑,您可能还需要对Redis的“数据加密货币”支持以及应用程序端所需的安全编码。

步骤4-测试

在此步骤中,我们将使用“ redis-cli”命令行测试我们的Redis Server部署。

1.测试主机和身份验证

通过指定redis服务器主机名/ IP地址和端口,使用redis-cli命令连接到Redis服务器。

redis-cli -h 10.5.5.25 -p 6379

用您自己的IP地址更改“ 10.5.5.25”。

连接到服务器后,请尝试ping命令。

ping
ping "Hello Redis"

现在您将得到如下结果。

测试Redis

您收到错误提示,因为您需要在Redis CLI Shell上调用任何命令之前进行身份验证。

运行以下命令以对Redis服务器进行身份验证。

AUTH [email protected]#$

通过身份验证后,可以尝试使用ping命令,并且将从Redis服务器获得答复。

ping
ping "Hello Redis"

以下是您对Redis服务器进行身份验证后的结果。

Redis响应

2.测试禁用/重命名的命令

运行我们在外壳上重命名的所有命令,您将收到命令错误。

FLUSHALL
CONFIG

以下是这些命令的错误结果。

测试重命名的命令

接下来,为每个命令运行“ CUSTOM”命令。

通过以下redis-cli命令创建新密钥。

SET Name "Hakase Labs"
SET Blog "Howtoforge.com"

Keys *

现在,使用重命名的“ FLUSHALL”命令“ DELITALL”删除所有键和数据。

DELITALL

对于“ CONFIG”命令,您可以尝试检索或设置Redis Server配置的新值。 “ CONFIG”命令重命名为“ MYSERVERCONF”。

MYSERVERCONF get bind
MYSERVERCONF get requirepass

以下是这些新重命名的自定义命令的结果。

获取Redis配置

已在Ubuntu 18.04上完成Redis Server的基本安装,并且已应用Redis Server的基本安全性。

参考

  • https://redis.io/documentation

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载
你可能还喜欢