新吴区非Docker生产整改部署手册
Nginx + PHP-FPM · 发布基线 store/master_patch@1219480d7
执行门禁:当前页面是审核手册,尚未远程修改客户生产。必须先确认站点根目录、vhost、PHP-FPM服务/用户、维护窗口和回滚决策人。
执行顺序
确认窗口/回滚点 → 止血取证 → 隔离WebShell/检查持久化 → 可信发布包 → Nginx规则 → 部署代码/三端制品 → PHP-FPM生效 → 轮换凭据 → 迁移备份 → 安全与业务复测 → 观察
先清理/可信重部署,再放入新凭据;否则残留后门可能再次窃取新值。
发布前必须确认
| 路径 | 项目根、public、上传目录、Nginx vhost |
| PHP | 版本、PHP-FPM服务名、运行用户/组、socket |
| 数据 | 数据库/Redis共享消费者、轮换负责人 |
| 备份 | 任务、脚本、输出路径和保留周期 |
| 窗口 | 通知、维护时段、回滚决策人 |
三类必须处理
主机/文件
记录WebShell stat/SHA,移出Web目录隔离;扫描上传、临时、cron、systemd、SSH key和PHP自动加载;用可信发布包重新部署。
凭据
管理员、数据库、Redis、微信/人脸/AI/支付等轮换;最小权限和来源限制;旧值必须失败。
备份
Web根历史SQL隔离/删除;备份任务迁移非Web目录;权限、保留周期、异地副本和恢复抽检。
Nginx关键规则
| 上传脚本 | ^/static/upload/.*\.(php[0-9]*|phtml|phar)(/|$)返回404 |
| 上传静态 | 仅try_files $uri =404 |
| 敏感后缀 | sql/bak/backup/dump/env/ini/log返回404 |
| 隐藏文件 | 除现有.well-known需求外默认404 |
规则放在通用PHP location之前;nginx -t成功后加载,并用nginx -T回读。
发布内容
- 可信发布包:
store/master_patch@1219480d7及SHA256。 - 保留现有配置结构,逐项合并客户业务值和轮换后的凭据。
- 不能用旧
application/config.php整文件覆盖新版本。 - 发布PC、移动端、大屏已验证构建制品;生产不临时安装Node依赖。
- PHP语法检查后按真实服务名reload/restart PHP-FPM。
必须验证
| 反向安全 | 正向业务 |
|---|---|
| 未登录上传/下载拒绝;脚本/双扩展/伪造图片拒绝;穿越/绝对/协议/符号链接拒绝;WebShell/备份/隐藏文件URL 404;旧凭据失败 | 强密码登录/改密;电子菜牌图片;Excel和普通附件;附件单/批量下载;小程序/移动端;免登录大屏;人员/菜品/消费/充值/报表;新备份与恢复抽检 |
回滚原则
- 可以回滚应用/前端制品。
- 不能恢复泄露旧密码、WebShell、未知SSH key或公开备份。
- 不能移除上传目录禁执行和敏感文件拒绝。
- 下载异常时临时封禁接口并前滚修复,不能恢复任意路径读取。
关闭证据
制品SHA、配置权限、nginx -t/-T、PHP-FPM状态、恶意文件/持久化/备份扫描、凭据轮换台账、旧值失效、安全反向请求、合法业务回归、恢复抽检、观察日志和回滚点必须齐全。
只有客户部署与测评复测通过后,整体状态才能改为已关闭。