在 Debian 系统中,“缓存”通常指以下几类,它们各自有不同安全风险:
1. APT 软件包缓存(/var/cache/apt/archives/)
风险:
- 敏感信息泄露:缓存中可能包含已下载的
.deb 包,若系统被攻破,攻击者可分析包内容或旧版本漏洞。
- 供应链攻击:若镜像源被污染或中间人攻击,缓存中的恶意包可能被后续安装。
- 磁盘耗尽导致 DoS:缓存无限增长可能影响系统稳定性(虽非安全但间接风险)。
缓解:
apt clean
apt autoclean
使用 HTTPS 或签名校验的镜像源(如 deb.debian.org)。
2. 系统/用户缓存(如 /tmp、~/.cache)
风险:
- 临时文件泄露:如浏览器、凭证助手缓存可能含 token、会话信息。
- 符号链接攻击:低权限用户可能利用
/tmp 中缓存文件提权(若程序不安全写文件)。
- 恶意代码驻留:攻击者将后门写入可写缓存目录。
缓解:
- 使用
tmpfs 挂载 /tmp。
- 定期清理用户缓存,限制目录权限(如
chmod 1777 /tmp 粘滞位)。
3. DNS 缓存(如 systemd-resolved、 nscd)
风险:
- DNS 污染:缓存虚假解析记录,引导用户到钓鱼站点。
- 信息暴露:缓存内容可显示内网主机名或访问习惯。
缓解:
- 使用 DNSSEC。
- 限制缓存服务监听地址(如仅
127.0.0.1)。
4. Web/应用层缓存(Nginx、Apache、Redis 等)
风险:
- 敏感数据缓存:如用户会话、API 响应被缓存并公开访问。
- 缓存投毒:攻击者控制缓存返回恶意内容。
缓解:
- 正确设置
Cache-Control 与私有数据不缓存。
- 对 Redis 等设密码并禁止公网暴露。
5. 内核/文件系统缓存(Page Cache)
风险:
- 冷启动攻击:物理接触机器可读取内存残留数据(含密钥)。
- 多用户环境:某些配置下缓存可能跨用户泄露(极少但存在)。
缓解:
- 启用全盘加密(LUKS)。
- 物理安全 + 关机清内存(如
memtest 或内核参数)。
总结建议
- 定期清理 APT 与用户缓存。
- 使用官方源 + 签名校验。
- 限制缓存目录权限与暴露面。
- 敏感服务缓存需鉴权与加密。
如果你指的是某一类具体缓存(如 apt、redis、浏览器),我可以展开讲。