需启用全量操作审计功能,方法包括:一、开启宝塔内置操作日志归档;二、配置auditd监听面板核心路径;三、扩展Nginx access_log记录请求体;四、安装专业版日志中心插件实现结构化检索。

如果您在宝塔面板中需要追溯所有用户操作行为,例如修改用户名、删除网站、调整防火墙规则等,但发现默认未记录完整操作轨迹,则说明系统全量操作审计功能尚未启用。以下是实现全量操作审计记录的多种方法:
一、启用宝塔面板内置操作日志归档
宝塔面板默认记录基础操作日志,但原始日志文件不自动归档且易被覆盖,需手动激活长期留存机制。
1、登录宝塔面板,在左侧菜单栏点击设置,进入面板设置页面。
2、在设置页面中找到安全设置区域,勾选开启操作日志归档选项。
3、点击保存设置,系统将自动创建/www/server/panel/logs/request/archive/目录,并按日期滚动归档所有HTTP请求日志。
4、归档后可通过命令行查看:执行ls -l /www/server/panel/logs/request/archive/确认归档文件生成。
二、配置系统级审计工具auditd并关联面板操作
宝塔面板本身不直接调用Linux audit subsystem,但可通过监听其Web服务进程(bt_panel)的系统调用,实现内核级全量审计补强。
1、通过SSH连接服务器,执行yum install audit audit-libs -y(CentOS/RHEL)或apt install auditd audispd-plugins -y(Ubuntu/Debian)安装审计服务。
2、编辑审计规则文件:echo "-w /www/server/panel/pyproject/ -p wa -k bt_panel_ops" >> /etc/audit/rules.d/bt.rules,监控面板核心Python模块路径的写入与执行事件。
3、加载新规则:augenrules --load,然后重启服务:systemctl restart auditd。
4、验证生效:执行ausearch -k bt_panel_ops | head -n 5,应可见包含“edit_user”“del_site”等关键词的审计事件。
三、部署自定义Nginx访问日志增强策略
宝塔面板基于Nginx反向代理提供Web界面,通过扩展其access_log格式,可捕获完整请求上下文,包括操作类型、目标资源、响应状态及客户端真实IP。
1、打开宝塔面板网站 → 找到面板所用的默认站点(通常为IP或localhost绑定),点击设置 → 进入配置文件页签。
2、在server块内location /段上方添加日志格式定义:log_format bt_full '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" "$request_body"';
3、将access_log指令替换为:access_log /www/wwwlogs/panel_audit.log bt_full buffer=32k flush=5s;
4、保存配置并重载Nginx,随后所有面板HTTP请求(含POST提交的操作参数)将写入/www/wwwlogs/panel_audit.log。
四、启用宝塔专业版日志中心插件(需授权)
宝塔专业版提供集中式日志中心功能,支持对操作日志进行结构化解析、关键词高亮、时间轴回溯与多条件联合检索,是面向企业级审计的集成方案。
1、登录宝塔面板,点击软件商店 → 搜索日志中心 → 安装宝塔日志中心(专业版)插件。
2、安装完成后,在左侧菜单出现日志中心入口,点击进入。
3、在日志中心首页点击添加日志源,类型选择面板操作日志,路径填写/www/server/panel/logs/request/*.log,启用实时采集和敏感操作告警。
4、保存后,所有新增操作日志将在日志中心界面以表格形式展示,支持按操作人、时间范围、关键词(如“修改密码”“删除数据库”)精确筛选。










