Redis安全加固策略:服务账号管理 开启redis密码认证 开启防护模式

Redis安全加固策略:服务账号管理 & 开启redis密码认证 & 开启防护模式

    • 1.1 服务账号管理
      • 1.1.1 检测方法
      • 1.1.2 加固参考配置操作
    • 1.2 开启redis密码认证
      • 1.2.1 检测方法
      • 1.2.2 加固参考配置操作
    • 1.3 开启防护模式
      • 1.3.1 检测方法
      • 1.3.2 加固参考配置操作


💖The Begin💖点点关注,收藏不迷路💖

1.1 服务账号管理

在Redis安全加固策略中,服务账号管理是至关重要的一环。通过有效的服务账号管理,可以限制对Redis数据库的访问权限,降低潜在的安全风险。

为Redis数据库创建专门的服务账号,避免使用通用账号或管理员账号来访问数据库。这样可以降低被攻击的风险,同时也方便进行权限管理和审计。

1.1.1 检测方法

执行以下命令查看redis的启动用户:

ps -ef|grep redis-server|grep -v "grep"

判定依据: redis进程的启动用户不为root则合规,否则不合规。

检查点: redis服务进程运行账号。

如:
在这里插入图片描述

1.1.2 加固参考配置操作

1、停止redis数据库。

# 停止redis数据库systemctl stop redis

2、创建一个专门用于运行Redis的普通账号(redis)。

# 创建普通账号,并设置密码
useradd redispasswd redis

在这里插入图片描述

3、赋予普通账号redis的权限,将Redis相关文件夹的所有权更改为新创建的普通账号

chown -R redis:redis /usr/local/bin/redis-*
chown -R redis:redis  /var/lib/redis
chown -R redis:redis  /var/log/redis/
chown -R redis:redis  /usr/local/redis-7.0.9

注意:每个不同环境有关的文件可能不一样,这里涉及的权限文件有:

1、/usr/local/bin/,下redis开头的文件:

在这里插入图片描述

这些文件是Redis数据库的一些常见可执行文件,每个文件的作用如下:

redis-benchmark: Redis性能测试工具,用于测试Redis服务器的性能。
redis-check-aof: 用于检查和修复Redis的AOF(Append-Only File)文件。
redis-check-rdb: 用于检查和修复Redis的RDB文件。
redis-cli: Redis的命令行客户端,用于与Redis服务器进行交互。
redis-sentinel: Redis的哨兵进程,用于监控和管理Redis主从复制和高可用性。
redis-server: Redis服务器进程,用于运行Redis数据库服务。

2、 数据存储目录 /var/lib/redis

3、日志文件目录 /var/log/redis/redis.log

4、配置文件目录:/usr/local/redis-7.0.9

4、root用户下更改Redis启动脚本

如果使用的是系统服务管理器(如systemd)来启动Redis,需要编辑对应的服务单元文件,将运行用户更改为新创建的普通账号。可以使用以下命令编辑Redis的systemd服务单元文件:

在[Service]模块添加以下内容:

[Service]User=redis
Group=redis

在这里插入图片描述
5、重新加载服务单元文件

重新加载Redis的systemd服务单元文件,使更改生效:

systemctl daemon-reload

在这里插入图片描述

6、重启Redis服务

systemctl restart redis

在这里插入图片描述

通过以上步骤,你已经成功将Redis数据库从root用户更改为普通账号启动。这样可以提高系统的安全性,降低潜在的风险。请确保在执行这些步骤之前备份重要数据,并在操作过程中小心谨慎。

1.2 开启redis密码认证

开启Redis密码认证可以提供以下几个重要的作用和好处:

1、安全性增强: 通过设置密码认证,只有知道密码的用户才能连接到Redis数据库。这可以防止未经授权的访问和恶意攻击。

2、数据保护: 密码认证可以确保只有授权用户能够对Redis数据库进行读写操作,从而保护数据库中的数据免受未经授权的访问和篡改。

3、合规性要求: 在一些安全要求较高的环境中,如金融、医疗等行业,密码认证是符合合规性要求的基本措施之一。

4、防止资源滥用: 通过密码认证,可以防止未经授权的用户滥用Redis服务器资源,如执行大量查询或写入操作,从而影响服务器性能。

5、远程访问控制: 如果Redis服务器可以被远程访问,启用密码认证可以限制只有知道密码的用户才能连接到服务器,增加远程访问的安全性。

未开启密码认证时,命令不带密码可以直接连接到Redis。

redis-cli -h 127.0.0.1 -p 6379

在这里插入图片描述

1.2.1 检测方法

连接相关数据库,执行以下命令查看requirepass密码配置:

redis:6379>CONFIG GET requirepass

或者查看相关配置文件是否存在requirepass配置

判定依据:requirepass密码设置较为复杂则为合规,否则为不合规。

在这里插入图片描述

1.2.2 加固参考配置操作

首先,找到并编辑Redis的配置文件,通常为redis.conf。

1、备份配置文件

Linux:

cp  /usr/local/redis-7.0.9/redis.conf  /usr/local/redis-7.0.9/redis.conf.bak

Windows:

copy 【安装路径】\etc\redis.conf 【安装路径】\etc\redis.conf.bak

2、编辑配置文件添加认证密码

## 根据关键字requirepass检索,去掉前面的#注释,添加密码
requirepass 【password】

