Solr 暴露后能做什么
Solr 是基于 Lucene 的搜索服务,默认在 8983 提供管理界面与查询接口。未启用认证时,可达者可以读取全部索引内容、查看 schema 与配置信息,部分部署还可通过管理接口触发配置变更或核心操作。索引里往往包含业务数据的副本,因此它的暴露等级与数据库同级。
基本信息
| 默认端口 | 8983(管理界面与查询接口同端口) |
|---|---|
| 认证机制 | security.json 配置 BasicAuth 或 Kerberos |
| 版本要点 | 较新版本自带认证插件,无需额外网关 |
| 最小权限 | 业务账号通常只需查询权限 |
| 核查方式 | 访问根路径与管理入口判断认证状态 |
典型使用场景
- 暴露面盘点:确认 8983 是否只对应用网段可达
- 认证核查:确认 security.json 是否存在且已生效
- 账号治理:为业务创建只读查询账号,避免共用管理账号
- 网关与直连核对:确认内网直连端口不会被绕过网关
- 版本升级:新版本自带认证管理能力,升级后可简化加固
加固要点
加固要点
1. 启用 Solr 安全机制(security.json:BasicAuth 或 Kerberos)
2. 绑定内网地址,8983 不暴露公网
3. 为业务创建最小权限用户(多数场景只读查询即可)
4. 开启审计日志,记录管理操作与查询异常
5. 核对直连可达性:网关加了认证不代表内网直连也被覆盖核查命令
核查命令
curl -s --max-time 3 http://127.0.0.1:8983/solr/ | head -c 200 # 管理页可达性
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8983/solr/#/ # 状态码
# 未认证即可返回管理页或核心列表,说明认证未启用或未生效暴露入口与风险
| 入口 | 可获取内容 | 风险等级 |
|---|---|---|
| 管理界面 | 集群状态、核心列表、配置 | 高 |
| 查询接口 | 索引内容(业务数据副本) | 高 |
| Schema 接口 | 字段定义与类型 | 中 |
| 管理操作接口 | 核心与配置变更 | 最高,视配置而定 |
较新版本自带认证插件,无需额外网关即可启用 BasicAuth;先确认版本能力再设计加固方案,能省掉一层代理改造。
只在网关加认证而不改 Solr 配置,内网直连端口仍可绕过网关:评估时要同时验证经网关与直连两条路径。