阅读量:209
CentOS安全漏洞修补指南
1. 确认漏洞信息
在修补前,需先明确系统受影响的漏洞范围。可通过以下方式确认:
- 查看系统版本(如
cat /etc/centos-release); - 参考CentOS官方安全公告(如CentOS Security Advisories)或CVE数据库(如cve.mitre.org),确认漏洞是否影响当前系统及受影响软件的版本范围(例如OpenSSH的CVE-2024-6387漏洞会影响8.5p1到9.7p1版本)。
2. 备份重要数据
修补操作前,务必备份关键数据和配置文件,防止操作失误导致数据丢失。需备份的内容包括:
- 系统配置文件(如
/etc/ssh/sshd_config、/etc/sysconfig/iptables); - 用户数据(如
/home目录、数据库文件); - 业务应用配置及数据库(如MySQL的
/var/lib/mysql目录)。
3. 手动更新系统及软件包
使用yum(CentOS 7及以下)或dnf(CentOS 8及以上)命令更新系统和软件包,这是修复已知漏洞的核心步骤:
- 更新所有软件包及安全补丁:运行
sudo yum update -y(或sudo dnf update -y),系统会自动检查并安装可用的安全更新; - 更新特定软件包:若已知某软件(如OpenSSH、OpenSSL)存在漏洞,可针对性更新,例如
sudo yum update openssh openssl -y。
4. 配置自动安全更新
为减少人工操作风险,建议配置自动更新安全补丁的工具:
- 使用yum-cron(CentOS 7及以下):
- 安装yum-cron:
sudo yum install yum-cron -y; - 编辑配置文件
/etc/yum/yum-cron.conf,设置以下参数为yes:update_cmd=security(仅更新安全补丁)、update_messages=yes(发送更新通知)、download_updates=yes(下载补丁)、apply_updates=yes(自动应用补丁); - 启动并启用服务:
sudo systemctl start yum-cron、sudo systemctl enable yum-cron。
- 安装yum-cron:
- 使用unattended-upgrades(CentOS 7及以上):
- 安装unattended-upgrades:
sudo yum install unattended-upgrades -y; - 启用安全更新:
sudo dpkg-reconfigure --priority=low unattended-upgrades(选择“是”开启安全更新); - 启动并启用服务:
sudo systemctl start unattended-upgrades、sudo systemctl enable unattended-upgrades。
- 安装unattended-upgrades:
5. 升级内核版本(针对内核漏洞)
若漏洞涉及Linux内核(如CVE-2024-1086),需升级内核版本以修复:
- 更新yum源:
sudo yum -y update; - 安装最新主线内核(通过elrepo仓库):
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y; - 更新grub2引导配置:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg; - 重启系统:
sudo reboot,重启后通过uname -r确认内核版本已更新。
6. 强化系统安全配置
修补漏洞后,需通过配置强化系统安全性,降低后续被攻击的风险:
- 配置防火墙:使用
firewalld(推荐)或iptables限制不必要的网络访问,例如仅允许SSH(端口22)和HTTP(端口80)流量:sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload - 禁用不必要的服务:通过
systemctl list-unit-files --type=service查看运行中的服务,禁用不需要的服务(如telnet、ftp):sudo systemctl stop telnet && sudo systemctl disable telnet; - SSH安全配置:修改
/etc/ssh/sshd_config文件,设置PermitRootLogin no(禁止root远程登录)、PasswordAuthentication no(禁用密码登录,改用密钥认证)、Port 2222(修改默认端口),然后重启SSH服务:sudo systemctl restart sshd; - 使用安全工具:安装
fail2ban防止暴力破解,配置自动封禁多次登录失败的IP:sudo yum install fail2ban -y,编辑/etc/fail2ban/jail.local启用SSH防护。
7. 定期安全审计与扫描
修补后需定期检查系统安全性,及时发现新的漏洞:
- 使用漏洞扫描工具:如
OpenVAS(开源漏洞扫描器),定期扫描系统以识别潜在漏洞; - 检查系统日志:通过
journalctl -xe(实时日志)或logwatch(日志分析工具)查看系统日志,及时发现异常登录、文件修改等行为; - 定期手动检查:核对系统配置(如
/etc/passwd中的用户权限)、软件版本(如ssh -V、openssl version),确保符合安全标准。