Redis内网访问限制配置

Redis密码设置与访问限制(网络安全) 原因就是redis简单高效。redis里的数据也越来越重要了,例如一些业务的中间数据会暂时存放在redis里,所以限制redis的访问还是很有必要。修改/etc/nologin.txt,没有的话就手动新建一个,在里面添加给被禁止用户的提示(这种方式的所有用户的锁定信息都在这个文件中,在登陆时给与提示)。2) 如果你再生产环境中,那么你一般会需要绑在网卡上,以便其他主机也能访问redis,那么我们会有一些其他的方式保证redis数据的安全。重启redis服务后,你的客户端都需要通过密码的方式访问redis。 阅读详情

Redis内网访问限制配置指南

在Linux环境下部署Redis时,限制内网访问是保障数据库安全的关键措施。根据Redis的安全特性和网络架构,可通过绑定IP、防火墙配置、认证机制等多层防护实现内网访问控制。

一、核心配置方案对比

控制层级实现方式适用场景安全强度配置复杂度
网络绑定bind指令绑定内网IP单一服务器内网隔离中低
防火墙iptables/firewalld规则多服务器网络分段高中
认证机制requirepass密码认证内网可信环境二次验证中低
ACL控制Redis 6.0+ ACL规则精细化权限管理高高

二、具体配置实现

1. 网络绑定限制(基础防护)

修改Redis配置文件,仅绑定内网IP地址:

# 编辑Redis配置文件
sudo vim /etc/redis/redis.conf

# 找到bind配置项,修改为内网IP
bind 192.168.1.100 127.0.0.1

# 重启Redis服务
sudo systemctl restart redis-server

关键参数说明:

  • bind 192.168.1.100:仅允许通过指定内网IP访问
  • bind 127.0.0.1:保留本地环回接口访问权限
  • 如需完全禁用公网访问,删除bind 0.0.0.0或bind ::配置

2. 防火墙规则配置(网络层防护)

使用iptables或firewalld限制Redis端口(6379)仅内网可访问:

# iptables方案 - 仅允许192.168.1.0/24网段访问
sudo iptables -A INPUT -p tcp --dport 6379 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 6379 -j DROP

# firewalld方案 - 创建内网专属zone
sudo firewall-cmd --permanent --new-zone=redis-internal
sudo firewall-cmd --permanent --zone=redis-internal --add-source=192.168.1.0/24
sudo firewall-cmd --permanent --zone=redis-internal --add-port=6379/tcp
sudo firewall-cmd --permanent --zone=public --remove-port=6379/tcp
sudo firewall-cmd --reload

3. Redis认证加固(应用层防护)

启用密码认证并要求内网客户端提供凭证:

# redis.conf配置
requirepass "YourStrongPassword123!"

# 同时保护危险命令
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""

# 生产环境建议结合ACL精细化控制(Redis 6.0+)
aclset user internal-user on >password123 ~192.168.1.* +@all -@dangerous

认证测试验证:

# 从内网客户端连接测试
redis-cli -h 192.168.1.100 -a YourStrongPassword123!

# 从外网尝试连接应被拒绝
redis-cli -h 公网IP -p 6379
# 返回错误: Connection refused 或 NOAUTH Authentication required

4. 系统级安全加固

# 创建专用redis用户和组
sudo groupadd redis
sudo useradd -r -g redis -s /bin/false redis

# 目录权限控制
sudo chown -R redis:redis /var/lib/redis
sudo chmod 750 /var/lib/redis

# 禁用透明大页(性能优化)
echo 'never' | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

三、生产环境部署示例

完整的Redis内网隔离配置流程:

#!/bin/bash
# Redis内网安全部署脚本

REDIS_CONF="/etc/redis/redis.conf"
INTERNAL_NET="192.168.1.0/24"
REDIS_PASSWORD=$(openssl rand -base64 32)

echo "配置Redis仅内网访问..."

# 备份原配置
cp $REDIS_CONF ${REDIS_CONF}.backup

# 应用内网绑定配置
sed -i "s/^bind.*/bind 192.168.1.100 127.0.0.1/" $REDIS_CONF

# 设置强密码认证
echo "requirepass \"$REDIS_PASSWORD\"" >> $REDIS_CONF

# 禁用危险命令
echo "rename-command FLUSHALL \"\"" >> $REDIS_CONF
echo "rename-command FLUSHDB \"\"" >> $REDIS_CONF
echo "rename-command CONFIG \"\"" >> $REDIS_CONF

