游客发表

centos7系统漏洞及加固

发帖时间:2026-10-17 05:02:02

CentOS 7 在 2024 年 6 月 30 日已经正式停止维护(EOL)。系统这意味着官方不再提供任何安全补丁,漏洞yum 源里的及加更新也彻底冻结。我手头还有三台跑着 CentOS 7.9 的系统旧业务机,每次登录看到内核版本停在 3.10.0-1160,漏洞心里都清楚——这台机器现在就是及加个活靶子。

最要命的系统是内核漏洞。CentOS 7 默认的漏洞 3.10 内核太老了,Dirty Pipe(CVE-2022-0847)这种能直接提权的及加洞,官方补丁只推到了 3.10.0-1160.59.1 就停了。系统后面新出的漏洞 CVE,比如 CVE-2023-32233(netfilter nf_tables 释放后重用),及加压根没有 CentOS 7 的系统包。攻击者拿到一个低权限 shell 就能直接干到 root,漏洞中间不需要任何花哨操作。及加我见过一台暴露在公网的测试机,被人用 nf_tables 漏洞提权后装了挖矿程序,CPU 跑满 800%,负载高到 SSH 都连不上去。

OpenSSL 的问题同样严重。CentOS 7 自带 OpenSSL 1.0.2k,这个版本连 TLS 1.3 都不支持,更别说一堆 CVE 了。CVE-2022-0778(BN_mod_sqrt 无限循环)能让 openssl 进程卡死,如果跑着 HTTPS 服务,直接拒绝服务。很多人觉得内网就没事,但内网横向移动的案例还少吗?一台机器被钓鱼邮件攻破,攻击者用 SSH 密钥扫全网,OpenSSL 漏洞就是现成的跳板。

加固的第一刀应该砍在 SSH 上。默认配置允许 root 登录、允许密码认证,这两条在 EOL 系统上等于把门敞开。改成 PermitRootLogin no、PasswordAuthentication no,只留密钥登录。别嫌麻烦,我见过太多因为弱密码被爆破的案例。有个客户的内网机器,root 密码是 P@ssw0rd,攻击者用 hydra 跑了不到十分钟就进去了。

防火墙别只依赖 firewalld 的默认区域。CentOS 7 的 firewalld 版本是 0.6.3,有些规则处理逻辑和现在的不一样。建议直接上 iptables 或者 nftables 写明确规则,只放行必要端口。我自己的机器上,除了 22 和业务端口,其他全部 DROP,连 ICMP 都限制速率。虽然有点极端,但 EOL 系统没资格谈“方便”。

SELinux 别关。很多人装完系统第一件事就是 setenforce 0,然后改配置文件永久禁用。CentOS 7 的 SELinux 策略虽然老,但挡住一些常见提权路径还是没问题的。至少保持 enforcing 模式,遇到权限问题用 audit2allow 生成策略,别直接关。我见过一台被入侵的机器,SELinux 是 disabled 状态,攻击者用 sudo 漏洞提权后直接改了 /etc/shadow,如果 SELinux 开着,这个操作会被拦截。

软件层面,能编译安装的就别用 yum。比如 Nginx、OpenSSH,自己下源码编译最新稳定版,打上所有安全补丁。CentOS 7 的 OpenSSH 是 7.4p1,这个版本有 CVE-2023-38408(ssh-agent 远程代码执行),虽然利用条件苛刻,但能换就换。编译的时候记得开 --with-ssl 指向新版的 OpenSSL,别用系统自带的 1.0.2。

最后说个实在的:如果业务允许,赶紧迁。CentOS 7 的替代品很多,Rocky Linux 9、AlmaLinux 9 都是 RHEL 9 的复刻,迁移成本比想象中低。我上个月把一台跑着 MySQL 5.7 的 CentOS 7 迁到 Rocky 9,用 mysqldump 导出导入,前后不到两小时。实在迁不动的,至少把内核换成 ELRepo 的 kernel-lt 或者 kernel-ml,能缓解一部分内核漏洞压力。但这不是长久之计,EOL 系统就像过期的罐头,看着没坏,吃下去才知道后果。

    热门排行

    友情链接