AI安全监测配置:从零搭建日志与告警的实操步骤
AI安全监测配置的核心目标,是让服务器上的异常行为能被自动发现并通知到你。
本文以常见的Linux服务器环境为例,使用开源安全监测工具Wazuh搭建一套基础方案:采集系统日志和登录记录、配置检测规则、接入告警通知,最后通过模拟操作验证告警是否生效。
适合刚接触服务器安全、希望先跑通一套可运行监测流程的读者。
先明确监测范围和工具选型
动手之前,先想清楚要监测什么。
对大多数中小规模服务器来说,优先覆盖以下三类事件即可:
- 登录行为:SSH登录成功、失败、暴力破解尝试
- 权限与账户:新增用户、提权操作、敏感文件变更
- 服务状态:关键进程退出、端口异常监听
工具方面,Wazuh提供日志采集、规则检测和告警一体化能力,社区版免费,适合作为入门方案。
它的架构分为Manager(管理端)和Agent(被监测主机),可以单机部署,也可以分开部署。
本文按单机部署讲解,即Manager和Agent安装在同一台服务器上。
环境前提:一台可联网的Linux服务器(Ubuntu 22.04或CentOS 7以上),至少2核4G内存,已开放必要的管理端口。
以下命令以Ubuntu为例,CentOS用户将apt替换为yum即可。
安装Wazuh并确认服务状态
Wazuh官方提供一键安装脚本,适合快速搭建。
先更新系统并安装依赖:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg apt-transport-https
然后添加Wazuh软件源并安装:
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --dearmor -o /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
sudo apt update
sudo apt install -y wazuh-manager wazuh-agent
安装完成后启动服务并设置开机自启:
sudo systemctl enable wazuh-manager wazuh-agent
sudo systemctl start wazuh-manager wazuh-agent
验证服务是否正常:
sudo systemctl status wazuh-manager
sudo systemctl status wazuh-agent
如果两个服务都是active (running),
说明基础组件已就绪。注意:
如果Manager启动失败,
优先查看日志/var/ossec/logs/ossec.log,
常见原因是内存不足或端口冲突(默认1514/1515/55000)。
配置日志采集与检测规则
Wazuh默认会采集系统日志和认证日志,但需要确认Agent的采集配置是否正确。
编辑Agent配置文件:
sudo nano /var/ossec/etc/ossec.conf
在中找到部分,确保包含以下内容:
syslog
/var/log/auth.log
syslog
/var/log/syslog
如果系统是CentOS,认证日志路径通常是/var/log/secure。
保存后重启Agent:
sudo systemctl restart wazuh-agent
检测规则方面,Wazuh自带规则集已覆盖SSH暴力破解、非法提权等常见场景,一般不需要从零编写。
但建议检查规则是否生效:
sudo /var/ossec/bin/wazuh-logtest
在交互界面中粘贴一条模拟日志,例如:
Failed password for invalid user test from 192.168.1.100 port 22 ssh2
如果输出中显示匹配到规则(rule id不为0),
说明规则生效。避坑提示:
不要随意修改默认规则文件,
自定义规则应放在/var/ossec/etc/rules/local_rules.xml中,
避免升级时被覆盖。
接入告警通知并验证效果
监测到异常后,需要把告警推送到你常用的渠道。
以邮件告警为例,编辑Manager的配置文件:
sudo nano /var/ossec/etc/ossec.conf
在部分配置邮件服务器信息(需提前准备SMTP账号):
yes
smtp.example.com
wazuh@example.com
you@example.com
保存后重启Manager:
sudo systemctl restart wazuh-manager
随后模拟一次SSH登录失败,验证告警是否触发。
在另一台机器上执行:
ssh wronguser@你的服务器IP
连续输错密码几次后,检查Manager的告警日志:
tail -f /var/ossec/logs/alerts/alerts.log
如果看到包含sshd和authentication failure的告警记录,说明检测链路已打通。
同时检查邮箱是否收到通知。注意:邮件告警依赖SMTP服务可用性,如果没收到邮件,先检查/var/ossec/logs/ossec.log中是否有SMTP连接错误。
常见问题与日常维护建议
配置过程中容易遇到几个典型问题。
Agent显示Disconnected,通常是Manager的1514端口未放行或防火墙拦截,检查sudo ufw status或iptables -L。
告警过多导致淹没重要事件,可以在规则中调整告警级别,只保留level 10以上的事件发送通知。
磁盘空间被日志占满,建议为/var/ossec/logs单独挂载分区或配置日志轮转。
日常维护上,每周检查一次Agent在线状态和告警趋势即可。
如果服务器数量增加,再将Manager和Agent分离部署,避免单机资源瓶颈。
这套基础配置不能替代完整的安全防护,但能让你在出现异常登录或权限变更时第一时间收到信号,为后续排查争取时间。
验证清单
完成以上步骤后,按以下清单逐项确认:
systemctl status wazuh-manager和wazuh-agent均为running/var/ossec/logs/alerts/alerts.log中有新告警产生- 模拟SSH失败登录后,告警日志和邮件通知均正常
- 自定义规则存放在
local_rules.xml,未改动默认规则文件
如果某一项未通过,回到对应章节检查配置和日志,优先解决服务状态和网络连通性问题。