CentOS 防范 Exploit 攻击的实用清单
一 基础加固
- 保持系统与软件更新:定期执行 yum/dnf update,并建议启用 yum-cron/dnf-automatic 自动安装安全补丁,第一时间修复已知漏洞。
- 最小化安装与清理:安装时选择 Minimal Install,用 systemctl disable --now 关闭不需要的服务(如 FTP、Telnet、CUPS),减少攻击面。
- 账户与权限:遵循最小权限原则,日常使用普通用户并通过 sudo 提权;禁用 root 远程登录;设置强密码(长度≥8,包含大小写字母、数字、特殊字符),定期更换;仅对必要用户授予 sudo。
- 文件系统与关键文件:限制 /etc/shadow、/etc/ssh/sshd_config 等敏感文件权限;对关键目录设置合适的 umask;定期核查并清理无用账户与测试账号。
二 网络与 SSH 安全
- 防火墙策略:启用 firewalld,采用“默认拒绝、按需放行”的默认策略;仅开放必要端口(如 SSH 22/自定义端口、HTTP 80、HTTPS 443),必要时对 SSH 限制来源 IP 段。
- SSH 加固要点:
- 禁用 root 直登(PermitRootLogin no);
- 使用 SSH 密钥认证,必要时禁用密码登录(PasswordAuthentication no);
- 修改默认端口(如 Port 2222);
- 限制可登录用户/组(AllowUsers/AllowGroups);
- 降低暴力破解成功率(如 MaxAuthTries 3);
- 会话保活(如 ClientAliveInterval/ClientAliveCountMax)。
- 暴力破解防护:部署 fail2ban,对 /var/log/secure 的失败登录进行自动封禁。
三 强制访问控制与系统审计
- SELinux:保持 SELinux 为 enforcing 模式(用 getenforce 检查),通过 semanage 等工具按业务需要调整策略,避免直接关闭;为关键服务设置正确的 SELinux 上下文。
- 审计与日志:启用 auditd 记录关键系统调用与文件访问,使用 ausearch/aureport 分析;集中收集 /var/log/secure、/var/log/messages,并配置 logrotate 做日志轮转与留存。
- 完整性校验:使用 AIDE/Tripwire 对系统关键文件做基线校验与变更告警,及时发现被篡改的可执行文件与配置。
四 入侵检测、恶意代码防护与备份恢复
- 入侵检测/防御:部署 Snort/Suricata 等 IDS/IPS,对端口扫描、恶意流量与可疑载荷进行实时告警与阻断。
- 恶意代码防护:安装 ClamAV 并更新病毒库,定期扫描邮件、下载目录与 Web 根目录,降低木马/后门落地风险。
- 漏洞扫描与核查:定期使用 OpenVAS/Nessus 扫描系统漏洞,配合 nmap -sV localhost 核查本机开放端口与服务版本,及时修补。
- 备份与演练:对 配置文件、数据库、用户数据 实施定期备份(如 rsync/tar 或专业备份工具),并进行可恢复性演练;重要备份建议异地/离线存放。
五 事件响应与持续运营
- 处置流程:
- 确认与评估:检查网络连接、分析 /var/log/secure 与审计日志、用 netstat/tcpdump 观察异常;
- 隔离与保护:立即隔离受害主机或网段,关闭不必要端口/服务;
- 取证与分析:保全日志、进程、网络连接与关键文件哈希等证据;
- 清理与修复:依据漏洞类型升级组件/内核、修正错误配置、必要时重建 initramfs/GRUB2;
- 恢复与验证:分批恢复业务,进行全面安全扫描与回归测试;
- 改进加固:复盘并更新防火墙、SSH、sudo、SELinux、fail2ban、IDS/IPS 与备份策略。
- 持续运营:将“更新与补丁、配置基线核查、日志审计、漏洞扫描、备份验证”纳入周期性例行工作,并保留变更记录与审计报告。