开源主机安全面板选型:Wazuh、Osquery、雷池对比 核心要点图解,Wazuh负责HIDS与日志审计,Osquery负责主机状态查询,雷池负责Web层防护,三者互补而非替代。;单机小站优先雷池+Osquery轻量组合,多机集群用Wazuh统一管控。;部署后必须验证告警链路,否则面板只是好看的数据展示。;选型先看资产规模与团队人力,再看功能清单。
开源主机安全面板选型:Wazuh、Osquery、雷池对比 · 核心要点一图读懂(AegisX)

核心要点(TL;DR)

  • Wazuh负责HIDS与日志审计,Osquery负责主机状态查询,雷池负责Web层防护,三者互补而非替代。
  • 单机小站优先雷池+Osquery轻量组合,多机集群用Wazuh统一管控。
  • 部署后必须验证告警链路,否则面板只是好看的数据展示。
  • 选型先看资产规模与团队人力,再看功能清单。

很多运维和站长的安全建设卡在同一个坎上:服务器被扫、被爆破、被挂马,事后才从日志里翻出痕迹,却说不清该装哪套开源工具。主机安全面板和工具不是越多越好,选错方向要么资源被吃光,要么装完只剩一个好看的数据大屏。本文按实战视角拆解 Wazuh、Osquery、雷池三款主流开源方案的定位差异,给出可直接执行的部署命令、排查步骤与选型对照表,帮你在有限预算内搭出真正能告警、能处置的主机安全体系。

一、先分清三者定位:HIDS、查询引擎与WAF不是同一层

选型第一步不是比功能,而是分清它们各自守哪一层。把三者当成竞品横向打分,是最常见的选型误区。

  • Wazuh:HIDS与日志审计平台,核心能力是文件完整性监控(FIM)、日志采集、规则告警和轻量SIEM,适合多机统一管控。
  • Osquery:把操作系统状态抽象成SQL表,用查询语句核查进程、端口、账户、内核模块,强项是巡检与应急排查。
  • 雷池(SafeLine):Web应用防火墙,守在HTTP层拦SQL注入、XSS、扫描器与恶意爬虫,对主机内部威胁无感知。

结论很直接:Wazuh管「主机发生了什么」,Osquery管「现在主机是什么状态」,雷池管「进来的Web请求是否恶意」。三者是纵深防御的不同层,组合使用才完整。

二、Wazuh:多机统一管控的HIDS首选

Wazuh适合三台以上服务器、需要集中告警的场景。单机部署全套组件偏重,建议管理端独立一台机器。

快速部署(Docker方式)

git clone https://github.com/wazuh/wazuh-docker.git -b v4.7.0
cd wazuh-docker/single-node
docker compose -f generate-indexer-certs.yml run --rm generator
docker compose up -d

接入被监控主机

# 在被监控机上安装agent后注册
/var/ossec/bin/agent-auth -m <manager-ip>
systemctl enable --now wazuh-agent

部署后必做的三项验证

  1. 管理端执行 /var/ossec/bin/agent_control -l,确认agent状态为Active。
  2. 在被监控机创建测试文件并修改,检查FIM告警是否进入面板。
  3. 用 /var/ossec/bin/ossec-logtest 喂入一条SSH失败日志,确认规则命中级别正确。
告警链路不通的Wazuh等于没装。先验证采集、传输、规则三段,再谈调优。

三、Osquery:用SQL做主机巡检与应急排查

Osquery的价值在「问得准」。应急时不用翻遍目录,一条SQL就能拉出可疑进程与监听端口。

# 安装(Debian/Ubuntu)
curl -L https://pkg.osquery.io/deb/pubkey.gpg | apt-key add -
echo "deb [arch=amd64] https://pkg.osquery.io/deb deb main" > /etc/apt/sources.list.d/osquery.list
apt update && apt install osquery

常用排查查询

-- 查看非系统路径下的监听端口
SELECT pid, address, port, path FROM listening_ports JOIN processes USING(pid) WHERE path NOT LIKE '/usr/%';

-- 列出近一天新增的账户
SELECT username, uid, directory FROM users WHERE uid >= 1000;

-- 查可疑定时任务
SELECT * FROM crontab;

