Linux 漏洞管理是“发现—评估—修复—验证”闭环流程。需双轨发现(自动化扫描 + 人工追踪)、基于影响面评估、分类修复(包升级 / 配置禁用 / 内核更新)、三层面验证(技术 / 功能 / 日志)。

Linux 系统漏洞管理不是一次性的修补动作,而是一套闭环的持续运营流程。核心在于“发现—评估—修复—验证”四个环节环环相扣,缺一不可。实际操作中,跳过评估直接打补丁、或修复后不验证,是导致问题反复甚至引发新故障的常见原因。
漏洞发现:主动扫描 + 主动追踪
不能只等漏洞爆发才行动。要建立双轨发现机制:
- 自动化扫描 :每月至少用 OpenVAS 或 Nessus 对全系统做一次深度扫描;对关键服务器(如数据库、网关)可提高到每周一次。扫描前备份 配置文件(如/etc/ssh/sshd_config),避免误改影响服务。
- 人工信息追踪 :订阅 CVE 官网、厂商安全通告(如 Ubuntu Security Notices、Red Hat Security Advisories),关注与当前 系统版本 匹配的 CVE-ID。也可用命令快速检查可更新项:
sudo apt list --upgradable(Debian/Ubuntu)或sudo yum updateinfo list security(RHEL/CentOS)。
漏洞评估:看严重性,更要看影响面
CVE 评分(CVSS)只是起点。真正决定修复优先级的是两件事:
- 是否影响核心组件 :比如 CVE-2016-5195(Dirty COW)直接影响内核内存管理,哪怕评分 7.8 也必须立即处理;而一个仅影响某个测试 工具 的低分漏洞,可延后。
- 是否暴露在公网或高风险网络:同一漏洞,部署在 DMZ 区的 Web 服务器比内网管理节点风险高得多。SSH 服务若允许密码登录 +root 远程访问,即使只是中危配置漏洞,也要优先加固。
漏洞修复:按类型选择合适方式
没有万能补丁,修复方法取决于漏洞根源:
- 系统 / 软件包漏洞:用官方包管理器升级。例如:
sudo apt update && sudo apt upgrade -y(Ubuntu)sudo dnf update --security(Fedora,仅更新安全补丁)。 - 服务配置类漏洞 :禁用非必要服务并关闭对应 端口 。例如:
sudo systemctl disable telnet.socket && sudo systemctl stop telnet.socket;再用sudo ss -tlnp确认端口已关闭。 - 内核级漏洞 (如 Spectre/Meltdown):需更新内核包,并重启生效。
sudo apt install linux-image-generic(Ubuntu)sudo reboot后用uname -r确认版本已变更。
修复验证:不止看“有没有报错”,要看“能不能用”
验证必须包含三个层面:
- 技术层面 :用原扫描工具复扫,确认该 CVE-ID 不再出现在报告中;检查
journalctl -u和/var/log/syslog,确认无启动失败或异常告警。 - 功能层面:对关键业务路径做冒烟测试。例如 SSH 修复后,尝试密钥登录、SFTP 上传、端口转发等常用操作是否正常。
- 日志留痕:记录修复时间、CVE 编号、操作命令、验证结果。这不仅是审计要求,也是下次排查同类问题的重要参考。