如何制定CentOS Exploit防范策略
小樊
43
2025-11-29 23:22:41
CentOS Exploit 防范策略
一 基线与加固策略
- 最小化安装与攻击面收敛:仅安装必需组件,关闭不需要的服务与端口;使用命令查看并禁用无用服务(如 systemctl list-unit-files | grep enabled),用 netstat/ss 检查开放端口并关闭高危端口。
- 及时更新与补丁管理:定期执行 yum/dnf update;启用 yum-cron 自动安全更新;必要时优先应用安全补丁(yum update --security)。
- 防火墙默认拒绝:使用 firewalld 或 iptables 实施“默认拒绝、按需放行”,仅对外开放业务必需端口(如 22/80/443)。
- SSH 安全:禁止 root 远程登录(PermitRootLogin no),改用普通用户 + sudo;优先使用 SSH 密钥 认证并禁用密码登录(PubkeyAuthentication yes,PasswordAuthentication no);必要时更改默认端口并做好变更记录。
- 用户与权限:遵循最小权限原则,细化 sudoers 授权;清理无用/默认账户,锁定长期未用账号。
- SELinux 强制访问控制:保持 SELinux enforcing,仅在兼容性问题时临时设为 permissive 并排错,避免长期关闭。
- 日志与审计:启用并守护 auditd,集中采集关键日志(/var/log/secure、/var/log/messages、journalctl),为取证与告警提供依据。
二 检测与监控
- 持续漏洞扫描与合规审计:定期使用 OpenVAS/Nessus/GVM 进行漏洞评估,配合 Lynis 做系统基线加固检查;对 Web 服务使用 Nikto 等专用扫描器。
- 系统与网络态势监测:用 Nmap 做端口与服务指纹盘点;用 Wireshark/tcpdump 抓包分析可疑流量;结合 OSSEC 做日志分析与文件完整性校验。
- 入侵检测/防御:部署 Snort 等 IDS/IPS 实时监控恶意行为;对 SSH 等暴力破解场景启用 Fail2Ban 自动封禁。
- 完整性校验:使用 AIDE 建立文件基线并定期校验,及时发现被篡改的可执行文件与配置。
三 应急响应流程
- 事件确认与影响评估:检查异常网络连接、进程、登录失败与可疑定时任务;评估受影响范围与数据风险。
- 隔离与止血:立即将受害主机从网络隔离(下线/ACL 封禁),关闭非必要服务与端口,防止横向扩散。
- 取证与溯源:保全关键证据(/var/log/、journalctl、网络连接、tcpdump 抓包、AIDE 基线差异),记录时间线与操作。
- 漏洞修复与系统清理:依据漏洞类型及时升级内核/软件包、修补配置缺陷;必要时重建 initramfs 与 GRUB2 环境,清理可疑用户/SSH 公钥/定时任务/启动项。
- 恢复与验证:分阶段恢复业务,完成全面安全扫描与基线核查,确认无后门与残留风险后再上线。
- 复盘改进:优化防火墙与 Fail2Ban 策略、补齐监控告警盲区、完善备份与演练计划。
四 关键配置示例
- 自动安全更新(yum-cron)
- 启用服务:sudo systemctl enable --now yum-cron
- firewalld 仅放行必要端口
- 示例:sudo firewall-cmd --permanent --zone=public --add-service=ssh --add-service=http --add-service=https && sudo firewall-cmd --reload
- SSH 加固(/etc/ssh/sshd_config)
- Port 2222(示例)
- PermitRootLogin no
- PubkeyAuthentication yes
- PasswordAuthentication no
- 重启服务:sudo systemctl restart sshd
- 密码策略与复杂度(示例)
- /etc/login.defs:PASS_MAX_DAYS 90;PASS_MIN_DAYS 7;PASS_MIN_LEN 12;PASS_WARN_AGE 7
- PAM:在 /etc/pam.d/system-auth 增加
- password requisite pam_pwquality.so retry=3 minlen=12 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
- password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok remember=50
- Fail2Ban 保护 SSH(/etc/fail2ban/jail.local)
- [sshd] enabled = true;port = ssh;filter = sshd;logpath = /var/log/secure;maxretry = 3;bantime = 3600
- 完整性校验(AIDE)
- 初始化:sudo aide --init;生成数据库后替换默认数据库
- 校验:sudo aide --check(建议纳入定时任务)
五 运维与治理机制
- 备份与恢复演练:对关键数据与配置做定期离线/异地备份,并进行周期性恢复演练,确保真实可用。
- 变更与发布管理:SSH 端口变更、防火墙策略调整、sudoers 授权等均需变更单+回滚预案,先在测试环境验证。
- 安全基线与合规:以 Lynis 结果与 CIS/CentOS 基线为准绳,形成持续合规与月度/季度审计机制。
- 安全意识培训:面向运维与开发进行弱口令、钓鱼与社会工程学培训,降低人为风险。