温馨提示×

Linux exploit怎样进行加固

小樊
39
2025-12-12 00:42:39
栏目: 智能运维

Linux 系统防 Exploit 加固清单

一 系统与软件更新

  • 保持内核与软件包为最新,优先安装安全补丁;生产环境先在测试环境验证再上线。
  • 启用自动安全更新:
    • RHEL/CentOS 8+:执行 sudo dnf install -y dnf-automatic && sudo systemctl enable --now dnf-automatic.timer,或按需运行 sudo dnf update --security
    • Ubuntu/Debian:执行 sudo apt install -y unattended-upgrades && sudo dpkg-reconfigure --priority=low unattended-upgrades
  • 定期审计并更新中间件、框架与依赖库,避免“已知漏洞未修补”。

二 服务与端口最小化

  • 仅安装与业务必需组件,卸载或屏蔽无用软件包。
  • 列出并禁用不需要的服务:
    • 查看运行服务:sudo systemctl list-units --type=service --state=running
    • 停用并禁止开机启动:sudo systemctl stop <svc> && sudo systemctl disable <svc>,必要时 sudo systemctl mask <svc>
  • 关闭高危端口与服务(如非必需的 FTP、Telnet、VNC、蓝牙 等),减少攻击面。

三 远程访问与身份鉴别

  • SSH 安全基线(修改 /etc/ssh/sshd_config):
    • 禁用 root 直登:PermitRootLogin no
    • 强制密钥登录:PasswordAuthentication noPubkeyAuthentication yes
    • 限制可登录用户:AllowUsers <user>@<cidr>
    • 会话保活:ClientAliveInterval 300ClientAliveCountMax 3
    • 可改端口:Port 2222(避开常见扫描端口)
  • 使用 fail2ban 防御暴力破解:
    • 配置 [sshd] 监狱:enabled = trueport = 2222maxretry = 3bantime = 3600findtime = 600
  • 强化认证:
    • 使用 SSH 密钥 替代口令,禁用空口令与弱口令;
    • 通过 sudo 实施最小权限,避免共享 root。

四 强制访问控制与内核防护

  • 启用 SELinux(RHEL/CentOS 常见默认启用):
    • 查看状态:getenforce;如需启用,编辑 /etc/selinux/config 设置 SELINUX=enforcing 并重启。
  • 或启用 AppArmor(Debian/Ubuntu 常用):
    • 安装:sudo apt-get install apparmor;查看状态:sudo aa-status
  • 启用编译器与内核层面的漏洞缓解:
    • 编译期保护:开启 StackGuard/CanaryStackShieldFormatGuardLibsafe 等机制,降低栈/格式化字符串/堆溢出成功率。
    • 运行期保护:启用 NX/DEP(不可执行栈/页)ASLR、以及针对 return-to-libc 等技术的缓解;必要时结合 PaX 等增强方案。

五 日志审计、入侵检测与应急响应

  • 集中与加固日志:
    • 使用 rsyslog/syslog 收集日志,重点审计 /var/log/secure/var/log/auth.log/var/log/syslog
    • 部署 Logwatch/ELK 做日常分析与告警。
  • 完整性校验与审计:
    • 使用 AIDE 定期校验关键文件完整性;
    • 启用 auditd 记录关键系统调用与文件访问。
  • 入侵检测/防御:
    • 部署 Snort/Suricata(网络层 IDS/IPS)与主机加固基线联动。
  • 备份与演练:
    • 对关键数据执行周期性备份(离线/异地),并定期验证可恢复性。
  • 事件响应流程要点:
    • 立即隔离受害主机、保护现场并采集日志/内存/网络流量证据;
    • 评估影响范围,修补漏洞(如升级内核/组件),清理后分阶段恢复服务;
    • 复盘并更新防护策略与监控规则。

0