
核心要点(TL;DR)
- HIDS管主机内部异常,WAF挡应用层攻击,基线扫描查配置缺陷,三者互补不可替代。
- 预算有限时优先跑基线扫描,再上HIDS,最后按暴露面决定是否部署WAF。
- Wazuh可同时覆盖HIDS与部分基线合规,是单机起步性价比最高的开源方案。
- ModSecurity规则误报需调优,生产环境务必先以DetectionOnly模式观察一周。
很多团队在云服务器上装了一堆安全工具,结果告警天天响、真正入侵却没看见——问题往往不在工具本身,而是没分清 HIDS、WAF、基线扫描 各自解决什么问题。本文按实战视角做一次开源云服务器安全工具横评,给出可直接复制的安装命令、验证步骤和选型清单,帮你用最低成本搭起纵深防御。
三类工具到底在防什么
先把边界划清楚,选型就不会乱。
| 类型 | 防护位置 | 典型能力 | 代表开源项目 |
|---|---|---|---|
| HIDS 主机入侵检测 | 操作系统内部 | 文件完整性、登录审计、进程与Rootkit检测 | Wazuh、OSSEC |
| WAF 应用防火墙 | HTTP/HTTPS 流量层 | SQL注入、XSS、恶意爬虫、CC拦截 | ModSecurity、Coraza |
| 基线扫描 | 配置与合规 | 账号权限、SSH配置、内核参数、端口暴露 | Lynis、OpenSCAP |
一句话记忆:基线扫描查“门有没有锁”,HIDS看“屋里有没有人”,WAF拦“门口砸门的人”。三者互补,不能互相替代。
基线扫描:成本最低的第一步
新购云主机先别急着装HIDS,跑一遍基线往往能发现一堆“默认配置坑”。以 Lynis 为例:
apt install lynis -y
lynis audit system --quick报告在 /var/log/lynis-report.dat,重点看三处:
- SSH:是否允许 root 登录、是否禁用密码认证(
PasswordAuthentication no) - 账号:是否存在空口令账号、UID 为 0 的非 root 用户
- 暴露面:
ss -tlnp对照安全组,关掉 6379、9200、3306 的公网监听
建议用 cron 每周跑一次并归档,配置漂移比一次性加固更值得关注。
HIDS:主机侧的最后一道眼睛
Web 漏洞最终要落地成命令执行,这一步只有 HIDS 看得见。单机起步推荐 Wazuh,它同时覆盖文件完整性、日志分析与部分合规检查。
# 服务端(4核8G以上)
curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh
bash wazuh-install.sh -a
# 客户端
curl -sO https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.x_amd64.deb
dpkg -i wazuh-agent_4.x_amd64.deb
sed -i 's/MANAGER_IP/你的服务端IP/' /var/ossec/etc/ossec.conf
systemctl enable --now wazuh-agent验证是否生效:
echo "test" >> /etc/passwd # 触发文件完整性告警
last -f /var/log/wtmp | head告警应出现在 Dashboard 的 Integrity Monitoring 面板。重点配置三条规则:/etc/passwd 与 /etc/shadow 变更、SSH 登录失败暴破、计划任务目录新增文件。
WAF:只有Web业务才值得上
如果服务器只跑 SSH 和数据库,装 WAF 纯属浪费。有 Web 站点时,Nginx + ModSecurity 是成熟组合:
apt install libmodsecurity3 nginx-module-security -y
# nginx.conf 的 http 块加入
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf
# 先观察模式,避免误杀
SecRuleEngine DetectionOnly关键经验:OWASP CRS 规则在后台管理、富文本编辑器场景误报率很高,务必先以 DetectionOnly 跑一周,用 grep ModSecurity /var/log/nginx/error.log 统计误报路径,再逐条加白名单,最后才切 On。直接开拦截模式导致业务不可用的案例非常多。
选型对比与落地顺序
| 场景 | 推荐组合 | 理由 |
|---|---|---|
| 个人博客/小站 | Lynis + 云WAF | 成本近零,云WAF免运维 |
| 中型Web业务 | Wazuh + ModSecurity + Lynis | 主机与流量双层覆盖 |
| 纯API/内网服务 | Wazuh + Lynis | 无HTTP页面,WAF收益低 |
| 合规要求场景 | Wazuh + OpenSCAP | 可输出可审计的合规报告 |
落地顺序建议:先基线加固(1天)→ 再部署HIDS(半天)→ 最后按暴露面决定WAF(1到2天调优)。防护建议上,AegisX 的云主机安全能力可覆盖基线核查与主机异常检测,适合不想自建 Wazuh 集群的团队作为托管替代。
行动建议
今天就做三件事:跑一次 lynis audit system 并修掉高危项;在一台生产机上装 Wazuh Agent 观察一周告警质量;盘点公网监听端口,把不该暴露的端口从安全组收掉。工具只是手段,能持续响应的告警才有价值。
常见问题(FAQ)
云服务器只装一个安全工具,选HIDS还是WAF?
优先选HIDS。云主机被入侵的常见路径是弱口令爆破、SSH密钥泄露、Web漏洞落地后执行恶意命令,这些行为最终都发生在主机内部,HIDS能覆盖登录异常、文件篡改与进程行为。WAF只保护HTTP流量,对SSH、数据库端口和主机层提权无能为力。若业务是纯Web且已上云WAF,可把预算转向HIDS。
开源WAF和云厂商的WAF能同时开吗?
可以,但要注意链路顺序与误拦截排查成本。建议云WAF做第一层粗过滤,自建ModSecurity做第二层精细规则,两者日志分开采集。需注意自建WAF会引入额外延迟,且规则更新依赖社区,遇到0day时云WAF的响应通常更快,自建WAF更适合做业务定制规则。
基线扫描多久跑一次比较合适?
建议每周一次全量、每次变更后增量。基线扫描本质是配置漂移检测,新装软件、改防火墙、调内核参数都会引入新风险。可用Lynis配合cron每周日凌晨执行,输出报告归档对比;重大变更(上线新服务、开放新端口)后立即手动跑一次,比固定周期更有效。
Wazuh单机部署资源占用大吗,2核4G够用吗?
2核4G可跑最小化单机部署,但需关闭部分模块。Wazuh Manager加Indexer加Dashboard全量部署官方建议4核8G以上,2核4G时建议只启用Manager与Filebeat采集,Indexer单独放到另一台或改用轻量日志方案。Agent端占用很低,单核百兆内存即可。
开源工具能通过等保或合规审计吗?
可作为技术措施支撑,但不能替代合规测评。等保要求的是制度、流程与技术措施的整体闭环,开源HIDS和基线扫描能提供日志留存、入侵告警、配置核查等证据,但需要你自己补齐审计周期、责任人与整改记录。建议把工具输出整理成月度安全报告,作为测评佐证材料。