如何检测Linux系统漏洞
小樊
38
2026-01-02 14:08:44
Linux系统漏洞检测实操指南
一、检测思路与流程
- 资产梳理与暴露面确认:明确系统角色(如Web/DB/DNS)、对外IP/域名、开放端口/服务与访问路径。
- 本地配置与合规审计:检查SSH、文件权限、日志、内核参数、防火墙等是否符合CIS等基线要求。
- 软件包与CVE比对:对内核、glibc、OpenSSL、Apache/Nginx、数据库等关键组件做CVE匹配与风险分级。
- 网络与主机漏洞扫描:结合端口/服务识别与漏洞插件进行深度扫描,区分高危与误报。
- 入侵痕迹与完整性校验:排查rootkit/后门、异常进程、隐藏文件与关键配置变更。
- 日志与行为分析:集中采集auth.log、syslog、journald,必要时联动HIDS/IDS与SIEM进行关联告警。
- 修复与复测:按风险等级制定修复计划,完成补丁/配置加固后进行回归扫描与基线复核。
二、本地安全审计与配置检查
- Lynis 本地审计
- 安装与运行:sudo apt install lynis -y && sudo lynis audit system
- 关注输出中的Warning/Suggestion,并查看日志**/var/log/lynis.log**;常见项包括SSH加固、日志轮转、防火墙状态等。
- 合规基线扫描(OpenSCAP)
- Ubuntu 22.04 示例:sudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_cis /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml
- 文件完整性监控(AIDE)
- 初始化:sudo aideinit;每日检查:/usr/bin/aide --check | mail -s “AIDE Report $(hostname)” admin@example.com
- 账户与SSH安全
- 空口令账户:awk -F: ‘($2 == “” ) {print $1}’ /etc/shadow
- SSH配置核查:sshd -T | egrep ‘permitrootlogin|passwordauthentication|maxauthtries’
- 推荐:PermitRootLogin prohibit-password;PasswordAuthentication no;MaxAuthTries 3
- 审计与变更监控(auditd)
- 监控/etc:sudo auditctl -w /etc/ -p wa -k etc_changes;查询:ausearch -k etc_changes | aureport -f -i
三、软件包与CVE漏洞比对
- Debian/Ubuntu 系
- 列出可升级:apt list --upgradable
- 已知漏洞检查:sudo apt install debsecan -y && debsecan --suite bookworm --format detail
- RHEL/CentOS/Fedora 系
- 安全更新列表:sudo dnf updateinfo list updates --security(或使用 yum)
- 通用做法
- 对OpenSSL、Apache、Nginx、内核等关键组件,结合CVE/NVD条目进行版本比对与风险分级,优先修复Critical/High级别问题。
四、网络与主机漏洞扫描
- 端口与服务识别(Nmap)
- 本机监听:nmap -sT localhost
- 远程识别与服务探测:nmap -A 目标IP
- 全端口与服务脚本:nmap -sS -Pn -T4 -p- -A -v 目标IP
- 漏洞扫描平台(OpenVAS/GVM)
- 启动服务:sudo gvm-start
- Web 界面:访问 https://localhost:9392,创建任务(如Full and fast),导出PDF/HTML报告
- 商业与专业方案(Nessus)
- 访问 https://:8834 创建扫描任务,覆盖系统与应用的CVE检测
- Web 应用专项(Nikto/ZAP)
- Nikto:nikto -h 目标URL
- ZAP:使用主动/被动扫描与基线策略进行Web漏洞发现
五、入侵痕迹与完整性校验及修复闭环
- Rootkit/后门检测
- rkhunter:sudo apt install rkhunter -y && sudo rkhunter --propupd && sudo rkhunter --check(日志:/var/log/rkhunter.log)
- chkrootkit:sudo chkrootkit
- 恶意软件查杀
- ClamAV:sudo apt install clamav -y && sudo freshclam && sudo clamscan -r /tmp /var/www
- 完整性监控与审计
- Tripwire/AIDE 建立基线数据库,定期校验关键目录(如**/etc、/usr/bin、/var/www**)
- auditd 持续记录敏感路径变更,配合 ausearch/aureport 输出报表
- 日志与威胁检测
- 集中与持久化:配置 rsyslog 远程日志、启用 journald 持久化
- 入侵检测:部署 OSSEC/HIDS 或 Snort/IDS 做日志分析与实时告警
- 修复与复测
- 按风险等级排序:优先处理Critical/High;内核/中间件采用滚动升级与回滚预案
- 变更后执行回归扫描(OpenVAS/Nessus)、基线复核(Lynis/OpenSCAP)与完整性校验(AIDE/Tripwire)
- 安全加固要点
- 最小化暴露面:关闭不必要端口/服务,仅开放必要端口并限制来源
- 强化访问控制:SSH 禁用root登录、使用密钥登录、限制sudo范围
- 运行时防护:启用 SELinux/AppArmor,配置防火墙(nftables/ufw)与日志审计策略