本文目录导读:

主机入侵检测系统(HIDS)的配置是一个综合性的过程,涉及代理安装、规则定义、日志收集、告警配置和响应机制,最常用的开源HIDS是 OSSEC 和 Wazuh(Wazuh是OSSEC的增强分支),商业方案有CrowdStrike、SentinelOne等。
以下以 Wazuh(推荐) 和 OSSEC 为例,提供详细的配置步骤和核心配置项说明。
第一阶段:基础架构规划
在配置前,需要明确架构:
- Server端:负责收集日志、分析告警、管理规则(需要较高的CPU和内存,建议4C8G以上)。
- Agent端:部署在每台需要监控的服务器上(Windows/Linux/macOS)。
- 通信方式:通常使用加密通信(预共享密钥或证书)。
第二阶段:配置 Wazuh(现代推荐方案)
Wazuh 提供了开箱即用的功能,配置相对友好,且拥有强大的规则引擎和仪表板。
安装和管理端(Manager)
在管理服务器上安装 Wazuh Manager 和 Wazuh Indexer(可选,用于存储和可视化)。
# 官方一键安装脚本(CentOS/RHEL/Ubuntu) curl -s https://packages.wazuh.com/4.x/wazuh-install.sh | sudo bash # 安装完成后,记录自动生成的 admin 密码和 agent 注册密码
安装并注册 Agent(被监控主机)
在每台需要监控的服务器上执行:
# 安装 Agent WAZUH_MANAGER="你的管理端IP" yum install wazuh-agent # 或使用官方一键脚本(推荐) curl -s https://packages.wazuh.com/4.x/wazuh-agent.sh | sudo bash -s -- -m 管理端IP -A 注册密码 # 启动并设置开机自启 systemctl restart wazuh-agent systemctl enable wazuh-agent
核心配置项(/var/ossec/etc/ossec.conf)
这是决定 HIDS 能力的关键文件,主要修改以下部分:
- 文件完整性监控(FIM):监控关键目录的变更。
<syscheck> <directories check_all="yes" realtime="yes">/etc,/usr/bin,/usr/sbin</directories> <directories check_all="yes" whodata="yes">/var/www/html</directories> <!-- who-data 可以记录谁修改的 --> <ignore>/etc/mtab</ignore> <!-- 忽略动态变化文件 --> <scan_on_start>yes</scan_on_start> </syscheck> - 日志分析(Log Analysis):指定监控哪些日志源。
<localfile> <location>/var/log/auth.log</location> <!-- Linux SSH 登录日志 --> <log_format>syslog</log_format> </localfile> <localfile> <location>/var/log/secure</location> <!-- RHEL/CentOS 安全日志 --> <log_format>syslog</log_format> </localfile> <localfile> <location>/var/log/messages</location> <log_format>syslog</log_format> </localfile> <!-- Windows 事件日志 --> <localfile> <location>Security</location> <log_format>eventchannel</log_format> </localfile> - 命令监控(Command Monitoring):执行自定义脚本。
<wodle name="command"> <disabled>no</disabled> <tag>check_ports</tag> <command>ss -tuln</command> <interval>1h</interval> </wodle> - 主动响应(Active Response):自动封禁IP等操作(谨慎使用)。
<active-response> <disabled>no</disabled> <command>firewall-drop</command> <!-- 默认有 iptables/systemctl 命令 --> <location>local</location> <level>10</level> <rules_id>5710</rules_id> <!-- 只对特定规则触发,如SSH暴力破解 --> </active-response>
规则配置(决定告警质量)
- 位置:
/var/ossec/ruleset/rules/ - 自定义规则:不要直接修改系统规则,应创建
/var/ossec/etc/rules/local_rules.xml。 - 示例:自定义一个规则,监控“root用户登录”并设置告警级别为10。
<group name="local_syslog,"> <rule id="100001" level="10"> <decoded_as>syslog</decoded_as> <field name="program_name">^sudo$</field> <match>COMMAND=/bin/su -</match> <description>Root elevation detected via su</description> </rule> </group> - 调整规则级别:
level 0-3:信息level 4-6:警告level 7-9:严重(需要关注)level 10-12:紧急(可能入侵成功)level 13-15:严重安全事件
日志与告警查看
- 服务端日志:
/var/ossec/logs/ossec.log - 代理端日志:
/var/ossec/logs/ossec.log - 告警日志:
/var/ossec/logs/alerts/alerts.json(适合接入SIEM或Elasticsearch)
第三阶段:配置 OSSEC(经典方案)
对于需要轻量化、高稳定性的场景,OSSEC 仍是不错的选择。
安装服务端
wget -U ossec https://github.com/ossec/ossec-hids/archive/3.6.0.tar.gz tar -zxf ossec-hids-3.6.0.tar.gz cd ossec-hids-3.6.0 ./install.sh
安装过程中选择 server 模式,并配置邮件告警(可选)。
安装并注册 Agent
# 在服务端生成密钥 /var/ossec/bin/ossec-authd # 在被监控主机安装 agent,并运行 /var/ossec/bin/ossec-agent-authd -m 服务端IP service ossec restart
核心配置(/var/ossec/etc/ossec.conf)
- :与Wazuh非常相似,只是少了
wodle和inventory等高级模块。 - 文件监控:
<syscheck> <frequency>3600</frequency> <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories> <directories check_all="yes">/root</directories> </syscheck> - 主动响应:OSSEC 的
active-response配置语法与Wazuh一致,但支持的命令较少。
规则自定义
- 存放位置:
/var/ossec/rules/local_rules.xml - 逻辑与Wazuh一致,但OSSEC不支持
<decoded_as>等温组件。
第四阶段:通用配置最佳实践(无论选哪种HIDS)
以下配置能极大提升检测效果与系统稳定性:
-
白名单配置:
- 排除合法操作(如Puppet/Ansible的定期更新、备份脚本的读取)。
- 在
<syscheck>中添加<ignore>标签,例如忽略/proc、/sys、数据库数据文件(*.ibd)。
-
日志源覆盖(尽可能全):
- Linux:
auth.log、secure、messages、syslog、cron、apache/nginx error.log、audit.log(审计日志)。 - Windows:Security(登录/权限)、System(服务/驱动)、Application(应用程序)、Sysmon(如有安装)。
- 数据库:MySQL general log、PostgreSQL日志(需开启SQL审计)。
- Linux:
-
告警抑制:
- 避免频繁无用的告警刷屏,例如
cron的正常执行、系统回包IP的扫描。 - 创建规则设置
if_matched_sid排除已知的正常事件。
- 避免频繁无用的告警刷屏,例如
-
性能调优:
- 避免对整个 根目录启用实时监控(
realtime=“yes”),建议指定具体目录。 - 调整扫描频率:
<frequency>43200</frequency>(12小时一次)。 - 如果Agent所在主机配置较低,关闭
who-data(记录谁修改),改用realtime。
- 避免对整个 根目录启用实时监控(
-
主动响应策略(安全与风险的平衡):
- 不要 使用默认的
firewall-drop对任何外部IP进行全局封禁(可能导致误封正常用户)。 - 推荐策略:将告警级别达到10以上的事件,触发
ossec-slack.sh或ossec-alert发送到邮件/钉钉,由人工判断是否封禁。 - 如果必须自动化,请设置
timeout参数,例如封禁30分钟(<timeout>1800</timeout>)。
- 不要 使用默认的
如何选择配置方案?
| 场景 | 推荐方案 | 配置重点 |
|---|---|---|
| 新手入门 / 中小企业 | Wazuh | 一键安装,自带Web仪表板(Kibana),规则库完善,支持容器监控。 |
| 追求极简 / 老旧机器 | OSSEC | 安装包小(约5MB),资源占用低,配置简单。 |
| Windows 环境监控 | Wazuh | 原生支持Windows事件日志、注册表监控、Sysmon集成。 |
| 云原生 / Kubernetes | Wazuh + Falco | Wazuh负责宿主机层,Falco负责容器运行时异常。 |
| 金融 / 合规要求高 | 商业HIDS(CrowdStrike等) | 侧重EDR(终端检测与响应),溯源能力强,AI分析。 |
最后的忠告:
- 先测试,后上线:在非生产环境运行48小时,观察误报情况,调整规则级别。
- 监控HIDS本身:确保Agent进程(
ossec-agent)一直在运行,如果挂掉要能通过自愈脚本重启或发告警。 - 日志不要只存本地:将告警日志汇聚到ELK/Splunk等平台,以便回溯历史入侵事件。
如果你能提供具体的操作系统版本和业务场景(比如是Web服务器还是数据库服务器),我可以给出更精准的规则配置建议。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播