OpenVAS/GVM配置扫描任务的规则集本质是选择并调整预编译NVT集合,而非编写自定义规则;需手动启用SSH、数据库、Web应用等关键Family,禁用DoS类测试,并为Windows目标启用SMB/Windows Family且确保NetBIOS解析正常。

怎么用 OpenVAS/GVM 配置扫描任务的规则集
OpenVAS(现称 GVM)不靠“自定义规则语法”工作,而是绑定预编译的 NVT(Network Vulnerability Tests)集合。所谓“配置规则”,本质是选对 Scan Config 并启用/禁用特定 NVT Family,而不是写 if-else 逻辑。
常见错误:新建 Scan Config 时 Base 选了 Full and fast 就以为万事大吉——它默认跳过 SSH、SNMP、数据库等高风险协议检测,漏报率极高。
- 必须手动编辑 Scan Config → 点击
Select all NVT’s→ 展开SSH server、Database、Web application等 Family,勾选对应条目 - 若目标含内网 Windows 主机,需额外启用
SMB和WindowsFamily,并确保扫描器能解析 NetBIOS 名称(建议配 DNS 或 hosts) - 禁用
Denial of Service类测试(如DoS: HTTP flood),否则可能触发业务中断——这不是“漏扫”,是主动攻击
如何限制 Lynis 扫描范围避免误报
lynis 默认全盘检查,但生产环境常需跳过特定路径或测试项,否则会把容器临时目录、CI/CD 构建产物当成安全隐患。
典型误报场景:FILE-6310(/tmp 挂载选项缺失)在 Kubernetes 节点上必然触发,因为 /tmp 是 tmpfs;BOOT-5122(GRUB 密码未设)在云主机上无意义,因引导过程不可交互。
- 跳过单个测试:加
--skip-test "BOOT-5122"或--skip-test "FILE-6310" - 跳过整个类别:用
--skip-category "boot"或--skip-category "filesystem" - 只跑指定项:
--tests "kernel,authentication,firewall",比--enable-tests更精准 - 注意:所有 skip 参数必须放在命令末尾,否则被忽略
为什么 Nikto 的 -evasion 参数不能乱开
nikto 的 -evasion 选项本质是 URL 编码变形(如 /%2e%2e/etc/passwd),用来绕过 WAF。但它不是“增强扫描效果”,而是增加误报和漏报概率的双刃剑。
真实影响:
- 开启
-evasion 3(多重编码)后,部分 Web 服务器返回 400,Nikto 直接跳过该路径,导致关键漏洞(如路径遍历)未被探测 - 某些 CDN 或云 WAF 会将编码请求标记为恶意流量,触发 IP 封禁——扫描还没结束就被踢出
- 默认不启用时,Nikto 用标准 HTTP 方法 + 原始 payload,兼容性最好;仅当明确知道目标有 WAF 且已确认其规则缺陷时才考虑启用
怎样让 debsecan 或 dnf updateinfo 只关注高危漏洞
Linux 发行版自带的漏洞工具(如 Debian 的 debsecan、RHEL 的 dnf updateinfo)输出冗长,真正要修复的只是 Critical 和 High 级别漏洞。
直接过滤比后期人工筛选快得多:
- Debian/Ubuntu:
debsecan --suite bookworm --format detail --severity critical,high - RHEL/CentOS 8+:
dnf updateinfo list updates --security | grep -E "(Critical|Important)"(注意:Important对应 CVSS ≥7.0,等效于 High) - 避免用
dnf --security upgrade全量升级——它会强制更新所有安全包,包括低风险补丁,可能引发兼容性问题
最易被忽略的一点:这些工具依赖本地 CVE 数据库缓存,debsecan --update 或 dnf makecache 必须定期执行,否则查不到新公布的漏洞。


















