
WordPress 容器栈的生产安全不是一个插件,而是端口、身份、文件、密钥、备份、更新、缓存和日志共同形成的分层控制。
适用对象:自托管 WordPress 管理员 阅读时间:约 14 分钟
一、推荐拓扑
公网只暴露 Nginx 的 80/443;WordPress/PHP 和 MySQL 位于 Docker 内部网络。数据库不映射公网端口,应用端口也不应绕过反向代理直接暴露。
二、秘密与最小权限
.env 权限收紧到仅管理员可读,不提交版本库,不在截图和命令历史中泄露。数据库用户只授予业务所需权限;WordPress 管理员与服务器 SSH 使用不同凭据并启用强认证。
三、文件与后台编辑
代码文件不应全部授予可写权限。上传目录需要写入,核心、主题和插件目录尽量只在受控更新期间可写。生产站建议禁用后台文件编辑,任何变更都通过备份、审查和可回滚流程进入。
四、Nginx、PHP 与缓存
为静态资源设置合理缓存;动态页面缓存必须绕过登录 Cookie、后台、购物车或个性化请求。PHP OPcache 能减少重复编译,但应配合内存、执行时间和上传限制。隐藏不必要版本信息,设置请求体上限和超时。
五、数据库与文件双备份
只有网站压缩包不能恢复文章、用户和设置;只有数据库也会丢失上传图片、主题和插件。每个备份集至少包含数据库导出与 wp-content/完整站点文件,并记录 WordPress、PHP、数据库和容器镜像版本。
# 示例仅用于自有主机;真实命令应从安全环境读取凭据
mysqldump --single-transaction --quick --skip-lock-tables DB_NAME > wordpress.sql
tar -czf wordpress-files.tar.gz www/
六、还原演练比备份提示更重要
定期在隔离环境恢复,验证表数量、首页、后台登录、媒体、固定链接和计划任务。备份应加密并至少保留一份离线或异地副本。
七、更新与审计
核心、主题和插件按风险分级更新。高危且已利用漏洞进入加急流程;常规更新先在副本验证。保留 Nginx、PHP、WordPress、Docker 和系统登录日志,建立磁盘、证书、容器健康和备份失败告警。
基线核对
- 公网仅 80/443,数据库仅内部网络。
- SSH 禁止密码登录或至少限制来源,普通运维不长期使用 root。
- 后台启用强密码、多因素认证和最少管理员账户。
- 禁用未使用插件、主题和 XML-RPC 能力。
- 备份可恢复,证书可自动续期,缓存不会混淆登录态。
官方来源
最后核验:2026-08-12。