【无标题】

天机移动终端管理系统(TrustSpace)访问异常(403 Forbidden)排查与处置报告

报告编号: TS-20260818-01

报告日期: 2026年8月18日

系统名称: 天机移动终端管理系统 (TrustSpace / BYOD Cloud)

故障现象: 通过公网访问管理控制台 (https://59.220.240.96:4443) 时,浏览器返回 403 Forbidden 错误,无法进入登录界面。

一、 排查环境与背景

  • 服务器操作系统: CentOS 7
  • 前端 Web 服务: Nginx (监听端口 4443)
  • 后端应用容器: 基于 Java / Ruby on Rails 4.0 架构,监听内部端口 8080
  • 排查权限: 服务器 Root 权限、业务目录文件读取权限

二、 排查过程与日志分析

1. 基础网络与防火墙排查

首先排查服务器底层网络及防火墙规则,确认是否存在基于 IP 或端口的网络层拦截。

  • 检查结果: 服务器操作系统防火墙(iptables)关闭,无针对 4443 端口的限制策略;Tomcat 配置文件(server.xml)及 Nginx 配置文件均未配置 deny/allow 访问控制指令。
  • 结论: 排除系统防火墙、Tomcat 及 Nginx 全局网络层拦截。

【附图1:防火墙及Nginx配置排查截图】

( iptables/ss 命令的排查截图)

2. Nginx 代理日志与请求头分析

深入排查 Nginx 反向代理配置,发现 Nginx 将真实的客户端公网 IP 通过 X-Real-IPX-Forwarded-For 请求头透传给后端。

  • 分析结果: 后端业务应用读取透传的请求头,并对其中的 IP 进行校验。由于当前管理员公网 IP (59.220.240.96) 未加入业务系统白名单,后端直接响应 403 Forbidden,而非 Nginx 层拦截。

【附图2:Nginx proxy_set_header 配置截图】

(编辑 byod_cloud.conf 发现 proxy_set_header 的截图)

3. 业务系统后端白名单机制定位

在业务系统目录结构中发现核心线索。

  • 发现关键文件: 在目录 /home/q/system/byod_cloud/tianji-3.0.1610.92/WEB-INF/lib/tasks/ 下找到官方自带的任务文件 clear_whitelist.rake
  • 脚本逻辑分析: 该 Rake 任务针对数据库 mng_ctrls 表中的 whitelist 字段进行操作,提供了重置 IP 访问限制的功能。

【附图3:clear_whitelist.rake 文件内容截图】

( more/cat 查看该文件内容的截图)

三、 整改与处置措施

步骤 1:业务层绕过验证(临时验证)

为了确认 403 拦截的具体来源,在生产环境 Nginx 配置中,将 proxy_set_header X-Real-IP $remote_addr; 强制修改为硬编码的受信任内网 IP 10.100.1.164

  • 执行结果: 重载 Nginx 后,浏览器成功绕过拦截,进入登录界面。(结论确认:业务系统白名单导致 403)

【附图4:Nginx修改配置进行Header伪装截图】

(修改 Nginx 配置以绕过验证的截图)

步骤 2:利用官方内置脚本彻底修复(根本解决)

为防止长期伪装影响系统日志记录,通过服务底层 Java 启动环境,直接运行系统内置的清除白名单任务,从数据库层面清理限制。

执行命令:

bash 复制代码
cd /home/q/system/byod_cloud/tianji-3.0.1610.92 && \
RAILS_ENV='production' /usr/bin/java -jar /home/q/system/byod_cloud/byod_cloud.war -S rake byod_cloud:clear_whitelist
相关推荐
魏 无羡3 小时前
webclient
java·webclient
神仙别闹4 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
swordbob5 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
m0_587383006 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析
白山编程大哥6 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
一技安身7 小时前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
七夜zippoe7 小时前
为什么 2026 年每个 Java 团队都该懂 AI Agent
java·开发语言·人工智能
时凌云.7 小时前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos
Despacito10068 小时前
Java后端性能探查工具速查表
java·开发语言
蓝桉柒78 小时前
下载idea,用idea输入一个程序
java·ide·intellij-idea