news 2026/8/15 13:07:42

宝塔 Redis 安全配置和可用性完整检查步骤

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
宝塔 Redis 安全配置和可用性完整检查步骤

宝塔 Redis 安全配置 + 可用性完整检查步骤

硬件 / 网络 / 系统

一一、阿里云 ECS 本机基础检查

1. ECS 控制台检查(阿里云网页后台)

  1. 实例状态:运行中,CPU / 内存 / 磁盘使用率是否长期飙高(负载高会导致若依接口超时)
  2. 磁盘:云盘剩余空间,若根分区满会直接无法写入日志、打包项目
  3. 安全组(重中之重)
    • 只放行必要端口:80 (http)、443 (https)、22 (SSH)、3306 (MySQL 建议只内网访问)、宝塔端口默认 8888、Redis 6379 内网
    • 绝对不要:0.0.0.0/0 开放 3306、6379、8888 全公网
    • 宝塔面板端口建议改成非 8888,避免批量扫描爆破
  4. 带宽:看出入带宽是否跑满,若依图片、文件上传下载耗带宽

2. SSH 登录服务器命令行核查(Xshell/FinallShell)

1.查询等待 CPU 去处理的任务队列长度

输入

uptime

一般显示都是这样

重点看load average后面三个数字:0.26 0.26 0.19

  1. 左升右降 = 压力回落,左降右升 = 压力加重;

具体的分析和延伸知识点可以参考这个:

阿里云服务器负载状态查询-uptime查询出load average的解释(查询等待 CPU 去处理的任务队列长度)-CSDN博客

2.查询top

top 是 Linux 系统实时资源监视器,相当于服务器的「任务管理器」。可以实时查看整机CPU、内存、IO状态,以及每一个进程的资源占用,是排查若依Java服务卡顿、CPU飙高、内存溢出的核心命令。输入进去后可查看,再按q退出。

具体的分析和延伸知识点可以参考这个:

Linux 系统实时资源监视器 top 命令详解(进程级实时资源监控)-CSDN博客

3.df -h

df -h 用于查看服务器所有磁盘分区使用率、剩余空间、挂载位置。磁盘满是生产环境最常见宕机原因:项目无法写入日志、数据库无法写入、文件上传失败、服务直接卡死。

具体的分析和延伸知识点可以参考这个:

阿里云服务器-命令3- df -h 和du -sh 命令详解(磁盘空间巡检)-CSDN博客

4.查询top
5.查询top
6.查询top
7.查询top
8.查询top
9.查询top
10.查询top
# 一. 系统负载 uptime top # 二. 磁盘占用 df -h # 三. 内存 free -h # 四. 监听端口(看有没有异常端口对外开放) netstat -tulnp ss -tulnp # 五. 登录日志,排查是否被暴力破解 last /var/log/secure 或者 /var/log/auth.log # 六. 系统版本、防火墙状态 cat /etc/redhat-release systemctl status firewalld

二、宝塔面板环境完整配置核查(核心)

打开http://服务器IP:宝塔端口登录面板

(一)软件环境版本 & 可用性检查

1. 已安装环境(若依 Java 版必备)
  • Nginx:用于反向代理、静态资源、域名绑定
  • MySQL 5.7 / 8.0(看你项目用哪个)
  • Redis(必须,若依缓存、登录会话依赖)
  • JDK 1.8(强烈推荐,兼容性最好)
  • Maven(打包用)
  • PM2(前端 vue 打包后部署)

逐个点进去验证:

  1. MySQL:设置 root 强密码,删除空账号,不允许公网访问
  2. Redis:设置密码,关闭外网访问,只 127.0.0.1 / 内网 IP 访问
  3. JDK:java -version面板终端执行确认版本
2. 网站站点配置检查(若依前后端分离)
后端 Java 服务两种部署方式核对
  1. 宝塔 Java 项目管理器部署(推荐)

    • 启动命令、JVM 参数是否合理:-Xms512m -Xmx1024m
    • 日志输出路径、是否自动滚动
    • 开机自启是否勾选
    • 测试重启:停止→启动→查看日志有无报错
  2. Jar 包用 shell 后台启动 nohup进入项目目录看启动脚本,检查是否宕机自重启

前端 Vue 站点(Nginx 站点)
  1. 根目录指向 dist 打包文件夹
  2. 伪静态选择Vue history模式规则
  3. 反向代理配置:/prod-api/转发到后端 Java 端口(如 8080)
  4. SSL 证书是否配置、强制 HTTPS 跳转
