CentOS系统应对Exploit攻击的安全建议
最小化安装与端口管控
安装CentOS时选择“最小安装”模式,仅保留系统运行必需的组件(如内核、bash、ssh等),避免安装不必要的软件包(如图形界面、办公软件),减少潜在攻击入口。安装完成后,使用systemctl list-unit-files --type=service命令列出所有服务,禁用未使用的服务(如telnet、ftp、cups等);通过netstat -tulnp或ss -tulnp命令检查开放端口,关闭高风险端口(如23/tcp、135-139/tcp、445/tcp等),仅保留业务必需的端口(如80/tcp、443/tcp、22/tcp)。
强化账户与权限管理
userdel <用户名>命令;锁定长期不用的账户(如测试账户),使用passwd -l <用户名>命令。/etc/login.defs文件,强制密码复杂度(至少14位,包含大小写字母、数字、特殊字符),设置密码有效期(最长90天,提前7天提醒),例如:PASS_MAX_DAYS 90、PASS_MIN_LEN 14、PASS_WARN_AGE 7。使用chage命令为用户设置密码过期时间,例如chage -M 30 -W 7 <用户名>。/etc/pam.d/su文件,添加auth required pam_wheel.so group=wheel,仅允许wheel组的用户使用su切换到root,增强root权限管控。SSH是远程管理的主要通道,需重点加固:
/etc/ssh/sshd_config文件,将PermitRootLogin yes修改为PermitRootLogin no,避免攻击者直接尝试破解root密码。Port 2222后重启SSH服务。ssh-keygen -t rsa),将公钥复制到服务器(ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip),修改/etc/ssh/sshd_config中的PasswordAuthentication no。MaxAuthTries 3,限制每个IP地址尝试登录的最大次数,防止暴力破解。firewalld(CentOS默认防火墙)配置精细化访问控制:
firewall-cmd --permanent --add-service=ssh(开放SSH)、firewall-cmd --permanent --add-service=http(开放HTTP)、firewall-cmd --permanent --add-service=https(开放HTTPS)。firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'。firewall-cmd --reload。/etc/selinux/config文件,将SELINUX=permissive修改为SELINUX=enforcing(强制模式),重启系统生效。若遇到应用程序兼容问题,可暂时设置为SELINUX=permissive(仅记录违规行为),待排查后再启用强制模式。sudo yum update -y命令定期更新系统内核、软件包及依赖项,修复已知漏洞。建议开启自动更新(如使用yum-cron),确保系统始终处于最新安全状态。/var/log/secure(认证日志)、/var/log/messages(系统日志)、/var/log/cron(定时任务日志)等文件,使用tail -f /var/log/secure实时监控异常登录行为(如多次失败登录、陌生IP登录)。/etc、/home、/var目录),分析日志定位攻击来源(如恶意IP、进程ID),修复漏洞(如更新系统、删除后门程序),恢复系统运行。rsync、tar等工具定期备份重要数据(如数据库、配置文件、用户文件),将备份存储在异地(如云存储、外部硬盘),确保数据在遭受攻击(如勒索软件、误删除)后可快速恢复。gpg加密单个文件,防止数据泄露。通过以上措施的综合应用,可显著降低CentOS系统遭受Exploit攻击的风险,提升系统安全性。需注意的是,安全是一个持续过程,需定期审查安全策略(如每季度更新防火墙规则、每月进行漏洞扫描),应对不断变化的安全威胁。