CentOS安全漏洞修补指南
在修补前,需先明确系统受影响的漏洞范围。可通过以下方式确认:
cat /etc/centos-release);修补操作前,务必备份关键数据和配置文件,防止操作失误导致数据丢失。需备份的内容包括:
/etc/ssh/sshd_config、/etc/sysconfig/iptables);/home目录、数据库文件);/var/lib/mysql目录)。使用yum(CentOS 7及以下)或dnf(CentOS 8及以上)命令更新系统和软件包,这是修复已知漏洞的核心步骤:
sudo yum update -y(或sudo dnf update -y),系统会自动检查并安装可用的安全更新;sudo yum update openssh openssl -y。为减少人工操作风险,建议配置自动更新安全补丁的工具:
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。sudo yum install unattended-upgrades -y;sudo dpkg-reconfigure --priority=low unattended-upgrades(选择“是”开启安全更新);sudo systemctl start unattended-upgrades、sudo systemctl enable unattended-upgrades。若漏洞涉及Linux内核(如CVE-2024-1086),需升级内核版本以修复:
sudo yum -y update;sudo yum --enablerepo=elrepo-kernel install kernel-ml -y;sudo grub2-mkconfig -o /boot/grub2/grub.cfg;sudo reboot,重启后通过uname -r确认内核版本已更新。修补漏洞后,需通过配置强化系统安全性,降低后续被攻击的风险:
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;/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防护。修补后需定期检查系统安全性,及时发现新的漏洞:
OpenVAS(开源漏洞扫描器),定期扫描系统以识别潜在漏洞;journalctl -xe(实时日志)或logwatch(日志分析工具)查看系统日志,及时发现异常登录、文件修改等行为;/etc/passwd中的用户权限)、软件版本(如ssh -V、openssl version),确保符合安全标准。