核心用法
Security Dashboard 是一个面向 OpenClaw 网关和 Linux 服务器的本地化安全监控技能。部署后,它会创建一个 Node.js HTTP 服务,默认绑定在 127.0.0.1:18791,仅允许本地访问。用户需通过 SSH 端口转发(ssh -L 18791:localhost:18791)或 VPN 访问 Web 界面。安装脚本会自动创建 openclaw-dashboard 专用用户并配置 systemd 硬化选项,服务启动后实时采集七大类安全指标:OpenClaw 网关状态、网络安全、公开暴露面、系统安全、SSH 访问控制、证书与 TLS、资源安全。
API 端点 GET /api/security 返回 JSON 格式的原始指标数据,可被其他自动化脚本调用,实现与 Morning Briefing、心跳检测、告警通知等系统的集成。
显著优点
安全架构设计领先:默认仅监听 localhost,从根本上杜绝公网暴露风险;支持以非 root 专用用户运行,配合 systemd 硬化(NoNewPrivileges=true、ProtectSystem=strict、PrivateTmp=true 等)实现纵深防御。
零第三方依赖风险:仅使用 Node.js 内置模块(http、fs、child_process),无 npm 供应链攻击面。
权限最小化实现:通过 sudoers 文件精确限定可执行命令(systemctl status、ufw、fail2ban-client 等),即使服务被攻破,攻击者也无法执行任意系统命令。
实时多维监控:覆盖网关、网络、系统、SSH、证书、资源六大维度,并自动分级告警(Critical/Warning/Info),帮助管理员第一时间发现弱令牌、SSH 密码认证、防火墙失效等关键风险。
潜在缺点与局限性
依赖特定生态:深度绑定 OpenClaw 网关配置文件路径(~/.openclaw/openclaw.json),若未部署 OpenClaw,部分指标将显示 "Unknown"。
功能范围受限:仅支持 Linux 环境,依赖 systemctl、ss、ufw/firewalld、fail2ban 等系统工具,在容器化或精简系统(如 Alpine without systemd)中可能无法正常工作。
无内置 HTTPS:当前仅支持 HTTP,虽然 localhost 绑定降低了中间人风险,但在多用户服务器或复杂网络拓扑中仍需配合 SSH 隧道或外部 TLS 终止。
告警机制简单:仅提供状态查询和原始 JSON 输出,不内置邮件、Slack、PagerDuty 等通知渠道,需用户自行编写脚本集成。
适合的目标群体
- OpenClaw 网关管理员:需要实时监控网关绑定模式、认证令牌强度、活跃会话的安全运维人员。
- Linux 服务器运维工程师:管理多台 VPS/裸金属服务器,关注防火墙、SSH、证书、系统更新状态的基础设施团队。
- 安全合规审计人员:需要快速获取服务器暴露面评分、配置合规性检查结果的安审岗位。
- DevOps/SRE 从业者:希望将安全指标集成到现有监控体系(Prometheus、Grafana、自定义脚本)的技术团队。
使用风险
配置误用风险:若手动修改 server.js 将绑定地址从 127.0.0.1 改为 0.0.0.0 且未配合 Tailscale 或防火墙,将直接把敏感安全指标暴露于公网,造成信息泄露和攻击面扩大。
权限升级残留风险:虽然安装脚本推荐专用用户,但若选择 root 运行且未正确配置 sudoers,或后续手动修改权限,可能导致服务被利用后获得完整系统控制权。
命令注入边缘场景:child_process.execSync 用于执行系统监控命令,尽管当前无用户可控输入注入点,但若未来扩展功能时未严格校验参数,存在低概率命令注入风险。
依赖工具缺失风险:目标系统若缺少 ufw/firewalld、fail2ban、tailscale 等可选依赖,对应指标将返回 "Unknown",可能导致安全盲区误判。
日志与审计缺失:当前未内置持久化日志和审计追踪,服务重启后历史告警丢失,不利于事后溯源分析。