温馨提示×

linux exploit怎么防护

小樊
46
2026-09-30 17:27:46
栏目: 智能运维

在 Linux 环境下防护“漏洞利用(exploit)”通常需要系统加固 + 运行时防护 + 安全运维多层结合。下面按实用、可落地的方式给你梳理。


一、系统与内核层防护(基础)

1. 及时打补丁

  • apt update && apt upgrade(Debian/Ubuntu)
  • yum update / dnf update(RHEL/CentOS)
  • 启用自动更新(如 unattended-upgrades)

✅ 绝大多数 exploit 都依赖已知漏洞


2. 开启内核安全机制

检查并启用:

  • SELinux / AppArmor
    sestatus        # SELinux
    aa-status       # AppArmor
    
  • ASLR
    cat /proc/sys/kernel/randomize_va_space
    # 应为 2
    

3. 限制内核参数(sysctl)

编辑 /etc/sysctl.conf:

kernel.dmesg_restrict=1
kernel.kptr_restrict=2
kernel.unprivileged_bpf_disabled=1
net.ipv4.conf.all.rp_filter=1

二、减少攻击面

4. 最小权限原则

  • 不用 root 跑服务
  • 禁止 root SSH 登录
    PermitRootLogin no
    
  • 使用 sudo 并限制命令

5. 删除不必要服务

systemctl list-unit-files --type=service

关闭:

  • telnet
  • rsh
  • ftp
  • 不必要的数据库端口

6. 文件系统加固

  • /tmp 挂载为 noexec, nosuid:
    /tmp tmpfs defaults,noexec,nosuid,nodev 0 0
    
  • 限制 SUID 程序:
    find / -perm -4000 -type f
    

三、运行时防护(防 exploit 成功)

7. 使用安全编译选项(开发者)

  • -fstack-protector
  • -D_FORTIFY_SOURCE=2
  • -fPIE -pie
  • -z relro -z now

8. 阻止提权 exploit

  • 禁用危险模块:
    echo "install dccp /bin/true" >> /etc/modprobe.d/disable.conf
    
  • 限制 ptrace
    kernel.yama.ptrace_scope=1
    

9. 使用沙箱 / 容器隔离

  • systemd sandbox
  • Docker(只读根文件系统)
  • firejail

四、入侵检测与监控

10. 日志与审计

  • auditd
  • fail2ban(防爆破)
  • rkhunter / chkrootkit

11. HIDS(主机入侵检测)

  • OSSEC
  • Wazuh
  • Falco(容器环境)

五、网络层防护

12. 防火墙

ufw enable
ufw default deny incoming

13. 仅开放必要端口

ss -tulnp

六、针对“Linux exploit”的实战建议

如果你是:

  • 运维:重点在补丁 + 权限 + 防火墙
  • 开发者:重点在编译安全 + 最小依赖
  • 安全研究:关注 CVE + PoC + 内核缓解机制

如果你愿意,可以告诉我:

  • 是服务器防护还是学习安全研究
  • 使用的发行版
  • 是否担心提权 / 远程 / 容器逃逸

我可以直接给你一套针对你环境的具体加固方案。

0 踩