CentOS系统加强安全以防范Exploit攻击的关键措施
遵循“最小安装”原则,仅安装运行业务必需的基础组件(如服务器角色选择时取消不必要的桌面环境、开发工具),减少潜在攻击入口。通过systemctl list-unit-files | grep enabled查看已启用服务,关闭无用服务(如Telnet、FTP);使用netstat -antupl或ss -tulnp检查开放端口,仅保留必要端口(如SSH的22端口、Web服务的80/443端口),关闭高风险端口(如6666、3306等默认数据库端口)。
/etc/ssh/sshd_config文件,将PermitRootLogin yes改为no,重启SSH服务(systemctl restart sshd),防止攻击者通过暴力破解root密码直接登录。/etc/login.defs文件,调整密码参数:PASS_MAX_DAYS 90(密码最长使用90天)、PASS_MIN_LEN 14(密码最小长度14位)、PASS_WARN_AGE 7(过期前7天提醒);修改/etc/pam.d/system-auth文件,添加pam_pwquality.so模块,强制密码包含大小写字母、数字和特殊字符(如minlen=14 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root)。/etc/pam.d/su文件,添加auth required pam_wheel.so group=wheel,仅允许wheel组用户(如管理员)使用su切换到root,避免普通用户获取高权限。定期执行yum update命令,更新系统内核、软件包及安全补丁(如修复Linux内核堆缓冲区溢出漏洞CVE-2021-27365、sudo权限绕过漏洞CVE-2021-3156等)。启用yum-cron自动更新,设置每日检查并安装安全补丁,确保系统始终处于最新安全状态,减少已知漏洞被利用的风险。
使用firewalld配置严格的访问控制规则:
systemctl enable firewalld && systemctl start firewalld;firewall-cmd --permanent --add-service=ssh(开放SSH)、firewall-cmd --permanent --add-service=http(开放HTTP);firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'(仅允许内网IP访问);firewall-cmd --reload。启用SELinux(Security-Enhanced Linux),编辑/etc/selinux/config文件,将SELINUX=permissive改为SELINUX=enforcing(强制模式),重启系统生效。SELinux通过强制访问控制策略,限制进程对系统资源的访问权限(如禁止Apache进程读取/etc/shadow文件),即使攻击者通过Exploit获取进程权限,也无法轻易提权或窃取敏感数据。
修改/etc/ssh/sshd_config文件,增强SSH服务安全性:
Port 2222(避免默认22端口被扫描);PasswordAuthentication no,启用密钥认证(PubkeyAuthentication yes);MaxAuthTries 3(最多尝试3次密码,防止暴力破解);AllowUsers your_username(仅允许指定用户登录)。systemctl restart sshd。/var/log/secure记录SSH登录信息、/var/log/messages记录系统错误信息),使用logwatch工具生成每日日志报告,及时发现异常登录(如频繁失败的SSH尝试)、未授权访问等行为。netstat -anpt查看异常连接、rpm -Vf检查系统文件完整性(如/usr/bin/ps是否被篡改),修复漏洞(如升级受影响的内核版本),清理后门程序(删除异常进程、恢复被修改的文件),最后恢复系统服务。建立定期备份机制,使用rsync、tar或专业备份工具(如Veeam)备份系统配置文件(/etc)、用户数据(/home)、数据库(如MySQL的/var/lib/mysql)等重要数据,备份文件存储在异地(如云存储、NAS)或离线介质(如U盘、光盘)中。定期进行恢复演练,确保在遭受Exploit攻击(如数据加密勒索)时,能快速恢复系统和数据,减少损失。