# 配置防火墙
iptables -A INPUT -p tcp --dport 6379 -s $INTERNAL_NET -j ACCEPT
iptables -A INPUT -p tcp --dport 6379 -j DROP

# 重启服务
systemctl restart redis-server
systemctl enable redis-server

echo "Redis内网访问配置完成"
echo "内网访问地址: 192.168.1.100:6379"
echo "访问密码: $REDIS_PASSWORD"

四、验证与监控

配置完成后需进行全面的访问测试:

# 内网访问测试(应成功)
redis-cli -h 192.168.1.100 -p 6379 -a $password PING
# 返回: PONG

# 外网访问测试(应失败)
redis-cli -h 公网IP -p 6379 PING
# 返回: Could not connect to Redis at 公网IP:6379: Connection refused

# 监控连接状态
redis-cli -h 192.168.1.100 -a $password INFO clients
# 查看连接客户端IP,确认均为内网地址

五、安全最佳实践

  1. 网络分层:Redis服务器应部署在内网隔离区,避免直接暴露在公网
  2. 定期轮换:密码和ACL令牌应定期更新
  3. 日志审计:启用Redis慢查询日志和访问审计
  4. 加密传输:生产环境建议启用TLS加密通信
  5. 备份策略:结合RDB+AOF持久化确保数据安全

通过上述多层防护措施,可有效将Redis访问限制在内网环境,同时保障服务可用性和数据安全性。实际部署时应根据具体网络架构调整IP段和防护策略,并在变更前进行充分测试。


参考来源

 

如何通过内网穿透实现公网远程连接Redis数据库 Redis作为一款高速缓存的key value键值对的数据库,在许许多多的场景中广泛使用,由于是把数据存储在内存中,所以读写效率极高。下面介绍如何在内网虚拟机的linux中搭建redis并通过cpolar内网穿透实现公网访问。 阅读详情

相关推荐

Redis 未授权访问与 SSRF 漏洞联合作战:从入侵到防御的完整指南

本文深入解析Redis未授权访问与SSRF漏洞的联合作战方式,提供从入侵到防御的完整指南。通过实战案例演示如何利用SSRF漏洞撬开内网Redis服务,并详细列出多维度防御方案,包括Redis加固checklist和SSRF防护三板斧,帮助管理员有效防范此类安全威胁。

weixin_30952535的博客 174

redis限制IP访问问题

