未授权访问是什么
未授权访问的根因不是代码缺陷,而是配置假设:中间件与数据库普遍假定「部署在内网、只有可信客户端访问」,于是默认不开启认证,或者默认口令长期保留。当服务被直接暴露到网络后,这些假设失效,任何人都能读写数据。它的处置方式也因此与漏洞修复不同——不需要等补丁,只要把监听地址收敛、开启认证、限制来源,风险就能在当天降下来,因此它通常是暴露面收敛工作中性价比最高的一块。
基本信息
| 问题性质 | 默认配置与部署假设造成的暴露,不是 CVE 类代码漏洞 |
|---|---|
| 共性特征 | 无需凭据即可读写数据、执行管理操作 |
| 高频对象 | 缓存、搜索、文档数据库、容器与集群控制面、运维控制台 |
| 直接后果 | 数据泄露与篡改,配置被改写,服务被关停 |
| 收敛手段 | 监听地址收敛、开启认证与最小权限、网络层限制来源 |
| 验证方式 | 从外部视角复测确认不可达或必然被拒 |
高频目标与端口
| 服务 | 端口 | 典型暴露内容 |
|---|---|---|
| Redis | 6379 | 缓存数据、可写入配置 |
| Elasticsearch | 9200 | 索引数据与集群信息 |
| MongoDB | 27017 | 数据库读写 |
| Docker Daemon | 2375 | 主机控制面 |
| Kubernetes API | 6443 | 集群控制面 |
| etcd | 2379 | 集群敏感键值 |
| Hadoop YARN | 8088 | 作业提交与集群管理 |
| Jenkins | 8080 | 构建流水线与凭据 |
典型暴露路径
- 监听地址写成 0.0.0.0,本意是让内网其他机器访问
- 容器端口映射到宿主机全网卡,绕过应用侧绑定限制
- 云安全组放行 0.0.0.0/0,事后无人复核
- 运维控制台与中间件管理页面长期暴露且用默认口令
- 临时排障放开的规则没有回收,成为长期入口
- 测试与预发环境沿用生产配置,暴露面被忽略
通用收敛动作
通用收敛动作
1. 监听地址收敛:只绑 127.0.0.1 或内网管理网段
2. 开启认证与最小权限账号
3. 网络层:安全组/防火墙仅放行必要来源
4. 关闭或重命名不必要的管理接口与默认页面
5. 变更后用外部视角复测确认不可达
# 顺序建议:先做网络层收敛(见效最快),再补认证与权限
# 收敛前后都要留证据:配置片段、安全组规则、外网探测结果『内网可见等于安全』是常见误判:横向移动与供应链出口都可能在所谓内网发起访问,判断标准应是「是否需要凭据」,而不是「是否在内网」。
验证暴露情况只能在自有或已获书面授权的资产上进行。对非授权目标做探测,即使只做连通性判断,也可能触及法律与合同责任。