搬瓦工 VPS OSSEC 入侵检测系统搭建教程
OSSEC 是全球最广泛使用的开源主机入侵检测系统(HIDS),提供日志分析、文件完整性检查、策略监控、Rootkit 检测和主动响应等功能。与 Wazuh 相比,OSSEC 更加轻量,对系统资源的要求更低,非常适合在搬瓦工 VPS 等资源有限的环境中使用。本文将详细介绍如何在搬瓦工 VPS 上安装和配置 OSSEC。
一、OSSEC 运行模式
- Local 模式:独立运行,只监控本机。适合单台 VPS。
- Server 模式:作为管理服务器,接收并分析多台 Agent 的数据。
- Agent 模式:作为客户端,将数据发送到 Server 进行分析。
- Hybrid 模式:同时作为 Server 和 Agent 运行。
二、安装 OSSEC
2.1 安装依赖
# Ubuntu / Debian
apt update
apt install build-essential make gcc libevent-dev libpcre2-dev libssl-dev zlib1g-dev libsystemd-dev -y
# CentOS / RHEL
yum install gcc make libevent-devel pcre2-devel openssl-devel zlib-devel systemd-devel -y
2.2 下载并编译安装
cd /opt
wget https://github.com/ossec/ossec-hids/archive/refs/tags/3.7.0.tar.gz
tar -xzf 3.7.0.tar.gz
cd ossec-hids-3.7.0
# 运行安装脚本
./install.sh
安装脚本会提示选择安装类型(local/server/agent),按照提示操作即可。对于单台 VPS 选择 local。
2.3 启动 OSSEC
/var/ossec/bin/ossec-control start
# 查看运行状态
/var/ossec/bin/ossec-control status
三、基本配置
3.1 主配置文件
OSSEC 的主配置文件位于 /var/ossec/etc/ossec.conf,关键配置项包括:
# 邮件通知配置
# <global>
# <email_notification>yes</email_notification>
# <email_to>admin@example.com</email_to>
# <smtp_server>smtp.gmail.com</smtp_server>
# <email_from>ossec@example.com</email_from>
# </global>
3.2 文件完整性监控
# 在 ossec.conf 的 syscheck 部分配置
# <syscheck>
# <frequency>7200</frequency>
# <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
# <directories check_all="yes">/bin,/sbin</directories>
# <directories check_all="yes" realtime="yes">/var/www</directories>
# <ignore>/etc/mtab</ignore>
# <ignore type="sregex">^/proc</ignore>
# </syscheck>
3.3 添加日志源
# 添加 Nginx 日志监控
# <localfile>
# <log_format>syslog</log_format>
# <location>/var/log/nginx/access.log</location>
# </localfile>
# <localfile>
# <log_format>syslog</log_format>
# <location>/var/log/nginx/error.log</location>
# </localfile>
四、Rootkit 检测
OSSEC 内置 Rootkit 检测功能,定期检查已知的 Rootkit 特征:
# 在 ossec.conf 中确认 rootcheck 已启用
# <rootcheck>
# <rootkit_files>/var/ossec/etc/shared/rootkit_files.txt</rootkit_files>
# <rootkit_trojans>/var/ossec/etc/shared/rootkit_trojans.txt</rootkit_trojans>
# <system_audit>/var/ossec/etc/shared/system_audit_rcl.txt</system_audit>
# </rootcheck>
# 手动触发 Rootkit 检测
/var/ossec/bin/rootcheck_control -u 000
五、主动响应配置
主动响应允许 OSSEC 在检测到特定威胁时自动执行防御操作:
# 配置自动封禁 SSH 暴力破解来源
# <active-response>
# <command>firewall-drop</command>
# <location>local</location>
# <rules_id>5712</rules_id>
# <timeout>600</timeout>
# </active-response>
# 配置自动封禁 Web 攻击来源
# <active-response>
# <command>firewall-drop</command>
# <location>local</location>
# <rules_id>31151,31152,31153</rules_id>
# <timeout>3600</timeout>
# </active-response>
六、自定义规则
# 编辑本地规则文件
vi /var/ossec/rules/local_rules.xml
# 示例:检测 sudo 异常使用
# <group name="local,syslog,sudo">
# <rule id="100010" level="10">
# <if_sid>5402</if_sid>
# <match>NOT in sudoers</match>
# <description>Unauthorized sudo attempt</description>
# </rule>
# </group>
七、日常管理
# 查看告警日志
tail -f /var/ossec/logs/alerts/alerts.log
# 查看所有告警(JSON 格式)
tail -f /var/ossec/logs/alerts/alerts.json
# 查看 syscheck 报告
/var/ossec/bin/syscheck_control -l
# 查看 Agent 列表(Server 模式)
/var/ossec/bin/agent_control -l
# 重启 OSSEC
/var/ossec/bin/ossec-control restart
# 测试规则匹配
/var/ossec/bin/ossec-logtest
八、性能优化
- 调整
syscheck的扫描频率,避免频繁扫描影响性能。 - 合理配置
ignore规则,排除频繁变化的临时文件。 - 使用
realtime属性仅监控关键目录的实时变化。 - 调整日志轮转策略,防止日志文件过大。
总结
OSSEC 是搬瓦工 VPS 上轻量高效的入侵检测方案,资源消耗远低于 Wazuh,512MB 内存即可流畅运行。配合 CrowdSec 的协作防御和 Rkhunter 的 Rootkit 扫描,可以构建完善的主机安全防护体系。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,通过 bwh81.net 进入官网购买。