温馨提示×

如何制定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)。
  • 防火墙默认拒绝:使用 firewalldiptables 实施“默认拒绝、按需放行”,仅对外开放业务必需端口(如 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 做日志分析与文件完整性校验。
  • 入侵检测/防御:部署 SnortIDS/IPS 实时监控恶意行为;对 SSH 等暴力破解场景启用 Fail2Ban 自动封禁。
  • 完整性校验:使用 AIDE 建立文件基线并定期校验,及时发现被篡改的可执行文件与配置。

三 应急响应流程

  • 事件确认与影响评估:检查异常网络连接、进程、登录失败与可疑定时任务;评估受影响范围与数据风险。
  • 隔离与止血:立即将受害主机从网络隔离(下线/ACL 封禁),关闭非必要服务与端口,防止横向扩散。
  • 取证与溯源:保全关键证据(/var/log/、journalctl、网络连接、tcpdump 抓包、AIDE 基线差异),记录时间线与操作。
  • 漏洞修复与系统清理:依据漏洞类型及时升级内核/软件包、修补配置缺陷;必要时重建 initramfsGRUB2 环境,清理可疑用户/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 基线为准绳,形成持续合规月度/季度审计机制。
  • 安全意识培训:面向运维与开发进行弱口令、钓鱼与社会工程学培训,降低人为风险。

0