ACL LOG 实测:command / key / auth 三种拒绝原因(本次触发到的);相同失败合并成一条(200 次 → count=200);500 次错误 AUTH 用了 0.06 s 且只占 1 条日志;MULTI 与 Lua 里被拒有各自的 context;acllog-max-len 挤掉旧记录。
Redis 认证流程实测:未登录只能 AUTH / HELLO / QUIT;WRONGPASS 不区分用户与密码错误;requirepass 就是 default 用户的密码,CONFIG GET requirepass 返回明文;AUTH 参数在 MONITOR / SLOWLOG 里被打码;本机上错误密码尝试可达 26089 次/秒(一问一答)、流水线 332590 次/秒。
Redis TLS 实测(openssl 生成本地测试证书):明文口与 TLS 口共存、证书校验与 --insecure、tls-auth-clients 的 yes / optional、协商 TLSv1.3、建连代价 0.14→0.86 ms、往返 24→26 µs、证书 CN 映射 ACL 用户。
Protected Mode 实测:用本机的回环地址和局域网地址(10.83.245.179)做对照,出厂默认、bind *、requirepass、protected-mode no、显式 bind 局域网地址、ACL 设密码,各种组合下谁能连、谁被 DENIED。
站在局域网上的一个陌生客户端的位置,对自己的 Redis 做自查:裸奔时能读全部数据、INFO 泄露版本与路径;enable-protected-configs 默认拒绝远程改 dir,设成 yes 就被改动;default -@dangerous 拦命令不拦数据;requirepass 一层全拦。全部在本机实例上,只改到自己的临时目录。
Redis 8.10.2 的 Lua 沙箱实测:os 里只有 clock,io / package / require 都不存在,全局与标准库只读;脚本里 CONFIG / ACL / SUBSCRIBE / EVAL 等命令被拒但 KEYS / FLUSHDB 可以;ACL 对脚本里每次 redis.call 逐条检查;只禁 EVAL 四条会漏掉 FUNCTION / FCALL;写过数据的死循环脚本 SCRIPT KILL 不掉。
rename-command 实测:禁用或改名后是 unknown command;统计与 COMMAND INFO 仍用原名;运行时不能改;与 ACL 相比被拒的尝试不留痕迹(ACL LOG 0 条 vs 1 条);主从改名不一致时,复制与 AOF 悄悄分叉——主库 DBSIZE 0,从库 20,链路仍显示 up。
Redis 创建的 RDB / AOF / manifest / ACL 文件 / nodes.conf / 日志 / 临时 RDB 的权限完全跟随 umask:022 下是 0644、077 下是 0600;数据目录要自己收紧;unixsocketperm 决定套接字权限;redis.conf 里的密码是明文。另:aclfile + requirepass 时 requirepass 不生效。
备份文件泄露的实测:RDB 和 AOF 里 key 名、value 都是明文,压缩不是保护(压缩后标记仍能找到);ACL 密码与脚本正文不在其中;redis-cli --rdb 用一个 ~app:* 的复制账号就拉走了全量数据;用 openssl AES-256-CBC 加密后找不到明文,但 CBC 不带认证。
用 DUMP 解出 Stream 的底层结构验证:radix 树的每个 key 是节点首条消息的 ID(16 字节大端),value 是一个 listpack;默认每节点 100 条(或 4096 字节),10 万条消息 = 1000 个 key、平均 18.5 字节/条;按 ID 点查从 1000 条到 100 万条都是 4.3–4.5 µs。
在本机 Redis 上验证 Stream Entry ID 的规则:<毫秒>-<序号>,同一毫秒最多连续生成到 1140 号(5000 条管道写入落在 6 个毫秒里);显式 ID 必须严格递增;把最后一个 ID 造成未来后 * 仍沿着它递增;ID 是 64+64 位,用尽后再写会报错;XDEL 不会让 ID 回退。
在本机 Redis 上验证 Stream Consumer Group:创建起点 $ 与 0 的区别,同组内 3 个消费者读同一条流时消息互不重复(各拿 4 条),不同组各自独立读全部消息,XINFO GROUPS 里的 pending / lag / last-delivered-id 各是什么意思,以及 MKSTREAM、BUSYGROUP、CREATECONSUMER、DESTROY 的行为。