CentOS系统防止Exploit攻击的核心措施
yum update或dnf update命令,及时修补内核、软件包中的已知漏洞;启用yum-cron自动更新,确保系统始终处于最新安全状态。systemctl list-unit-files | grep enabled查看并关闭无用服务(如FTP、邮件服务),用netstat -antupl或ss -tulnp检查开放端口,关闭高风险端口(如23/tcp、135/tcp)。/etc/login.defs文件配置密码有效期(如PASS_MAX_DAYS 90、PASS_WARN_AGE 7);使用chage命令强制用户定期修改密码(如chage -M 30 -W 7 <用户名>)。firewalld(推荐)或iptables配置规则,仅开放必要端口(如SSH的22/tcp、HTTP的80/tcp、HTTPS的443/tcp)。例如,firewall-cmd --permanent --add-service=ssh添加SSH服务,firewall-cmd --reload应用规则;通过firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="22" protocol="tcp" accept'限制特定IP段访问SSH。/etc/ssh/sshd_config文件,禁用root直接登录(PermitRootLogin no)、更改默认端口(如Port 2222)、限制登录用户(AllowUsers your_username)、设置最大认证尝试次数(MaxAuthTries 3);重启SSH服务使配置生效(systemctl restart sshd)。PasswordAuthentication no),配置SSH密钥对(ssh-keygen -t rsa生成密钥,ssh-copy-id your_username@server_ip复制公钥);安装fail2ban(yum install fail2ban),配置/etc/fail2ban/jail.local文件,自动封禁多次登录失败的IP(如[sshd] enabled = true maxretry = 3 bantime = 3600)。sudoers文件(visudo命令编辑)精细化控制用户命令执行权限(如username ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart sshd)。adm、lp、sync),锁定长期不用的账户(passwd -l username);检查空口令账户(awk -F: '$2==""' /etc/shadow),强制设置密码;修改/etc/passwd、/etc/shadow等文件的权限(chmod 600 /etc/shadow),防止未授权访问。/etc/selinux/config文件,设置SELINUX=enforcing(强制模式),通过setenforce 1立即生效;使用semanage命令配置SELinux策略(如允许Apache访问特定目录),限制程序行为,降低漏洞利用风险。auditd服务(systemctl enable auditd && systemctl start auditd),记录系统活动(如用户登录、文件修改、命令执行);定期检查/var/log/audit/audit.log日志,使用ausearch或aureport工具分析异常行为(如ausearch -m avc -ts today查看SELinux拒绝事件)。/var/log/secure(SSH登录日志)、/var/log/messages(系统日志)等文件,使用journalctl -u sshd过滤SSH相关日志,识别异常登录(如异地IP、频繁失败);部署ELK Stack(Elasticsearch+Logstash+Kibana)集中分析日志,实现实时告警。rsync(rsync -av /path/to/source /path/to/destination)、tar(tar -czvf backup.tar.gz /path/to/data)等工具定期备份系统配置、数据库、用户数据;将备份文件存储在独立的安全位置(如异地服务器、云存储),确保遭受攻击(如勒索软件)后可快速恢复。