在这里插入图片描述

3、重新启动redis数据库,验证密码认证。

systemctl restart redis
redis-cli -h 127.0.0.1 -p 6379127.0.0.1:6379> get k1
(error) NOAUTH Authentication required.
127.0.0.1:6379> 

在这里插入图片描述

当再次不带密码连接时,出现了NOAUTH Authentication required错误,这是因为Redis服务器已经启用了密码认证,但在执行get k1命令时未提供正确的认证信息。

使用密码进行认证效果:

redis-cli -h 127.0.0.1 -p 6379 -a 密码[root@zyl-server ~]# redis-cli -h 127.0.0.1 -p 6379 -a Zyl##2024
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379>

在这里插入图片描述

1.3 开启防护模式

在Redis中,“protected mode”(防护模式)是一种安全特性,用于保护Redis实例免受未经授权的访问。

当Redis处于防护模式下时,只允许本地连接,而不允许外部网络连接。这有助于减少未经授权的访问和潜在的安全风险。

1.3.1 检测方法

1、查看配置文件或者连接数据库查询protected-mod参数是否设置为yes。

判定依据: protected-mod参数设置为yes则为合规,否则为不合规。

1.3.2 加固参考配置操作

1、vi /usr/local/redis-7.0.9/redis.conf,修改配置文件添加以下内容:

protected-mod yes

在这里插入图片描述

2、根据修改后的配置文件,重新启动redis数据库。

systemctl restart redis

注:此项配置仅在3.2版本之后才可设置。

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/505796.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu进入python时报错:找不到命令 “python”,“python3” 命令来自 Debian 软件包 python3

一、错误描述 二、解决办法 进入”/usr/bin”目录下,查看/usr/bin目录中所有与python相关的文件和链接: cd /usr/bin ls -l | grep python 可以看到Python3指向的是Python3.10,而并无指向python3的软连接 只需要在python与python3之间手动…

【C++提高编程】

C提高编程 C提高编程1 模板1.1 模板的概念1.2 函数模板1.2.1 函数模板语法1.2.2 函数模板注意事项1.2.3 函数模板案例1.2.4 普通函数与函数模板的区别1.2.5 普通函数与函数模板的调用规则1.2.6 模板的局限性 1.3 类模板1.3.1 类模板语法1.3.2 类模板与函数模板区别1.3.3 类模板…

信息检索(七):Transformer Memory as a Differentiable Search Index

Transformer Memory as a Differentiable Search Index 摘要1. 引言2. 相关工作3. 可微搜索索引3.1 索引策略3.1.1 索引方法3.1.2 文档表示策略 3.2 用于检索的 Docids 表示3.3 训练和优化 4. 实验4.1 基线4.2 实验结果 5. 结论参考资料 原文链接:https://proceedin…

linux的通信方案(SYSTEM V)

文章目录 共享内存(Share Memory)信号队列(Message Queue)信号量(semaphore) 进程间通信的核心理念:让不同的进程看见同一块资源 linux下的通信方案: SYSTEM V 共享内存(Share Memory) 特点:1.共享内存是进程见通信最…

VBA数据库解决方案第九讲:打开数据库记录集,所得数据回填

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

【二分】第k个缺失的数

第K个缺失的数 链接 . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/kth-missing-positive-number/ 题目 题解 二段…

VirtualBox 桥接网卡 未指定 “未能启动虚拟电脑Ubuntu,由于下述物理网卡未找到:”

解决办法,安装虚拟网卡,win11查找方式:控制面板→网络和共享中心→更改适配器设置 此时出现下面情况就算安装成功 但是如果报错:找不到指定的模块 则按下面步骤删除干净垃圾重新上面操作 先安装CCleaner, 链接:CCleaner Makes Y…

QT6 libModbus 用于ModbusTcp客户端读写服务端

虽然在以前的文章中多次描述过,那么本文使用开源库libModbus,可得到更好的性能,也可移植到各种平台。 性能:读1次和写1次约各用时2ms。 分别创建了读和写各1个连接指针,用于读100个寄存器和写100个寄存器,读写分离。 客户端&am…

Grid-Based Continuous Normal Representation for Anomaly Detection 论文阅读

Grid-Based Continuous Normal Representation for Anomaly Detection 论文阅读 摘要简介方法3.1 Normal Representation3.2 Feature Refinement3.3 Training and Inference 4 实验结果5 总结 文章信息: 原文链接:https://arxiv.org/abs/2402.18293 源码…

二、IO接口时序分析基本原理和意义

前言:前面内容介绍了时序分析的基本原理,着重学习了芯片内部的两级寄存器之间的时序分析模型,本篇内容针对IO部分的时序分析模型展开讨论讲解。 文章目录 一、IO接口时序分析的基本模型(源同步)二、INPUT DELAY 时序分…

java-ssm-jsp-宠物护理预定系统

java-ssm-jsp-宠物护理预定系统 获取源码——》公主号:计算机专业毕设大全

Vue开发实例(一)Vue环境搭建第一个项目

Vue环境搭建&第一个项目 一、环境搭建二、安装Vue脚手架三、创建Vue项目 一、环境搭建 下载方式从官网下载:http://nodejs.cn/download/ 建议下载v12.16.0版本以上的,因为版本低无法创建Vue的脚手架 检验是否安装成功 配置环境变量 新增NODE_HOME&…