1. 南墙WAF密码重置与OTP关闭实战指南
上周在客户现场部署南墙WAF时,遇到了一个典型的管理员账户锁定问题——客户忘记了Web控制台密码,同时手机上的FreeOTP验证器被误删。这种情况在企业级WAF运维中其实相当常见,特别是当多人轮班管理时更容易出现凭证丢失的情况。下面我就详细记录下通过数据库直接修改凭证的完整操作流程,这个方案适用于采用1Panel部署的南墙WAF 7.1.1版本。
重要提示:此操作涉及直接修改数据库,建议在维护窗口期进行,并提前做好数据库备份。生产环境操作前务必在测试环境验证。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 操作环境准备
2.1 确认部署架构
南墙WAF在1Panel环境中通常采用Docker容器化部署,主要包含两个核心容器:
- 应用容器(运行WAF核心程序)
- 数据库容器(存储配置和用户数据)
通过以下命令查看运行中的容器:
bash复制docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"
典型输出示例:
code复制CONTAINER ID NAMES STATUS PORTS
a1b2c3d4e5f6 1Panel-uuwaf-kc3V-app Up 2 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp
g7h8i9j0k1l2 1Panel-uuwaf-kc3V-db Up 2 hours 3306/tcp
2.2 获取数据库访问权限
方式一:使用已知密码登录
如果已经记录过数据库root密码,直接使用:
bash复制docker exec -it 1Panel-uuwaf-kc3V-db bash -c "mysql -uroot -p"
方式二:查询1Panel生成的密码
对于自动生成的密码,需要先获取环境变量:
bash复制docker exec -it 1Panel-uuwaf-kc3V-db env | grep PASS
输出示例:
code复制MYSQL_ROOT_PASSWORD=Jx5!kP