3. 数据库专项检查
  1. 新建独立数据库给若依,不要用 root 账号直接连接项目
  2. 创建专用数据库用户,仅授权对应库,限制访问 IP
  3. 备份计划:开启每日自动数据库备份,保留 7-30 天
  4. 磁盘备份目录不要放在系统盘,建议挂载数据盘
4. 文件与 FTP(你用到 Pure-Ftpd)
  1. FTP 账号仅给必要人员,禁止 root 登录 FTP
  2. 目录权限:网站目录 755,文件 644,禁止 777 高危权限
  3. 检查是否有陌生上传目录、可执行脚本

(二)宝塔基础设置核查

  1. 面板账号密码:高强度密码,开启两步验证
  2. 面板端口修改:安全→面板设置,改掉默认 8888
  3. 绑定登录 IP:只允许你的办公 IP 登录面板(阿里云安全组再叠加一层)
  4. 禁用面板外网数据库管理
  5. 定时任务:检查有无陌生定时脚本(挖矿、木马常用)

三、若依项目本身配置与运行校验(上传代码前必看)

1. 配置文件敏感信息检查(上传前自查)

application.yml / application-dev.yml / application-prod.yml

  • ✅ 生产环境关闭 swagger、druid 监控页面
  • ✅ 数据库地址、账号密码、Redis 密码不硬编码(可放宝塔环境变量)
  • ✅ 密钥ruoyi.token.secret不要用默认值
  • ✅ 文件上传路径配置为服务器合法路径,限制上传后缀(禁止 php/sh/jsp)
  • ✅ 关闭 SQL 打印日志,避免泄露表结构

2. 打包 & 部署校验

  1. 后端:mvn clean package -Dmaven.test.skip=true正常打出 jar
  2. 前端:npm run build:prod正常生成 dist
  3. 上传后权限:jar 包不要 777,nginx 静态资源权限正常
  4. 启动后访问测试:
    • 后端接口文档地址能否正常打开(生产建议关闭)
    • 前端登录、菜单、文件上传、导出全部测一遍
  5. 日志查看:有没有频繁报错、数据库连接池耗尽、Redis 连接失败

3. 上传代码注意避坑

  • 不要上传.git、node_modules、本地配置文件、.env 本地密钥文件
  • 前后端分开上传,前端丢 Nginx 站点,后端用 Java 项目管理器部署
  • 覆盖前先备份旧 jar 包、旧 dist 目录,回滚方案准备好

四、宝塔 + 阿里云双层安全加固(最重要)

第一层:阿里云 ECS 安全组

只开放最小必要端口示例:

  • 22 SSH(仅限自己 IP)
  • 80、443 全站访问
  • 自定义宝塔端口(仅限自己 IP)3306、6379、8080 后端端口全部不公开放通,内网 / Nginx 转发访问

第二层:宝塔防火墙(软件防火墙)

  1. 开启防火墙,只放行上面端口
  2. 拦截高频异常访问、单 IP 大量请求
  3. 封禁海外 IP(国内业务直接封禁)

第三层:宝塔安全插件一键加固

  1. 安装宝塔防火墙、网站防篡改、恶意文件扫描
  2. 定期全盘扫描木马、webshell
  3. Nginx 开启:防盗链、禁止目录浏览、限制请求频率
  4. MySQL:开启慢日志,禁止远程 root 登录
  5. Redis:设密码 + 仅本地访问,禁用危险命令(keys、flushall)

第四层:系统账号与入侵防范

  1. 服务器 SSH 禁用密码登录,改用密钥登录
  2. 修改 SSH 默认 22 端口(可选)
  3. 宝塔定期更新系统补丁、宝塔面板本身、所有环境软件
  4. 关闭服务器不必要开机自启服务

五、极简快速自检执行步骤(你现在立刻能做)

  1. 阿里云后台:看 ECS 负载→核对安全组端口
  2. SSH 登录服务器:df -h 看磁盘、top 看负载
  3. 登录宝塔:
    • 检查 MySQL/Redis 密码与外网访问权限
    • 查看现有网站、Java 项目是否正常运行
    • 查看定时任务、防火墙规则
  4. 检查若依配置文件敏感内容,清理本地多余文件再上传
  5. 上传部署后启动,查看运行日志,测试全功能
  6. 宝塔执行一次病毒木马全盘扫描

