ITPub博客

首页 > 云计算 > 开源云工具 > 使用滴滴云DC2,在CentOS7安装Redis并进行安全加固

使用滴滴云DC2,在CentOS7安装Redis并进行安全加固

原创 开源云工具 作者:java06051515 时间:2018-11-13 19:11:00 0 删除 编辑

简介

Redis是开源的内存数据库,并以其良好的灵活性、性能、可扩展性与兼容性著称。

Redis本身被设计成客户端授信的环境下进行访问,服务本身并没有强大的安全功能。但是也具有一些关于安全的基本功能,包括访问密码、命令的重命名与屏蔽等能力。本教程提供了如何配置这些安全功能的说明,并且包含CentOS7上能够为Redis提供的安全特性。

请注意,本文档不涉及分布式与跨地域的Redis集群。

环境准备

本教程使用滴滴云DC2环境进行部署,不同环境部署可能略有不同。

安装Redis

以yum方式安装CentOS7支持的Redis默认版本(如需其他版本则需要从redis.io进行下载):

$ sudo yum install redis -y

整个操作过程使用默认用户即dc2-user进行操作

完成安装后,启动Redis服务:

$ sudo systemctl enable redis

如需在系统启动时启动Redis服务,可执行如下命令:

$ sudo systemctl enable redis

执行如下命令,查看Redis服务状态:

$ sudo systemctl status redis.service

输出内容如下:

● redis.service - Redis persistent key-value database

   Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)

  Drop-In: /etc/systemd/system/redis.service.d

           └─limit.conf

   Active: active (running) since Thu 2018-11-08 17:20:58 CST; 15s ago

 Main PID: 21637 (redis-server)

   CGroup: /system.slice/redis.service

           └─21637 /usr/bin/redis-server 127.0.0.1:6379

Nov 08 17:20:58 10-255-20-202 systemd[1]: Starting Redis persistent key-value database...

Nov 08 17:20:58 10-255-20-202 systemd[1]: Started Redis persistent key-value database.

一旦确认服务已启动,可使用如下命令进行测试:

$ redis-cli ping

屏幕中会输出 PONG ,表示服务已运行,接下来我们就可以配置安全选项了。

绑定Redis访问地址

打开Redis配置文件并进行编辑:

$ sudo vi /etc/redis.conf

找到以bind开头的行,并在下面加入如下内容:

bind 127.0.0.1

强烈建议此处只添加私有地址,添加共有地址会增加额外的风险。如果你需要绑定其他地址,可在IP后加空格和其他IP地址。

配置Redis密码

再次打开Redis配置文件:

$ sudo vi /etc/redis.conf

光标移动到SECURITY章节,找到如下注释内容:

# requirepass foobared

通过移除‘#’,并将foobared修改成更为安全的密码,比如使用sha256sum对简单密码进行加密:

$ echo "didicloud" | sha256sum

将输出结果修改到配置文件中并重启服务:

$ sudo systemctl restart redis.service

现在来测试下是否需要密码进行登录:

$ redis-cli

127.0.0.1:6379> set key1 10

显然,这时候需要密码才能够正常操作了,那么首先需要进行认证:

127.0.0.1:6379> auth your_redis_password

Redis会返回 OK,此时表示已经认证成功,可继续上面的数据操作:

127.0.0.1:6379> set key1 10

OK

127.0.0.1:6379> get key1

"10"

退出Redis命令行,可执行如下命令:

127.0.0.1:6379> quit

对危险命令进行重命名

Redis的另一个内置的安全机制,允许将危险命令进行重命名或者完全禁用,已防止未授权用户使用命令擦除或销毁数据。

危险命令包含如下:

FLUSHDB

FLUSHALL

KEYS

PEXPIRE

DEL

CONFIG

SHUTDOWN

BGREWRITEAOF

BGSAVE

SAVE

SPOP

SREM

RENAME

DEBUG

以上并不是一个完善的清单,但是从如上命令进行重命名或禁用是一个很好的开始。

重新打开Redis的配置文件

sudo vi  /etc/redis.conf

通过配置一个重命名空值来禁用命令

rename-command FLUSHDB ""

rename-command FLUSHALL ""

rename-command DEBUG ""

通过配置一个新的名称来给命令重命名:

rename-command SHUTDOWN SHUTDOWN_MENOT

rename-command CONFIG ASC12_CONFIG

配置好之后重启服务:

$ sudo service redis-server restart

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31559758/viewspace-2219853/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-10-26

  • 博文量
    167
  • 访问量
    216137