问题描述:redis访问过程中,发现存在redis队列中的信息,无缘无故就被取光了,又找不到是哪个小伙伴。于是,就想限制一下redis的访问,只对自己电脑的IP有效。即:配置redis外网可访问,并只允许指定的ip可访问redis   解决过程:在redis的配置文件中找到一个bind属性,它能限制IP的访问。配置后发现,redis重启失败,再三查阅很多资料后,发现bind的是网络接口(也...

上善若水 9075

别再为10G UDP发愁了!手把手教你用Xilinx 10G/25G Ethernet Subsystem IP核搭建FPGA网络栈(附12套工程源码)

本文详细介绍了基于Xilinx UltraScale架构的FPGA网络栈开发,重点讲解了10G/25G Ethernet Subsystem IP核的应用实践。通过手把手教程和12套工程源码,帮助开发者解决10G UDP通信中的物理层接口、协议栈实现和系统集成等核心挑战,实现高性能FPGA网络栈搭建。

weixin_42522575的博客 356

Redis:访问权限控制,密码设置

Redis:访问权限控制,密码设置

一些平时在开发过程中遇到的常见问题,分享给大家 1412

S4 Hana SD -信贷管理 - 02

在S4版本中,客户的信用管理数据在事务代码BP维护,业务伙伴角色是UKM000。在维护过程中,我们并不能直接输入信贷控制范围这个组织架构,而是需要输入一个信用段,并且在信用段的维度下去维护相应信用管理数据。对于信用段,可以分为主信用段(信用段是0000)和其他临时信用段,我们可以通过配置把次级信用段的客户信贷负债汇总到主信用段。当然,在后台也有配置,会把信用段和信贷控制范围这两者进行关联.3.2SPROIMG > 财务供应链管理 > 信用管理 > 信贷风险监视 > 主数据 > 创建信用段。

weixin_46525734的博客 1960

PCL1.12.1+VTK9.1+Qt5.14.2实战:解决QVTKOpenGLNativeWidget点云渲染窗口初始化报错问题

本文针对PCL1.12.1、VTK9.1与Qt5.14.2集成开发中,QVTKOpenGLNativeWidget点云渲染窗口初始化时出现的报错与黑屏问题,提供了深度分析与两种实战解决方案。核心在于理解VTK版本升级导致的渲染窗口类型不匹配,并指导开发者通过显式创建vtkGenericOpenGLRenderWindow或利用窗口ID嵌入,正确初始化并绑定可视化组件,从而稳定实现点云渲染。

weixin_29284657的博客 211

解决Redis无法使用ip访问(127.0.0.1可以访问)的情况

遇到主机redis使用localhost和127.0.0.1都可以访问,但是使用主机ip(192.168.1.103)访问就连接不上

风雨无阻学习之路 3468

华为昇腾Atlas 200I DK A2实战:从开箱到运行首个AI应用

本文详细介绍了华为昇腾Atlas 200I DK A2开发板从开箱到运行首个AI应用的全过程。包括硬件准备、系统烧录、开发板连接方案、AI应用运行及性能优化技巧,帮助开发者快速上手部署AI项目,提升开发效率。

weixin_27038245的博客 584

redis配置启动-外网可访问,关闭内网访问限制

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_27631797/article/details/79062574 前提是你已经把redis的端口放到了防火墙计划中, /sbin/iptables -I INPUT -p tcp --dport 6379 -j ...

weixin_30886233的博客 411

HyperLynx(十三)Hyperlynx前放置之对网络的EMC分析

在“Spectrum Analyzer”对话框的“Stimulus”(激励)栏中,设置激励源频率为100MHz,选择“IC modeling”为“Fast-Strong”,并按图所示设置其他选项。显然,在仿真的基频上,它的幅值最大,将鼠标光标置于柱状图上,可以读取其值为64.28mA,这个数值是由选定的驱动芯片决定的。按上图所示的原理图,在接收端增加一个并联的RC负载,再次运行仿真,结果如图所示。在对话框左侧的“Pins”列表中,显示出了已添加电流探针的引脚,可以在此列表中选择所要仿真的目标。...

小幽余生不加糖 4659

CodeQL查询时遇到报错:A fatal error occurred: Could not process query metadata for...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1078

redis启动后 允许访问_redis配置启动-外网可访问,关闭内网访问限制

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_27631797/article/details/79062574前提是你已经把redis的端口放到了防火墙计划中,/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT/etc/rc...

weixin_39912163的博客 303

innovus:streamOut gds中pg text带有冒号(:)解决办法

streamOut后查看layout,发现部分PG text后面加了冒号,比如VDD: / VSS:。当然,这个问题还有另一种解决办法,就是通过脚本给terminal打text再streamOut。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1181

阿里云mysql内网访问_阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的redis和mysql?...

《阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的redis和mysql?》要点:本文介绍了阿里云ECS(经典网络)如何实现内网互联?开放新机器访问旧的redis和mysql?,希望对您有用。如果有疑问,可以联系我们。今天任务是把2台阿里云ECS服务器(同一地区,同一可用区,同一帐号,经典网络)组成相互访问的内网架构。以第一步10.81.102.33(新) 要连接到 10.30.236...

weixin_31708209的博客 674

配置 SAP ABAP Secure Storage

系统在进行数据加密时,会将数据与当前 Key ID 进行关联,也就是说,如果此时使用的是 Key ID 4713,则该条数据会在 Encrypt.Data 字段存储一个由密钥 4713 加密后的密文。Key ID 代表了不同的密钥标识,Current Key 表示系统当前正在使用的主密钥,Value 则是对应密钥的存储值,Management Data 通常包括一些管理性或辅助性的信息,用于描述密钥的状态、过期时间或者其他属性。对于每一条被加密的业务数据,系统会记录它使用了哪一条 Key ID。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 556

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

linux redis访问权限,Redis bind 限制和指定IP访问

Redis VersionRedis server v=3.2.3参考关于bind################################## NETWORK ###################################### By default, if no "bind" configuration directive is specified, Redis listens#...

weixin_39682897的博客 2304

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

redis安全漏洞

生产环境扫描出安全漏洞Redis 未授权访问漏洞【原理扫描】. redis bind ip陷阱 1.默认配置 默认不配置, 表示所有地址都能访问到redis # bind 127.0.0.1 2.仅本机可以访问 bind 127.0.0.1 3.多个ip bind 127.0.0.1 192.1.17.61 配置多个地址表示为,这个地址可以被其他应用访问到, 而不是应用服务的地址, 这个说...

dark 1532

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Docker 部署Redis并配置redis.conf

redis的dockerhub地址:https://hub.docker.com/_/redis 1)、使用redis镜像的默认配置并开启AOF,默认的配置不设置密码,RDB/AOF存放在/data下,可远程访问: #docker run --name some-redis -d redis redis-server --appendonly yes 2)、使用自定义的redis.conf: 其中...

bhmww60204的专栏 806

redis 公网 安全_请务必注意 Redis 安全配置,否则将导致轻松被入侵

改了下标题,不吸引人都没人看一、前言前段时间,在做内网影响程度评估的时候写了扫描利用小脚本,扫描后统计发现,内网中 60% 开放了 redis6379 端口的主机处于可以被利用的危险状态,因为都是一些默认配置造成的考虑到本社区大部分开发者都会使用 redis,特此分享下以便大家可以对自己公司的内网进行一个排查。二、漏洞介绍Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Re...

weixin_39742065的博客 643

009 redis 安全

•定期打补丁: 定期关注版本更新及版本补丁; •禁止一些高危命令: 生产环境要通过配置禁止掉高危命令,不允许随意使用以免误操作; •以低权限运行 Redis 服务 redis要以低权限系统用户运行,不可以使用root用户建立和运行; •禁止外网访问 Redis 作为数据库,一定要禁止...

诸般世界 160

Redis 请务必注意 Redis 安全配置,否则将导致轻松被入侵

一、前言 前段时间,在做内网影响程度评估的时候写了扫描利用小脚本, 扫描后统计发现,内网中60%开放了redis6379端口的主机处于可以被利用的危险状态,因为都是一些默认配置造成的 考虑到本社区大部分开发者都会使用redis,特此分享下以便大家可以对自己公司的内网进行一个排查。 二、漏洞介绍 Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公...

xulong5000的专栏 398

Redis 够快但 “宅”?cpolar内网穿透让高速缓存走出局域网

它的适用人群很广,开发工程师用它优化程序响应速度,运维人员靠它管理实时数据流,物联网开发者则用它存储设备采集的即时数据。最大的优点是速度快(毫秒级响应)、轻量易部署,能适配多种业务场景。使用 Redis 时有几点要注意:本地部署时,配置文件里最好把 bind 设为 0.0.0.0,否则可能连不上;数据持久化要根据需求选,频繁更新的数据用 RDB 快照模式更合适;别把它当传统数据库存大量冷数据,毕竟内存空间有限,容易影响性能。但 Redis 在局域网内使用有不少局限。

m0_73879806的博客 274

Redis 生产环境部署安全性注意事项

一、前言 前段时间,在做内网影响程度评估的时候写了扫描利用小脚本, 扫描后统计发现,内网中60%开放了redis6379端口的主机处于可以被利用的危险状态,因为都是一些默认配置造成的 考虑到本社区大部分开发者都会使用redis,特此分享下以便大家可以对自己公司的内网进行一个排查。 二、...

364

redis配置文件redis.conf中bind详解

文章完全转载自:某园----->故人叹:Redis中bind的正确配置 文章链接:https://www.cnblogs.com/browselife/p/11220980.html 本来给个连接跳过去就行,但是有上次某园网站完全瘫痪的教训,我还是拿过来吧,挺好的一篇文章,谢谢作者 对于Redis中bind的正确的理解是: bind:是绑定本机的IP地址,(准确的是:本机的网卡对应的IP地址,每一个网卡都有一个IP地址),而不是redis允许来自其他计算机的IP地址。 如果指定了bind,则说明只允许

sun_luming的博客 2万+

redis部署

在redis目录下执行make编译,修改配置文件bind只监听内网,配置redis为systemctl启动。在redis的配置文件-redis.conf文件修改里面的 requirepass ****(密码)创建工作目录 把redis包解压工作目录(redis-6.2.7.tar.gz)下载编译需要工具包。登录 /data/application/redis/src/redis-cli。

m0_72823526的博客 345
小小程序员XN
博客等级 码龄5年 2粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值