Skip to content

Repository files navigation

PlayerAudit 项目安全设计与部署建议

当前项目由两个模块组成:

  • PlayerAuditPaper:主控插件
  • PlayerAuditNode:附属子服插件

其中真正承载浏览器面板与审计数据中心的是 PlayerAuditPaper

1. 核心安全理念

审计系统会保存敏感信息,例如:

  • 玩家聊天记录
  • 后台管理指令
  • 子服联通状态
  • 处罚状态与执行记录

因此设计原则是:

  • 默认不暴露公网
  • 浏览器面板优先走 HTTPS + WSS
  • HTTP 接口仅作为兼容层保留
  • 节点同步优先走加密 WSS

2. 面板鉴权

主控面板使用 web.token 控制访问:

  • 浏览器端会先通过 WSS AUTH 消息完成鉴权
  • 兼容 /api/* 接口仍支持 Authorization: Bearer <token>

建议:

  • 永远不要把 web.token 留空后再对外暴露端口
  • 令牌长度至少 20 位,并混合大小写、数字和符号

3. 浏览器面板部署建议

推荐方案

保持主控配置接近默认值:

web:
  host: 127.0.0.1
  port: 8806
  secure-port: 8807

然后:

  • 浏览器访问 HTTPS 面板
  • 浏览器业务数据走 WSS
  • 仅在本机或内网暴露端口

若必须公网暴露

至少同时做到:

  • 设置 web.token
  • 使用有效 keystore
  • 只暴露 secure-port
  • 在反向代理层附加额外鉴权(如 Basic Auth / IP 白名单)

4. 证书与 keystore

主控面板安全通道依赖:

  • web.key-store-path
  • web.key-store-password
  • web.key-store-type

如果证书配置不正确:

  • 插件当前会记录警告
  • 兼容 HTTP 仍可继续启动
  • 但安全面板 HTTPS/WSS 不会可用

因此生产环境必须确保:

  • keystore 文件存在
  • 密码正确
  • 浏览器可信任该证书链

5. 子服通道安全

主控与子服之间的同步至少要保护两部分:

  • 接入令牌
  • 传输链路

建议:

  • 优先使用主控 network.channelWSS 节点通道
  • PlayerAuditNode / 旧子服模块中的主服 token 必须与主控保持一致
  • 如果仍保留旧 HTTP 回退链路,建议仅内网使用

6. 命令脱敏

请确保敏感登录类命令都出现在:

logging:
  mask-commands:
    - /login
    - /register
    - /reg
    - /l

这些命令在被记录时会被脱敏成类似 /login ***

7. 当前 release 资产说明

当前项目 release 同时发布两个 jar:

  • PlayerAuditPaper-1.1.0.jar
  • PlayerAuditNode-1.0.0.jar

部署时请注意角色分离:

  • 不要把 PlayerAuditNode 当成浏览器主控面板使用
  • 不要把 PlayerAuditPaper 当成纯子服中继器使用

About

Player behavior audit plugin with HTTPS/WSS panel and offline-safe startup

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages