用户手册
本页为《MCS信息安全传输控制软件 用户手册》Word 交付文档的内容全集,可直接抄录至正式 Word 文档。
- 密级:公开
- 文件编号:IIE-MCS-ISTCS-UM
- 项目编号:IIE-MCS-ISTCS
- 所属项目:风云四号02批气象卫星工程C星地面系统
- 承担部门:第二研究室
- 编制单位:中国科学院信息工程研究所
本手册阅读导航
本手册面向最终用户与现场运维人员,按"安装 → 操作 → 运维"三大章组织,建议:
- 首次部署的管理员:依次阅读 一、初始安装和配置 与 2.2 系统启动;
- 日常使用的业务用户:直接阅读 2.4 使用指南(含 16 个页面的操作说明);
- 运维人员:重点阅读 三、系统运维(硬件检查、状态查看、十类故障排查、巡检表)。
接口与配置的技术细节不在本手册展开,可参阅:REST API 参考、业务系统接入指南;完整部署步骤另见 部署文档。
MCS信息安全传输控制软件(以下简称"本系统")部署于国家卫星气象中心 DMZ 区 MCS 服务器,由认证鉴权后端服务(Django 4.2 + DRF,生产环境 gunicorn 部署,接口前缀 /api/v3/)、认证鉴权前端管理页面(Vue 3 + Element Plus)、MySQL 数据库、Redis 缓存、Nginx 以及**华为 MatePad 鸿蒙 NEXT 原生应用(安全浏览器 APP)**组成。系统在移动终端访问 MCS 业务的全过程中,提供设备注册、SM2 四步密钥协商、短信验证码+口令多因子身份认证、SM4-GCM 加密传输、基于角色/区域/时间段的访问控制、安全日志审计与图像水印等安全能力。
一、初始安装和配置
1.1 初始安装
1.1.1 服务器硬件就位与网络接入
本系统服务端为纯软件系统,部署在普通 2U 服务器(国家卫星气象中心 DMZ 区 MCS 服务器)。使用前,将网线插入服务器后面板的第二个千兆网口,并将网线另一端接入千兆交换机,确认网口链路指示灯亮起、交换机侧端口协商为千兆全双工。服务器通电开机并安装操作系统(CentOS 7+/Stream 或 Ubuntu 20.04+ 均可)后,即可进行软件部署。
1.1.2 软件组成清单
本系统软件组成及各组件用途如下表所示。
| 序号 | 组件 | 说明 |
|---|---|---|
| 1 | MySQL 数据库 | 存储用户、设备、设备公钥、角色、地理围栏、时间规则、安全日志、服务器密钥等业务数据 |
| 2 | Redis | 缓存、Token 黑名单、短信/邮件验证码、SM2 握手会话状态存储 |
| 3 | 认证鉴权后端服务 | Django 4.2 + DRF,生产环境使用 gunicorn 运行,监听 4607 端口,接口前缀 /api/v3/ |
| 4 | 认证鉴权前端管理页面 | Vue 3 + Element Plus 管理端 Web,构建产物置于后端 frontend_dist/ 目录,由 Django/Nginx 一体化提供 |
| 5 | Nginx | 反向代理与 TLS 终结(如采用 gunicorn 直接 TLS 部署可省略) |
| 6 | 鸿蒙 NEXT 原生应用(安全浏览器 APP) | 华为 MatePad 终端入口,负责设备注册、密钥协商、加密登录与 MCS 业务加密浏览 |
1.1.3 服务端软件安装
- 安装并启动 MySQL,创建业务数据库及专用账号;
- 安装并启动 Redis,设置独立强密码;
- 部署认证鉴权后端代码,安装 Python 依赖(
pip install -r requirements.txt),按 1.2.2 节完成.env/.env.production配置; - 首次部署执行数据库迁移与初始化:
python manage.py migrate --settings=config.settings.production
python tools/setup.py init # 初始化角色、超管、围栏、时间规则及服务器 SM2 密钥2
初始化完成后,系统内置超级管理员账号 admin(初始口令 Nsp123456!,首次登录后应立即修改),并生成服务器 SM2 密钥对(私钥加密入库)。
- 构建前端管理页面并一体化部署:在前端项目目录执行:
pnpm install
pnpm build:backend # 产物直接输出到后端根目录 frontend_dist/2
启动后端后,访问后端端口根路径即可打开管理端页面,/api/v3/ 接口按原路由工作,前端 history 路由刷新自动回退到 frontend_dist/index.html;如已部署 Nginx,也可由 Nginx 代理/缓存静态资源。
本节给出安装步骤概览,完整的生产环境部署(用户与目录规划、离线依赖、进程守护、Nginx、回滚方案与部署检查清单)以 部署文档 为准。
1.1.4 鸿蒙 APP 安装
APP 为鸿蒙 NEXT 原生应用(ArkTS 开发,包名 cn.ac.nsp.qxj.nsp_browser),提供两种安装方式:
方式一:应用分发站在线下载安装(推荐)
- 在华为 MatePad 上打开浏览器,访问应用分发站
https://apps.nsp.ac.cn/(自动跳转应用商店首页/appstore); - 在应用列表中找到 QXJ 安全浏览器正式版,进入应用详情页;
- 点击下载按钮获取安装包(.hap),按系统提示完成安装;
- 安装完成后,平板桌面出现"风四C星"客户端应用图标。
方式二:hdc 命令行安装(运维/调试用)
- 在 MatePad"设置 → 系统 → 开发者选项"中开启 USB 调试,并通过 USB 连接安装有 HarmonyOS SDK 工具链的计算机;
- 执行
hdc list targets确认设备已识别; - 执行安装命令:
hdc install qxj_nsp_browser.hap- 安装完成后断开 USB,在平板桌面确认应用图标已生成。
1.2 初始配置
用户可以采用内网或直连方式连接服务器进行管理。设备 IP 地址以最后设置的 IP 地址为准,可采用 22 端口的 SSH 协议登录(SSH2 类型,SSH1 无效),也可以采用 23 端口的 Telnet 协议登录,端口可以自定义。由于 SSH 是加密方式、Telnet 是明文方式,一般情况下建议使用 SSH 连接较为安全。
1.2.1 服务器IP配置
本系统的业务 IP 可通过操作系统图形化界面或命令行配置,下面介绍命令行配置方式。
CentOS / RHEL 系统(ifcfg 三步法):
步骤一:在命令行终端输入 cd /etc/sysconfig/network-scripts/ 命令,查看当前系统的网卡列表。
步骤二:终端执行 vi ifcfg-网卡名 命令,修改上述网卡的 IP 等信息。其中 IPADDR 为 IP 地址,NETMASK 为子网掩码,DNS1 为使用的 DNS,GATEWAY 为网关,ONBOOT 设置为 yes。
步骤三:修改完网卡信息后,执行以下命令重启网络配置。若重启网络失败,则执行 reboot 重启服务器。
systemctl restart networkUbuntu 系统(netplan 方式):
步骤一:终端执行 ls /etc/netplan/ 查看 netplan 配置文件名(如 00-installer-config.yaml)。
步骤二:执行 sudo vi /etc/netplan/00-installer-config.yaml,按实际网络环境修改配置,例如:
network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]2
3
4
5
6
7
8
9
步骤三:执行 sudo netplan apply 使配置生效,并使用 ip addr 验证地址已生效。
1.2.2 软件配置
1. 认证鉴权后端配置
后端环境变量分两级加载,优先级为:进程环境变量 > .env.production > .env。公共项写入后端根目录 .env(模板为 .env.example),生产专属项写入 .env.production(模板为 .env.production.example)。关键配置项如下表所示。
| 配置项 | 说明 | 生产要求 |
|---|---|---|
SECRET_KEY | Django 框架密钥(Session/CSRF 等) | 必须设置为强随机值,缺失则拒绝启动 |
DB_ENGINE / DB_NAME / DB_USER / DB_PASSWORD / DB_HOST / DB_PORT | 数据库连接配置,生产置 DB_ENGINE=mysql | 必须指向正式 MySQL 实例 |
REDIS_URL | Redis 连接串,格式 redis://:密码@主机:端口/库编号 | 必须使用独立强密码 |
QXJ_KEY_ENC_KEY | SM2 私钥主密钥(64 位 hex/32 字节),用于加解密数据库中的服务器 SM2 私钥 | 必须设置;初始化服务器密钥后不可更改,否则已加密私钥无法解密 |
ALLOWED_HOSTS | 允许访问的主机名/IP(逗号分隔) | Pad/浏览器用哪个 IP 或域名访问就必须包含哪个,漏配返回 400 |
CORS_ALLOWED_ORIGINS | 浏览器跨域来源(https://,逗号分隔) | 生产强制不为空 |
ALLOW_JSON_LOGIN / ALLOW_DEVICE_LOGIN / VERIFY_INNER_HMAC | 登录方式与 token 内层校验开关 | 生产推荐 false/true/true(仅专用设备加密帧登录) |
SMS_URL / SMS_USERNAME / SMS_PASSWORD / SMS_SIGNATURE | 内网短信网关地址、提交账户、接口密码、短信签名 | 生产必须配置,否则验证码无法下发 |
SMS_PROVIDER | 短信通道:gateway(内网网关)或 aliyun(阿里云短信认证) | 按甲方实际通道选择 |
LOGIN_LOCKOUT_SECONDS | 同一账号连续登录失败 5 次后的锁定时长(秒) | 默认 900 |
TRUSTED_PROXY_COUNT | 可信反代跳数,单层 Nginx 后置 1 | 与部署拓扑一致 |
2. 证书配置
后端 certs/ 目录存放 TLS 证书(server.crt / server.key)与自签名 CA。可通过 python tools/setup.py gen-cert 生成自签名证书;APP 端通过内置 CA 校验服务器证书,更换正式证书后需同步更新 APP 侧信任的 CA。
3. 前端管理页面环境变量
前端构建时通过环境变量指定接口基地址(/api/v3 前缀),一体化部署模式下前端与后端同源,无需额外配置跨域;独立部署时按实际后端地址配置后重新执行 pnpm build:backend。
4. Nginx 配置要点
采用"Nginx 终结 TLS + 反代 gunicorn"拓扑时,要点如下:
server {
listen 443 ssl;
server_name mcs.example.cn;
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
location /api/v3/ {
proxy_pass http://127.0.0.1:4607;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location / {
root /opt/qxj/qxj-backend-admin/frontend_dist;
try_files $uri $uri/ /index.html; # history 路由回退
}
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
注意:HarmonyOS http 模块不跟随跨协议重定向(HTTP→HTTPS),APP 侧配置的服务器地址协议必须与服务器实际监听协议一致。
5. APP 端服务器地址配置
APP 内置默认服务器配置,同时支持在 APP 内"服务器配置管理"页面添加、编辑、删除、选择多台服务器。每台服务器需配置:服务器名称、API 访问地址、登录地址、MCS 业务地址、后台管理地址,以及服务器 ID(serverId)与服务器公钥(serverPubKey)。支持扫码填充 JSON 配置及 JSON 导入导出。管理员新增服务器后,选择该服务器即可作为当前工作服务器。
二、系统操作
2.1 开关机流程
插上电源并通电后,点击服务器前面板的开机键,服务器开机;登录到需要关机的服务器,输入命令 poweroff,即可将设备关机。关机前应确认本系统各服务已按 2.3 节流程正常停止,避免数据库非正常关闭。
2.2 系统启动
服务端启动按依赖顺序执行:MySQL → Redis → 认证鉴权后端(gunicorn)→ Nginx。各组件启动命令如下。
- 启动 MySQL:
systemctl start mysqld # Ubuntu 为 systemctl start mysql- 启动 Redis:
systemctl start redis- 启动认证鉴权后端(gunicorn,生产配置,TLS 由证书文件提供):
cd /opt/qxj/qxj-backend-admin
DJANGO_SETTINGS_MODULE=config.settings.production nohup gunicorn config.wsgi:application \
--bind 0.0.0.0:4607 \
--certfile certs/server.crt --keyfile certs/server.key \
--workers 3 --timeout 120 \
--pid logs/gunicorn.pid \
--access-logfile logs/gunicorn-access.log --error-logfile logs/gunicorn-error.log \
> logs/gunicorn.log 2>&1 &2
3
4
5
6
7
8
看到 Listening at: https://0.0.0.0:4607 即启动成功。如采用 Nginx 终结 TLS,则 gunicorn 以普通 HTTP 绑定 127.0.0.1:4607,去掉 --certfile/--keyfile 参数。
- 启动 Nginx:
systemctl start nginx- APP 启动:在华为 MatePad 桌面点击"风四C星"客户端图标。APP 冷启动时自动清理残留凭据,并按本地状态判定路由:未注册进入设备注册流程;已注册未登录进入密钥协商与登录页;已登录进入主页面。
2.3 系统停止
按启动的逆序停止:Nginx → 认证鉴权后端(gunicorn)→ Redis → MySQL。
systemctl stop nginx
kill "$(cat logs/gunicorn.pid)" # 或 pkill -f "gunicorn config.wsgi"
systemctl stop redis
systemctl stop mysqld2
3
4
APP 侧直接退出应用即可;如需结束登录会话,应在 APP 内执行"退出登录",由 APP 调用后端登出接口拉黑 refresh token 并清空本地登录凭证。
2.4 使用指南
2.4.1 总体使用流程
本系统的完整使用流程为:安装 APP → 设备注册(密钥交换)→ 四步 SM2 密钥协商 → 短信验证码+口令多因子认证登录 → 访问 MCS 业务(SM4-GCM 加密传输)→ 退出登录。
- 设备注册(首次使用):APP 首次启动时读取本地持久化存储的客户端信息失败,自动进入设备初始化注册流程。APP 自动生成 SM2 密钥对和全局唯一设备 ID;用户在设备注册页完成服务器配置(选择/新增服务器),扫描服务器生成的二维码导入服务器 ID、时间戳与服务器公钥,再导出包含客户端公钥、设备 ID 的
.dat注册文件。.dat文件上传至服务器完成注册(或由管理员在管理端"辅助注册"/"设备管理"页面读取设备信息辅助注册),服务器将客户端公钥与设备建立可信关联,完成双向身份认证。 - 四步 SM2 密钥协商:设备注册完成后,APP 按预定义的四步身份认证和密钥协商协议(INIT → RESP → ACK → TOKEN)与服务器交互,协商出 SM4 会话密钥(K_CLIENT),会话密钥与握手 TOKEN 存入鸿蒙关键资产存储(Asset Store),卸载即清。
- 多因子认证登录:协商成功后自动跳转登录页,用户输入账号、点击获取短信验证码、输入验证码与口令。APP 将登录信息经 SM4-GCM 加密后封装为二进制帧提交
/api/v3/user/login/,后端执行验证码、口令、登录时间、地理位置、设备黑名单/冻结/年审状态等多维度风控校验,全部通过后签发 SM2 签名的联合 token(access_token + refresh_token)。 - 访问业务:登录成功后,管理员角色进入认证鉴权前端管理页面(设备管理、用户管理、策略管理、返回 MCS 等入口),普通用户直接跳转 MCS 业务前端页面;业务请求均经 SM4-GCM 加密传输,MCS 后台调用本地 token 校验接口独立验签。
- 退出登录:用户主动退出时,APP 调用后端登出接口并清空本地全部登录凭证与会话密钥,返回登录页;同一设备可切换用户重新执行登录流程。
以下按页面逐一介绍操作方法。
2.4.2 系统桌面页面
功能简介:华为 MatePad 平板桌面上的"风四C星"客户端应用图标是整个应用的入口;系统"设置"中的应用详情界面可查看应用版本并管理权限。
入口路径:平板桌面 → 应用图标;或 设置 → 应用管理 → 风四C星客户端。
操作步骤:
- 在平板桌面找到风四C星客户端应用图标;
- 进入系统设置的应用详情界面,查看应用版本号;
- 在权限配置板块开启相机、存储、网络等权限;
- 返回桌面点击图标启动客户端。
注意事项:只有开启相机、存储和网络权限,客户端才能完成扫码导入服务器公钥、导出设备注册文件、下载卫星图片、提取图片水印等操作;权限被禁用会导致对应功能失败。
2.4.3 密钥交换页面(设备注册)
功能简介:首次启动 APP 时,引导用户完成设备注册及密钥交换,建立客户端与服务器之间的可信通信关系。设备注册分为服务器配置、服务器公钥导入、客户端密钥导出三个步骤。
入口路径:APP 首次启动自动进入;后续仅在设备重置或更换服务器时重新进入。
操作步骤:
- 服务器配置:在设备注册页面点击"设置服务器"按钮进入服务器配置页面,选择当前需要连接的服务器;系统内置默认服务器配置,管理员也可手动新增服务器,填写服务器名称、登录地址、MCS 地址以及后台管理地址等信息;
- 服务器公钥导入:返回设备注册页面,点击"点我扫码导入服务器配置文件"按钮,调用设备摄像头进入二维码扫描界面,扫描服务器生成的二维码(内容为"服务器ID#时间戳#服务器公钥"),系统自动解析并导入服务器配置信息及公钥,并对导入数据进行合法性校验,校验成功后完成服务器公钥初始化;
- 客户端密钥导出:公钥导入完成后,设备注册页面展示当前服务器的设备标识、服务器公钥等注册信息,点击"点我导出文件"按钮,系统自动生成包含客户端设备身份、公钥等注册信息的
.dat配置文件,在弹出的文件保存窗口选择保存路径完成导出; - 上传注册:将导出的
.dat注册文件提交管理员上传至服务器,由服务器完成设备身份注册及密钥交换;也可由管理员通过管理端"辅助注册"页面完成注册。服务器验证导出文件中的设备信息后,将客户端公钥与服务器公钥建立可信关联,完成双向身份认证。
注意事项:导出的 .dat 文件包含设备核心敏感信息,应通过安全途径传递并妥善保管;密钥交换成功后再次启动应用无需重复注册,仅在设备重置或更换服务器时重新注册;注册前请确认平板相机、存储权限已开启。
2.4.4 登录页
功能简介:完成设备注册和密钥交换后,用户在此页进行账号登录,采用"短信验证码 + 口令"多因子认证,登录信息经 SM4-GCM 加密后提交。
入口路径:设备注册与密钥协商完成后自动跳转。
操作步骤:
- 在账号输入框填写管理员分配的专属账号;
- 点击验证码栏右侧的"获取"按钮,向服务端申请验证码(服务端校验账号存在、状态正常且已绑定手机号后,通过短信网关下发验证码);
- 在验证码输入框填写收到的短信验证码;
- 在口令输入框输入对应登录口令;
- 提交登录信息,客户端将账号、验证码、口令及设备信息(设备 ID、地理位置等)经 SM4-GCM 加密后提交后端校验,全部无误后完成登录;校验失败则提示对应错误。
注意事项:若提示"该用户没有手机号,无法进行手机验证",需由管理员在管理后台补充或激活该用户手机号后才能继续;验证码有有效期与发送间隔限制,请勿频繁重复获取;连续输错口令达到阈值(5 次)账号将被临时锁定(默认 15 分钟)。
2.4.5 系统首页
功能简介:登录校验通过后进入系统首页,页面顶部提示登录成功并展示当前登录用户,页面按照功能模块划分功能入口(管理员可见设备管理、用户管理、角色管理、访问控制策略、区域范围、时间段、辅助注册、日志、返回 MCS 等入口)。
入口路径:登录成功后自动进入。
操作步骤:
- 登录成功后确认页面顶部展示的当前登录用户是否正确;
- 按需点击各功能模块入口进入对应管理页面;
- 普通用户角色登录后直接跳转 MCS 业务前端页面,无管理入口。
注意事项:首页展示的功能入口随账号角色权限不同而不同;访问不存在的路径时系统自动跳转回首页。
2.4.6 我的页面
功能简介:提供退出登录、当前用户信息、当前设备信息三个功能入口。
入口路径:系统首页 → 点击页面右上角用户头像图标。
操作步骤:
- 在系统首页点击右上角用户头像,进入"我的"页面;
- 点击左侧红色卡片的"退出登录",系统清空当前登录会话,结束本次登录并跳转至登录页;
- 点击右上方紫色卡片"当前用户信息",进入账号信息查看页面;
- 点击右下方蓝色卡片"当前设备信息",进入设备信息查看页面;
- 点击左上角返回按钮回到系统首页。
注意事项:退出登录后再次使用系统需重新填写账号、验证码和口令完成登录;退出登录会同时清空本地会话密钥,下次登录前将重新执行密钥协商。
2.4.7 我的信息页面
功能简介:展示当前登录账号的详细资料与状态,以及当前设备的详细信息;管理员可编辑账号资料与设备备注。
入口路径:我的页面 → 当前用户信息 / 当前设备信息。
操作步骤:
- 进入"我的信息"页面,页面顶部展示账号简称、用户名、角色名称(如管理员)以及账号激活状态;
- 查看"基本信息"板块:用户 ID、用户名、真实姓名、绑定邮箱、联系手机号、用户等级;
- 查看"状态信息"板块:账号激活状态、状态描述、账号到期时间以及管理员权限标识;
- 点击右上角"编辑信息"按钮,对账号资料进行修改并保存;
- 切换至"设备信息"页面,查看设备名称与专属设备标识,以及基本信息、网络信息、设备信息分类区域的内容;
- 管理员可点击右上角"编辑设备"按钮完善设备备注信息。
注意事项:账号到期时间临近时应及时联系管理员续期;用户等级和管理员权限标识仅作展示,调整需通过用户管理/角色管理页面进行。
2.4.8 设备管理页面
功能简介:管理员统一查看所有已完成密钥交换的注册终端设备,进行编辑、注销、新增操作,管控可接入风云四号C星地面应用系统的终端。
入口路径:系统首页 → 设备管理。
操作步骤:
- 进入设备管理页面,默认为卡片详情视图:左侧列表展示所有已完成注册的设备名称及激活状态;
- 选中任一设备条目,右侧区域展示该设备详细资料(基本信息、网络信息两大模块);
- 点击右上角"添加设备"按钮,手动新增设备信息;
- 选中设备后点击"编辑"按钮,修改设备备注与重要等级;
- 点击"删除"按钮,解绑(注销)对应设备;
- 点击视图切换按钮切换为列表表格视图,以表格批量展示全部注册设备,表格字段包含设备唯一标识、设备名称、设备类型、重要程度、设备状态、注册时间及操作选项;
- 通过页面底部分页控件切换页码查看更多设备条目。
注意事项:删除(解绑)设备后,该设备将无法再通过密钥协商登录系统,需谨慎操作;设备丢失或年审时应在设备管理中及时变更设备状态。
2.4.9 用户管理页面
功能简介:管理员完成新增用户、修改用户信息、注销账号、划分用户等级、查看账号激活状态与登录记录等操作,把控登录人员范围。
入口路径:系统首页 → 用户管理。
操作步骤:
- 进入用户管理页面,卡片详情视图下左侧列表展示系统全部用户账号及对应用户等级;
- 选中任一用户条目,右侧区域展示该账号详细信息(基本信息:用户 ID、用户名、真实姓名、邮箱、手机号、用户等级;状态信息:账号启用状态、状态描述、账号到期时间);
- 点击"添加"按钮新建系统登录账号,填写用户名、真实姓名、邮箱、手机号等信息;
- 选中账号后点击"编辑"按钮修改账号资料、调整用户等级;
- 点击"删除"按钮注销该账号;
- 切换为列表表格视图后,表格依次展示用户名、真实姓名、绑定邮箱、手机号码、用户级别、账号状态、最后登录时间及操作选项,可批量查看和管理账号。
注意事项:用户必须绑定有效手机号才能接收短信验证码完成登录;注销账号为不可恢复操作,执行前请确认;新建账号的初始口令应通过安全渠道告知用户并要求首次登录后修改。
2.4.10 角色管理页面
功能简介:管理员划分不同层级的权限组别,给账号分配对应角色,实现基于角色的权限管控,精细化约束不同用户的可操作范围、访问地点和登录时段。
入口路径:系统首页 → 角色管理。
操作步骤:
- 进入角色管理页面,卡片详情视图下左侧列表展示全部预设角色名称和权限简介;
- 选中角色条目(如管理员),右侧展示角色详情:角色名称、功能描述、权限范围、关联用户、可访问区域、时间限制以及创建时间;
- 点击"添加"按钮新建自定义角色;
- 选中角色后点击"编辑"按钮,修改角色权限、绑定用户、限定访问区域和登录时段;
- 点击"删除"按钮移除对应角色;
- 切换为列表表格视图,表格字段包含角色名称、描述内容、关联用户、关联区域、时间限制、创建时间和操作按钮。
注意事项:删除角色前应先解除该角色与全部用户的关联;系统初始化内置 5 个预设角色,自定义角色按需创建。
2.4.11 访问控制策略管理页面
功能简介:从角色-地点-时间-用户四个维度完善访问控制策略,实现精细化的权限管控。
入口路径:系统首页 → 访问控制策略。
操作步骤:
- 进入访问控制策略管理页面,页面顶部划分"角色管理、角色地点关联、角色时间关联、角色用户关联"四个标签页;
- 在"角色管理"标签页查看角色详情(角色名称、角色类型、描述信息、创建时间和更新时间),使用右上角修改、删除按钮编辑角色信息或废除该角色,使用"添加"按钮新建访问控制角色策略;
- 切换至"角色地点关联"标签页,将角色与已划定的地理区域进行关联;
- 切换至"角色时间关联"标签页,将角色与已配置的时间段进行关联;
- 切换至"角色用户关联"标签页,将角色与系统用户进行绑定;
- 各标签页均支持卡片详情视图与列表表格视图切换,列表视图下表格包含角色名称、角色类型、描述、创建时间和操作选项。
注意事项:策略生效顺序为登录时实时校验,修改后立即影响后续登录;地点与时间策略需先在"区域范围管理""时间段管理"页面完成定义后才能在此关联。
2.4.12 区域范围管理页面
功能简介:管理员划定地理区域(地理围栏),限制用户只有在划定的地理范围内才可以登录系统,实现地理位置层面的访问管控。
入口路径:系统首页 → 区域范围管理。
操作步骤:
- 进入区域范围管理页面,地图卡片视图下左侧列表展示全部已划定的区域名称和文字描述;
- 选中任一区域条目,页面中间加载高德地图,以圆形范围可视化展示划定的地理区域;
- 使用页面下方"开始编辑、结束编辑、放大、缩小"按钮,在地图上调整区域位置和覆盖半径;
- 页面右侧展示选中区域的完整信息(基本信息、坐标信息、时间信息:地点名称、位置描述、经纬度、坐标系、允许半径等),点击右上角"编辑""删除"按钮修改区域参数或废除该区域;
- 点击右上方"添加"按钮,新建自定义地理区域;
- 切换为列表表格视图,表格依次展示区域名称、位置描述、经度、纬度、坐标系、允许半径、创建时间及操作选项;
- 区域划定完成后,在"访问控制策略"页面将角色与区域关联。
注意事项:系统初始化内置 4 个 GCJ-02 坐标系围栏,新增区域时注意选择正确的坐标系;允许半径设置过小会导致定位误差引起误判拒绝登录,建议结合实际定位精度设置。
2.4.13 时间段管理页面
功能简介:管理员配置时间段策略,限定用户只能在设定的日期和时段内登录访问系统,从时间层面完善访问控制条件。
入口路径:系统首页 → 时间段管理。
操作步骤:
- 进入时间段管理页面,卡片详情视图下左侧列表展示全部时间段策略名称及启用状态;
- 选中标的时间段条目,页面上方展示时间段名称、描述、启用状态和创建时间;
- 使用右上角"编辑""删除"按钮修改或废除当前时间段策略;
- 在页面下方查看具体时段划分,设置每日起止时间以及每周生效的星期;
- 点击"添加时间段"按钮新增更多时间区间,或单独删除某一条时段配置;
- 切换为列表表格视图,统一查看全部时间段配置;
- 时间段配置完成后,在"访问控制策略"页面将时间段与角色关联。
注意事项:时间段支持跨夜与单双周规则;停用状态的时间段不参与登录校验;系统初始化内置 10 条时间规则,可按需调整。
2.4.14 辅助注册页面
功能简介:管理员在此页完成客户端与服务器之间的密钥交换(辅助注册),将设备注册信息提交到服务端,使客户端设备被服务器信任。
入口路径:系统首页 → 辅助注册。
操作步骤:
- 进入辅助注册页面,查看"服务器信息"板块:服务器 ID、服务器名称、API 访问地址、加密算法(SM2)、时间戳以及服务器公钥内容;
- 查看"本机密钥"板块:密钥类型、设备 ID、十进制时间戳和密钥状态(显示"有效"代表本机设备与服务端完成可信绑定);
- 在"本机密钥二维码"板块,系统自动生成携带设备信息的 JSON 字符串与二维码字符串,并生成专属二维码;
- 按需执行"复制 JSON""复制文本内容""下载二维码""刷新二维码"操作,将导出的设备注册信息提交到服务端;
- 服务器读取二维码内的设备 ID 和时间戳,完成设备注册和双向密钥认证。
注意事项:只有经过本页面完成辅助注册(或 .dat 文件上传注册)之后,客户端设备才会被服务器信任,后续才可以登录系统;二维码包含设备敏感信息,请勿通过不可信渠道传播。
2.4.15 日志页面
功能简介:管理员审计所有用户的系统访问行为,针对失败的访问记录排查安全风险,监督系统使用情况,及时发现异常访问行为。
入口路径:系统首页 → 日志。
操作步骤:
- 进入日志页面,页面上方配置筛选条件下拉框,可依据日志类型、操作结果、安全级别对日志进行过滤检索;
- 使用右上角搜索输入框按关键字检索,或使用视图切换控件调整展示方式;
- 在表格中查看安全日志记录,表格字段依次包含 ID、策略/事件名称、日志类型、操作用户、访问 IP 地址、操作结果、安全级别、创建时间;
- 重点关注"高"安全级别事件(重要密钥查询行为)与"中"安全级别事件(访问失败记录),"信息"级别为常规系统查询操作;
- 针对操作结果为"失败"的记录,结合操作用户、访问 IP 地址、创建时间定位并排查异常。
注意事项:安全日志为审计依据,任何账号不得删除或篡改;建议管理员每日查看高、中级别日志。
2.4.16 水印模块页面
功能简介:按日期归集风云四号C星拍摄的卫星图片,支持批量添加水印和图片下载,并可检测图片是否包含水印信息,用于图像气象数据版权保护。
入口路径:系统首页 → 水印模块。
操作步骤:
- 进入气象卫星水印图片列表页面,页面右上角提供"鉴权系统"和"水印工具"两个功能按钮;
- 在"每日图片合集"表格中查看按日期归集的图片记录(日期、图片数量、操作三列);
- 点击每行"查看当日图片"按钮,打开当天的卫星图片详情页面;
- 在详情页面预览图片,或执行批量下载、批量嵌入水印操作;
- 点击"水印工具"按钮,检测选定图片是否包含水印信息;
- 点击"鉴权系统"按钮跳回系统首页。
注意事项:批量嵌入水印操作耗时随图片数量增加,请耐心等待完成后再执行其他操作;外发气象图片前应先完成水印嵌入。
三、系统运维
3.1 设备硬件检查流程
3.1.1 物理环境检查
(1)机房环境。检查机房温度、湿度、烟雾传感器状态、水浸传感器状态、UPS 负载率等。其中,机房温度的范围在 18-28 摄氏度;湿度的范围在 40%-60%;UPS 负载率不高于 80% 为安全状态。
(2)机柜状态。检查机柜以及机柜内设备固定螺丝是否松动,设备是否稳固;机柜内各设备的电源线、网线、光纤线等线缆有无弯折、断裂的情况,是否贴有标签、标签是否清晰;机柜 PDU 电源指示灯是否正常。
3.1.2 设备外观检查
(1)指示灯状态。本系统部署在浪潮 NF5280M6 服务器上,指示灯状态介绍如下:
| 指示灯 | 正常状态 | 异常状态 |
|---|---|---|
| 电源灯 | 开机状态绿色常亮;待机状态橙色常亮 | 长按 4s 强制关机 |
| 系统故障指示灯 | 不亮 | 故障时红色常亮;警告时红色闪烁 |
| 内存故障指示灯 | 不亮 | 故障时红色常亮;警告时红色闪烁 |
| 风扇故障指示灯 | 不亮 | 无法读取转速时红色常亮;转速异常时红色闪烁 |
| 电源故障指示灯 | 不亮 | 电源故障时红色常亮;电源状态异常时红色闪烁 |
| 系统过热指示灯 | 不亮 | CPU/内存过热时红色常亮 |
| 硬盘状态指示灯 | 硬盘正常时绿色常亮 | 有硬盘故障时红色常亮 |
(2)物理部件状态。检查服务器外壳有无变形、散热孔是否堵塞,硬盘架有无松动,电源模块连接是否正确,风扇运转是否正常。
3.1.3 硬件系统检查
(1)CPU 状态检查。通过 SSH 工具登录服务器操作系统,在命令行中输入以下命令检查 CPU 的运行状态,CPU 温度需低于 85 摄氏度。如有其他错误或温度高于阈值,需立即进行处置。
ipmitool sensor | grep CPU(2)内存检查。通过 SSH 工具登录服务器操作系统,在命令行中输入以下命令检查内存的状态。如有错误,需立即进行处置。
dmidecode -t memory | grep -i error(3)硬盘检查。通过 SSH 工具登录服务器操作系统,在命令行中输入以下命令查看内核日志与系统日志中有无与硬盘相关的异常信息。如有异常,需立即进行处置。
dmesg | grep -i "error\|disk\|sda\|sd"
grep -i "disk\|sda" /var/log/syslog2
(4)网络检查。通过 SSH 工具登录服务器操作系统,在命令行中输入以下命令检查网卡的状态,如有异常的错误计数,需立即进行处置。
ethtool -S 网卡名 | grep error3.2 系统状态查看流程
3.2.1 状态查看流程
(1)通过 SSH 远程登录方式登录服务器后台。
(2)查看各服务进程状态:
ps aux | grep gunicorn # 查看认证鉴权后端进程是否正常运行
ps aux | grep nginx # 查看 Nginx 进程是否正常运行
systemctl status mysqld # 查看 MySQL 服务状态
systemctl status redis # 查看 Redis 服务状态
systemctl status nginx # 查看 Nginx 服务状态2
3
4
5
(3)接口健康检查:执行以下命令访问后端路由总览,返回正常 JSON 响应(非连接拒绝/超时)即接口存活:
curl -k https://127.0.0.1:4607/api/v3/(4)APP 端连通性验证:在华为 MatePad 上打开 APP,进入服务器配置页面确认当前服务器地址正确;执行一次密钥协商与登录流程,能正常获取验证码并登录即端到端链路正常。
3.2.2 网络配置操作流程
(1)通过远程登录方式登录设备后台。
(2)执行 ip addr(或 ifconfig),查看服务器的网卡信息,确认网卡处于 RUNNING(UP)状态。
(3)如需修改 IP,CentOS 系统执行 cd /etc/sysconfig/network-scripts/ 查看网卡列表,执行 vi ifcfg-网卡名 修改 IP、掩码、DNS、网关并将 ONBOOT 设置为 yes,然后执行 systemctl restart network 重启网络配置;Ubuntu 系统按 1.2.1 节 netplan 方式修改后执行 sudo netplan apply。
(4)若重启网络失败,则执行 reboot 重启服务器。
(5)IP 变更后,同步更新后端 .env.production 中的 ALLOWED_HOSTS、CORS_ALLOWED_ORIGINS 以及 APP 端服务器配置中的地址,并重启后端服务。
3.3 常见故障排查
下列十类故障按"先定位层级(网络 → 服务 → 应用 → 凭证)、再对症处置"的顺序排查;处置后须在巡检记录中登记。部署与更新阶段的高频问题(依赖安装、端口占用、静态文件、CORS、DisallowedHost)另见 部署文档第十章 FAQ。
3.3.1 设备无法正常启动
连接电源后,若出现设备无法正常启动、机箱风扇不转动等情况,大多数原因为系统未能正常启动。需检查:风扇无反应可能为电源连接异常,检查电源是否连接正常,检测电源插座是否已通电。若均不存在上述问题,请联系厂家维保。
3.3.2 设备接口状态异常
设备外部网络接口连接后,网卡不能正常 UP、端口指示灯显示异常,请检查外部连接情况(网线、交换机端口、光模块)。若通过上述排查依旧未能解决,请联系厂家维保。
3.3.3 系统无法登录(SSH/Telnet)
用户可以采用内网或直连的方式连接,设备 IP 地址以最后设置的 IP 地址为准,可采用 22 端口的 SSH 协议登录(SSH2 类型,SSH1 无效),也可以采用 23 端口的 Telnet 协议登录,端口可以自定义。由于 SSH 是加密方式、Telnet 是明文方式,一般情况下建议用 SSH 连接较为安全。出现连接失败问题的解决方式如下:
(1)设备无法 ping 通:排查两种情况。① 设备禁止了 ping:出于安全考虑,设备可能将 ping 禁止,但不影响网络的正常连接,只是不允许 ICMP 数据包应答。判断方法:将终端 IP 地址设置成跟服务器同一网段但不重复的 IP,用网线直连设备网口,能通过 SSH 连接说明 ping 不通不影响网络连接。② IP 地址不一致:检查 IP 地址,同时考虑网关和掩码的范围等因素是否有影响。
(2)终端显示无连接:检查网线是否接在网口的位置而不是串口的位置,检查线缆接触和网线本身是否正常。
(3)能 ping 通但 SSH 或 Telnet 连接失败:检查端口是否与设备的一致。
如果上述问题都不存在但仍然无法连接,此时要检查设备是否启动异常。
3.3.4 接口无连接故障处理
接口无连接首先要检查链路,特别是中间经过其他节点的时候要考虑有无接触不良的环节,或者有无收发端接反的情况。此外检查模块是否有坏损。
3.3.5 设备注册失败
(1)扫码导入服务器公钥失败:确认二维码来源于本系统管理端"辅助注册"页面或服务器密钥管理功能生成,内容格式为"服务器ID#时间戳#公钥";确认平板相机权限已开启、二维码清晰未过期。
(2).dat 文件导出失败:检查平板存储权限是否开启、存储空间是否充足。
(3)上传注册失败:检查设备 ID 是否已在服务器注册且状态为激活;检查服务器时间是否与平板时间同步(时间戳校验);查看后端日志 logs/error.log 定位具体原因。
3.3.6 密钥协商失败
四步握手(INIT→RESP→ACK→TOKEN)任一步失败时,APP 会自动清理会话密钥与 token。排查步骤:确认设备在管理端"设备管理"页面状态为激活(非冻结/禁用/待年审);确认 APP 导入的服务器公钥与服务器当前密钥一致(服务器密钥轮换后需重新扫码导入);确认 Redis 服务正常运行(握手会话状态存储于 Redis);确认服务器与平板时钟同步。
3.3.7 短信验证码收不到
(1)提示"该用户没有手机号":由管理员在用户管理页面补充或激活该用户手机号。
(2)检查后端 .env.production 中 SMS_URL、SMS_USERNAME、SMS_PASSWORD 是否已正确配置甲方内网短信网关(未配置 SMS_URL 时系统处于调试模式,验证码仅在控制台打印,不实际下发)。
(3)检查是否触发限流:短信接口 IP 级别限流 5 次/分钟,同一手机号发送间隔 60 秒。
(4)检查验证码有效期(默认 60 秒),超时需重新获取。
3.3.8 SM4-GCM 解密失败
后端返回"未找到对应的会话密钥"或"认证失败"时:确认请求前已完成密钥协商且会话密钥未被清理(APP 卸载、退出登录、切换服务器均会清除会话密钥,需重新协商);确认请求携带的 token 与设备 ID 匹配;密文被篡改会导致完整性校验失败,应排查传输链路并重新发起请求。
3.3.9 APP 无法连接服务器
(1)浏览器/Pad 访问后端返回 400 Bad Request(DisallowedHost):将访问所用 IP/域名加入 .env.production 的 ALLOWED_HOSTS 后重启后端。
(2)TLS 握手失败:确认 APP 侧信任 CA 与服务器证书匹配(自签名证书需在 APP 中配置对应 CA);HarmonyOS http 模块不跟随 HTTP→HTTPS 跨协议重定向,APP 服务器配置中的地址协议必须与服务器实际监听协议一致。
(3)确认 4607 端口在防火墙/安全组中已放通,Pad 与服务器网络可达。
3.3.10 token 过期
access_token 超出有效期时,MCS 业务前端通过 JSBridge 通知 APP 使用 refresh_token 自动刷新,用户无感知;若 refresh_token 已失效或已被拉黑(退出登录、管理员强制下线),APP 清空本地登录信息并返回登录页面,用户重新执行"验证码+口令"登录即可。连续登录失败 5 次账号将被临时锁定(默认 900 秒),锁定结束后重试或联系管理员解锁。
3.4 设备日常维护保养
设备保养对于维护设备的正常运行和延长服务器使用寿命非常重要,通过对维护保养的操作进行明确,以确保设备的顺利运行和安全操作。
3.4.1 设备保养原则
(1)定期维护:根据服务器使用情况,制定合理的维护计划,并定期执行必要的保养措施。
(2)全面检查:在维护期间,对设备进行全面的检查,包括设备的各个部件和功能。
(3)及时修复:如发现设备故障或异常情况,应立即采取修复措施,以防止问题进一步恶化。
(4)记录保留:对设备的保养维修情况进行记录,并保留相关文件和报告,方便追溯和参考。
3.4.2 设备保养操作内容
1. 设备清洁
定期对服务器进行清洁是维护硬件的基本操作之一。定期清洁可以帮助去除灰尘、污渍和其他杂物,以保持设备的散热性能,减少因灰尘堆积而引起的故障。
2. 系统巡检
对服务器进行定期巡检,定期检查设备的各项硬件部件,包括机箱、电源、风扇、主板等,以确保它们正常工作。定期检查电源线路等,可减少因硬件故障而导致的设备损坏和数据丢失,确保硬件设备和网络连接正常稳定,关键系统功能符合预期。
3. 定期备份数据
定期备份服务器的数据和配置文件是保护数据安全的重要措施之一。本系统应重点备份 MySQL 业务数据库(用户、设备、密钥、策略、日志)以及后端 .env/.env.production 配置文件与 certs/ 证书目录。备份数据应存储在安全可靠的地方,以防止数据丢失或损坏,并定期检查备份数据的完整性和可用性。
4. 更新软件和补丁
定期更新服务器的软件和补丁是保持设备安全性和稳定性的关键步骤之一。及时安装最新的安全补丁和固件更新,以修复已知的安全漏洞和提升设备的性能和稳定性。
5. 性能优化
针对服务器的性能问题,进行优化和改善。例如,增加设备内存、优化软件程序、调整网络带宽等。通过提升设备性能,能够提高设备的响应速度和处理能力,提升整体工作效率。
3.4.3 设备维护保养的管理
1. 建立设备档案
对服务器建立详细的档案,包括设备型号、出厂日期、购买渠道、保修期限等信息。同时,记录设备的使用情况、故障和维修记录,以便及时查找和分析设备问题的根源。
2. 确定维保责任人
指定专人负责设备的维保工作,包括设备巡检、保养和故障修复等。维保人员需具备一定的技术水平和专业知识,能够熟练操作设备和处理设备故障。
3. 实施维保培训
定期组织维保培训,提升维保人员的技术水平和工作能力。培训内容包括设备操作、维护和故障处置操作。
服务器维护保养记录表(每次维保填写):
| 检测项 | 检测内容 | 正常标准 |
|---|---|---|
| 机箱-电源运行 | 双电源冗余状态 | 双电源均正常 |
| 机箱-风扇 | 机箱风扇转速正常无异响 | 转速正常无异响 |
| 机箱-防尘网 | 机箱内部无明显灰尘 | 无明显积尘 |
| 机箱-机箱管理 | 机箱管理功能正常 | 功能正常 |
| 主板-用户登录 | 串口登录、管理网口登录 | 均可登录 |
| 主板-CPU使用率 | 系统 CPU 使用率 | <90% |
| 主板-内存使用率 | 系统内存使用率 | <80% |
| 主板-网卡识别状态 | 千兆/万兆网卡识别 | 识别正常 |
| 系统软件 | gunicorn/nginx/mysqld/redis 进程是否存在,日志有无异常 | 进程存在、日志无异常 |
同时填写实施单位、负责人、开始/结束时间、维保工程师、维保方式、维保地点及设备名称、型号、序列号、是否在保等信息,并出具维保总结;发生维修时按"问题描述、紧急对策、原因分析、整改方案、效果验证、防止再发对策"六项填写维修记录表。
3.5 日常软/硬件巡检
日常巡检项目、方法、正常标准与频次如下表所示。
| 巡检项 | 巡检方法 | 正常标准 | 频次 |
|---|---|---|---|
| 风扇状态 | 现场巡查,手感知机箱尾部出风口排风 | 出风口有风排出 | 每日 |
| 服务器指示灯状态 | 现场巡查,肉眼查看前面板 | 电源灯绿色常亮,告警灯不亮 | 每日 |
| 磁盘剩余空间 | 远程执行 df -h | 剩余空间 ≥30% | 每日 |
| 内存使用状态 | 远程执行 free -g | 使用率 ≤70% | 每日 |
| CPU 占用率 | 远程执行 top | 占用率 ≤70% | 每日 |
| 后端服务进程 | 远程执行 ps aux | grep gunicorn | 进程存在且数量正常 | 每日 |
| Nginx 进程 | 远程执行 ps aux | grep nginx | master/worker 进程存在 | 每日 |
| MySQL/Redis 服务 | 远程执行 systemctl status mysqld redis | active (running) | 每日 |
| 接口健康检查 | 远程执行 curl -k https://127.0.0.1:4607/api/v3/ | 返回正常响应 | 每日 |
| NTP 服务进程状态 | 远程执行 systemctl status ntpd(或 chronyd) | 服务运行正常、时间同步 | 每周 |
| 应用日志错误信息 | 查看 logs/error.log、logs/app.log | 无新增错误或告警 | 每日 |
| 安全日志审计 | 管理端日志页面查看高/中级别事件 | 无异常访问行为 | 每日 |
| 数据备份有效性 | 检查备份任务记录并抽样恢复验证 | 备份完整可恢复 | 每周 |
3.5.1 现场巡查操作步骤
1. 风扇状态
现场巡查时,通过用手感知查看服务器机箱尾部出风口排风状态、内部散热风扇是否正常工作。正常状态时机箱尾部出风口有风排出,否则为异常状态。异常状态需由运维人员现场排查处理。
2. 服务器指示灯状态
现场巡查时,通过肉眼查看服务器前面板指示灯状态。正常状态时前面板的电源按钮灯为绿色,磁盘运行指示灯、网络指示灯闪烁绿光或不亮,告警指示灯不亮,否则为异常状态。异常状态中电源按钮灯橙色常亮表示掉电状态,系统故障指示灯、内存故障指示灯、风扇故障指示灯、电源故障指示灯红色常亮表示故障。异常状态需由运维人员现场排查处理。
3.5.2 远程巡查操作步骤
1. 磁盘剩余空间
远程巡查时,登录服务器,在终端输入 df -h 命令查看磁盘的使用情况。当磁盘剩余空间 ≥30% 为正常状态;当磁盘剩余空间 <30% 时为超过阈值的异常状态,需对磁盘日志文件进行拷贝出备份后删除处理。
2. 内存使用状态
远程巡查时,登录服务器,在终端输入 free -g 命令查看内存的使用情况。当内存使用率 ≤70% 为正常状态;当内存使用率 >70% 时为超过阈值的异常状态,需远程排查原因,查看是否有异常进程。
3. CPU 占用率
远程巡查时,登录服务器,在终端输入 top 命令查看服务器 CPU 占用率。当 CPU 占用率 ≤70% 为正常状态;当 CPU 占用率 >70% 时为超过阈值的异常状态,需远程排查原因。
4. 服务程序状态
远程巡查时,登录服务器,在终端执行 ps aux | grep gunicorn 查看认证鉴权后端进程是否正常运行,执行 ps aux | grep nginx 查看 Nginx 进程是否正常运行,执行 systemctl status mysqld redis 查看数据库与缓存服务状态。当输入命令后能检索到服务程序及其进程号为正常状态,否则为服务程序退出的异常状态,需按 2.2 节流程远程手动启动服务程序。