零基础搭建开源日志审计SIEM系统
为什么需要日志审计SIEM?
服务器每天产生大量系统日志、应用日志和安全日志。
如果没有集中采集和分析工具,等出现入侵或异常时往往找不到线索。日志审计SIEM(安全信息和事件管理) 能自动收集日志、关联告警,帮你快速定位威胁。
对于预算有限的小团队或个人站长,开源SIEM方案(如 Wazuh)是完全可行的选择。
搭建前的准备条件
你需要一台 Linux 服务器(推荐 Ubuntu 20.04/22.04 或 CentOS 7/8)作为服务端,至少 2 核 4G 内存,50G 硬盘。
被监控的客户端可以是 Windows 或 Linux 机器。
同时确保所有机器之间网络通畅(防火墙放行 1514-1515 端口)。
如果你用云服务器,记得先检查安全组规则。
分步搭建日志审计SIEM——以Wazuh为例
1. 安装Wazuh服务端(Manager)
在服务端执行以下命令一键安装:
curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh
sudo bash wazuh-install.sh -a
安装过程会自行安装 Elasticsearch、Filebeat、Kibana 和 Wazuh Manager。
等待 5-10 分钟,命令行最后会打印出 Web 访问地址和默认管理员密码,请务必保存好。
2. 访问Wazuh Dashboard
安装完成后,打开浏览器输入 https://你的服务器IP。
接受证书风险后,用默认账号 admin 和刚才保存的密码登录。
你会看到总览面板,包含告警数量、事件趋势等信息。
3. 在客户端安装Wazuh Agent
在要被监控的服务器上安装 Agent。
以 Linux 客户端为例:
# 导入GPG密钥(如需要)
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo apt-key add -
# 添加源并安装(Ubuntu)
echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
sudo apt update
sudo apt install wazuh-agent
安装后用 Manager 地址注册:
sudo wazuh-agent -m 服务端IP -p 1515 -A 客户端名称
注册成功后在 Dashboard 的 Agents 模块可以看到该客户端上线。
4. 配置日志采集规则(可选)
默认规则已覆盖常见安全场景(如 SSH 爆破、文件完整性变化)。
如果你需要采集特定日志文件(例如 Nginx 访问日志),在 Manager 的 /var/ossec/etc/ossec.conf 中添加配置并重启服务:
/var/log/nginx/access.log
syslog
避坑指南:新手常见问题
- Agent 注册失败:检查服务端防火墙是否放行 UDP 1514 和 TCP 1515,以及客户端 DNS 能否解析服务端主机名。
- Dashboard 访问白屏:尝试清理浏览器缓存或使用无痕模式,有时是 SSL 证书问题。
- 告警太多:在 Dashboard 的 Rules 模块中可以调整告警级别阈值,或者关闭暂时不关心的规则。
- 磁盘空间占用:日志审计SIEM会产生大量数据,建议单独挂载数据盘或启用索引生命周期管理。
效果验证:如何确认系统在工作?
- 在客户端尝试 SSH 登录失败数次(故意输错密码),观察 Dashboard 是否实时弹出
SSHD authentication failed告警。 - 修改客户端
/etc/passwd文件,检查文件完整性监控(FIM)模块是否会生成变更告警。 - 使用自动测试工具:
wazuh-logtest命令可以模拟日志并验证规则匹配。
常见问题快速解答
Q:Wazuh 和 ELK Stack 有什么区别? Wazuh 基于 ELK 并深度集成安全规则与告警,开箱即用更适合日志审计SIEM场景;
纯 ELK 需要手工写大量规则。
Q:只有一台服务器能玩吗? 可以,在同一台机器上同时安装 Manager 和 Agent,即可实现本机日志审计。
Q:Windows 客户端如何安装? 下载 MSI 安装包并执行,安装过程中填写 Manager 地址即可。
总结
通过以上步骤,你可以用 Wazuh 免费搭建一套可用的日志审计SIEM系统。
建议先在小规模环境中熟悉规则和告警逻辑,再逐步扩展到生产服务器。
如果在操作中遇到报错,优先排查防火墙、DNS 和磁盘空间这三个最容易出问题的环节。