CentOS安全漏洞 Exploit 的利用与防范
一 安全基线加固
二 漏洞检测与风险评估
三 常见漏洞与修复示例
| 漏洞/风险 | 影响 | 修复要点 |
|---|---|---|
| Sudo 堆溢出 CVE-2021-3156 | 本地普通用户可提权至 root | 升级 sudo 至安全版本(如 1.8.23-10.el7_9.1 或更高);验证修复后重启相关会话。 |
| OpenSSH 漏洞 CVE-2023-38408 | 远程代码执行风险 | 执行 yum update openssh-* 升级客户端与服务端组件,重启 sshd。 |
| libssh2 缓冲区错误 CVE-2020-22218 | 可能导致远程代码执行 | 执行 yum update libssh2 升级库文件。 |
| 内核漏洞(例:CVE-2023-35788) | 权限提升/拒绝服务 | 执行 yum update kernel-headers 等内核相关包;必要时重建 initramfs 与 GRUB2 配置并重启。 |
| OpenSSL 拒绝服务 CVE-2023-0286 | 服务可用性受影响 | 执行 yum update openssl openssl-libs 升级至修复版本。 |
| ISC BIND 漏洞 CVE-2022-38177 | 缓存投毒/拒绝服务 | 执行 yum update bind* 升级相关组件。 |
| 账户与SSH配置薄弱 | 暴力破解/未授权访问 | 禁用 root 远程登录、启用密钥登录、限制登录尝试、仅开放必要端口。 |
四 入侵处置与应急响应
五 面向 CentOS 7 的加固脚本示例
#!/usr/bin/env bash
# 1) 更新安全补丁(分批执行关键包)
yum clean all
yum -y update kernel
yum -y update sudo
yum -y update openssh-*
# 2) SSH 加固
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd
# 3) 防火墙仅放行必要服务(示例:放行 SSH 与 HTTP)
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload
# 4) SELinux 强制模式
sed -i 's/^SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config
# 5) 安装与启用审计与完整性检查
yum -y install auditd aide
systemctl enable --now auditd
aide --init && mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
# 6) 自动封禁暴力破解(fail2ban)
yum -y install epel-release
yum -y install fail2ban
systemctl enable --now fail2ban
# 7) 合规基线核查(OpenSCAP)
yum -y install openscap-scanner
oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_stig \
/usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml
提示:生产环境请先在测试环境验证脚本影响,分批执行并保留回滚方案。