六、常见坑提前规避

  1. Redis 无密码公网暴露 → 极易被挖矿植入
  2. MySQL 3306 全公网开放 → 数据库被拖库删库
  3. 宝塔 8888 默认端口 + 弱密码 → 面板被入侵篡改网站
  4. 若依生产开 swagger、默认密钥 → 接口被遍历攻击
  5. 磁盘占满导致项目宕机、数据库锁死

一、先做安全加固(必须操作)

步骤 1:进入 Redis 设置页面

  1. 保持当前页面:左侧菜单【数据库】→顶部标签【Redis】
  2. 点击页面上方Redis 8.0.5 右边的绿色播放按钮下拉框→ 选择设置

步骤 2:设置访问密码(强密码保存好)

  1. 在配置页找到Requirepass 访问密码,输入复杂度高的密码,复制保存下来(后面登录要用)
  2. 找到Bind 绑定 IP 地址,把默认0.0.0.0修改为127.0.0.1

作用:只允许服务器本地程序访问 Redis,彻底杜绝外网扫描爆破 Redis 漏洞

步骤 3:保存配置并重启 Redis

  1. 拉到页面底部点击保存
  2. 回到 Redis 首页,点版本右侧下拉箭头 →重启,等待服务重启完成、状态显示正常

二、终端命令行检查 Redis 是否可用(验证最终是否生效)

1. 登录服务器终端(宝塔左侧【终端】工具)

2. 执行连接测试命令

把命令里密码替换成刚才设置的真实密码:

redis-cli -a 密码
验证成功标志:
  1. 直接进入127.0.0.1:6379>命令行提示符,无报错
  2. 输入ping,返回PONG代表 Redis 服务完全正常
127.0.0.1:6379> ping PONG

补充两个校验命令(可选)

  1. 查看当前密码是否生效:config get requirepass
  2. 查看绑定地址是否为本地:config get bind

三、额外兜底检查(避坑)

  1. 端口放行:宝塔【安全】→防火墙,确认6379 端口没有放行,因为已经绑定 127.0.0.1,放不放行外网都无法访问
  2. 若依项目配置同步: Java 若依项目application.yml里 Redis 密码、host 要改成127.0.0.1和新密码,否则项目连不上缓存
  3. 测试外网连接(验证封禁效果):本地电脑用 Redis 工具填服务器公网 IP+6379,会直接连接超时,说明外网拦截生效

四、配置文件安全项详解

1. 已正确配置的安全加固

  1. 网络绑定 IP
bind 127.0.0.1

只允许本地回环地址访问,彻底禁止公网 / 其他服务器直连 Redis,这一步已经做到位。

  1. 保护模式开启
protected-mode yes

在无密码、多网卡绑定场景下二次拦截外网访问,双重保险。

  1. 后台守护进程运行
daemonize yes

Redis 后台常驻运行,宝塔管理正常。

  1. 端口默认 6379
port 6379

只要宝塔防火墙不放开 6379 端口,外网无法探测。

2. 必须补充修改的核心项(当前缺失)

(1)设置访问密码(最重要)

找到这一行:

# requirepass foobared

取消注释,替换为高强度密码(字母 + 数字 + 符号,长度≥16 位),示例:

requirepass MiaoMiao@Redis2025#Server

警告:Redis 跑在高性能服务器上,暴力破解速度极快,弱密码等于没加。

(2)高危命令重命名(生产环境推荐)

requirepass下方添加,防止入侵后通过 CONFIG/FLUSHALL 删库、改配置:

# 重命名CONFIG为随机字符串,彻底隐藏 rename-command CONFIG "4re986qj9k9pb8qMiao4ghvui4vy8975pnq83" # 直接禁用清空所有库命令 rename-command FLUSHALL "" # 直接禁用清空单个库命令 rename-command FLUSHDB ""

(3)内存策略优化(若依项目必改)

当前默认:

# maxmemory <bytes> # maxmemory-policy noeviction

修改为限制内存 + 淘汰策略,避免 Redis 占满服务器内存宕机:

# 限制最大使用内存,根据服务器配置调整,2G机器设1g,4G设2g maxmemory 1gb # 优先淘汰带过期时间的LRU最少使用key(最适合缓存业务) maxmemory-policy volatile-lru

(4)AOF 持久化开启(数据防丢失)

当前appendonly no,断电会丢失最近写入数据,改为:

appendonly yes appendfsync everysec

RDB 快照保留即可,AOF 做增量持久化,双保险。


二、修改后生效操作步骤(宝塔面板)

  1. 保存这份redis.conf文件
  2. 回到宝塔 → 数据库 → Redis → 点击Redis 8.0.5下拉箭头 →重启
  3. 等待状态变为【正常】