注意:Osquery本身不持续告警,需要配置 osqueryd 的schedule定时执行查询并输出到日志,或接入SIEM,否则它只是一个交互式查询工具。

四、雷池WAF:补上Web层这道缺口

主机被入侵的入口,相当比例来自Web应用漏洞。雷池负责在请求到达业务前拦截攻击,部署成本低,适合单机与中小集群。

# 官方一键部署脚本(需Docker环境)
bash -c "$(curl -fsSL https://waf-ce.chaitin.cn/release/latest/setup.sh)"
# 部署后访问 https://<ip>:9443 完成初始化

上线检查清单

  • 业务站点已添加为受保护应用,域名与端口配置正确。
  • 用测试请求验证拦截:curl "http://<域名>/?id=1%20union%20select%201" 应被拦截。
  • 确认放行规则未误伤正常接口,观察日志24小时再收紧策略。
  • 开启攻击日志留存,便于事后溯源。

雷池只解决HTTP层,SSH爆破、提权、挖矿等主机层威胁仍需HIDS兜底。防护建议上,可在主机侧配合具备进程与文件监控能力的安全组件,例如 AegisX 在主机入侵检测与异常行为告警上的能力,可与WAF形成前后呼应,避免只守门口不守屋内。

五、选型对照表:按资产规模与人力决定

维度WazuhOsquery雷池WAF
防护层主机+日志主机状态查询Web应用层
资源占用较高(含索引器)低中
持续告警原生支持需自行调度攻击拦截告警
适合规模多机集群单机到集群单机到中小集群
上手难度中高低低

落地建议:单机小站用「雷池 + Osquery」轻量组合;三台以上服务器上Wazuh做统一管控;已有SIEM的团队用Osquery补主机可见性。无论选哪套,部署后都要跑一遍告警验证,确认从采集到通知整条链路通畅。

六、行动建议:一周内可完成的最小安全闭环

  1. 第一天:部署雷池,把主站接入并验证拦截,观察误报。
  2. 第二天:安装Osquery,保存三条巡检SQL(端口、账户、定时任务),设为每日定时执行。
  3. 第三天:单机先装Wazuh agent接入现有管理端,或直接评估多机部署成本。
  4. 第四天:配置告警通知渠道(邮件或IM机器人),人为触发一次告警验证送达。
  5. 第五天:整理检查清单归档,形成月度巡检与季度策略复核制度。

安全工具选型的核心不是功能多,而是告警有人看、处置有人做。先跑通最小闭环,再逐步加码,比一次性堆满组件更可靠。

常见问题(FAQ)

Wazuh、Osquery、雷池能互相替代吗?

不能。三者定位不同:Wazuh是HIDS与SIEM型平台,做日志采集、文件完整性监控和告警;Osquery把主机状态当数据库查询,适合巡检与合规核查;雷池是Web应用防火墙,防的是HTTP层攻击。正确做法是按层组合,而不是三选一。

小站长只有一台服务器,装哪个最划算?

优先雷池加Osquery。雷池挡住Web层扫描与注入,Osquery用几条SQL就能查异常进程和开放端口,资源占用低。Wazuh全套组件较重,单机部署容易挤占业务资源,等机器数量上来再上更合适。

Wazuh部署后收不到告警怎么排查?

先查agent状态:在管理端执行/var/ossec/bin/agent_control -l确认agent为Active;再看/var/ossec/logs/ossec.log有无连接报错;最后验证规则是否命中,可用/var/ossec/bin/ossec-logtest测试日志样例。三步定位采集、传输、规则哪一环断了。

Osquery能直接当入侵检测用吗?

不能直接替代HIDS。Osquery是查询工具,本身不持续告警,需要配合定时查询与调度(如osqueryd的schedule配置)或接入SIEM才能形成检测能力。它的强项是快速核查主机状态,适合做巡检和应急排查。

雷池WAF部署后还要不要主机层防护?

要。雷池只覆盖HTTP流量,SSH爆破、挖矿木马、提权等主机层威胁它看不到。建议雷池前置挡Web攻击,主机侧用Wazuh或Osquery监控进程、账户与文件变更,形成纵深防御。