三、逐项校验检查命令(宝塔终端执行)

1. 带密码登录验证

redis-cli -a 你设置的密码

进入127.0.0.1:6379>提示符代表连通正常。

2. 检查绑定地址是否为本地

CONFIG GET bind # 返回结果应为 127.0.0.1

3. 检查密码是否生效

CONFIG GET requirepass # 返回你设置的密码串

4. 连通性健康检查

PING # 返回 PONG 代表服务运行正常

5. 测试高危命令是否被禁用 / 改名

redis

# 直接输入CONFIG会报错,证明重命名生效 CONFIG GET bind

6. 外网阻断验证(可选)

在自己本地电脑 Redis 客户端,填写服务器公网 IP:6379,直接连接超时,代表外网访问彻底拦截成功。


四、若依项目 yml 配套修改(否则项目连不上 Redis)

spring: redis: host: 127.0.0.1 port: 6379 password: MiaoMiao@Redis2025#Server # 和配置文件一致 database: 0

五、

最终安全总结清单(可直接归档)

✅ bind 绑定 127.0.0.1,禁止外网 TCP 访问

✅ protected-mode 保护模式开启

✅ 设置强访问密码 requirepass

✅ FLUSHALL/FLUSHDB 禁用、CONFIG 命令重命名

✅ 内存上限限制 + 合理淘汰策略

✅ AOF 持久化开启,防止数据丢失

✅ 防火墙关闭 6379 端口外网放行

✅ 重启服务后 cli 密码登录验证通过

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/15 13:05:48

如何快速提取虚幻引擎游戏资源:UEViewer 实用入门指南

如何快速提取虚幻引擎游戏资源&#xff1a;UEViewer 实用入门指南 【免费下载链接】UEViewer Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer). 项目地址: https://gitcode.com/gh_mirrors/ue/UEViewer 当你打开一款游戏的安装目录&#xff0c;看到满屏的…

作者头像 李华
网站建设 2026/8/15 13:03:34

从502错误到网络协议:TCP/IP与HTTP实战解析与故障排查指南

1. 从一次“502 Bad Gateway”说起&#xff1a;为什么我们绕不开网络协议那天下午&#xff0c;我正在调试一个微服务间的接口调用。本地环境一切正常&#xff0c;信心满满地部署到测试服务器后&#xff0c;前端页面却弹出了一个刺眼的错误提示&#xff1a;unexpected status 50…

作者头像 李华
网站建设 2026/8/15 12:58:14

Python Requests自动化脚本实现微信小程序抢号:从HTTP请求分析到实战部署

1. 从“抢号”需求到技术方案的思考路径最近在帮朋友处理一个挺有意思的需求&#xff1a;他需要定期去某个微信小程序上“抢”一个预约号&#xff0c;这个号源非常紧张&#xff0c;几乎每次都是秒光。手动操作不仅费时费力&#xff0c;成功率还极低。他问我有没有什么“黑科技”…

作者头像 李华
网站建设 2026/8/15 12:56:51

StreamArena与StreamMind:长视频理解智能体从原理到实战

最近在跟进多模态大模型和视频理解相关技术时&#xff0c;发现一个普遍痛点&#xff1a;现有的视频理解模型或评测基准&#xff0c;大多聚焦于几秒到几分钟的短视频片段。当面对长达数小时、包含复杂叙事和丰富细节的长视频&#xff08;如电影、纪录片、长直播、监控录像&#…

作者头像 李华
网站建设 2026/8/15 12:53:52

石家庄翻译中心 俄语游戏本地化步骤

在石家庄寻找一家靠谱的翻译公司&#xff0c;尤其是针对俄语游戏本地化这种专业领域&#xff0c;确实需要花些心思。游戏本地化不只是简单的语言转换&#xff0c;它涉及文化适配、术语统一、UI界面调整、配音口型匹配等多重挑战。俄语作为小语种&#xff0c;语法复杂、文化背景…

作者头像 李华
网站建设 2026/8/15 12:52:35

技术逆向英语:通过代码注释提升开发者专业表达

1. 项目背景与核心价值 "技术逆向英语"这个项目名称乍看有些抽象&#xff0c;但拆解后能发现其独特价值。所谓"逆向英语"&#xff0c;本质上是将传统语言学习路径进行反转——不是从单词、语法入手&#xff0c;而是通过技术场景中的真实语料&#xff08;如…

作者头像 李华