温馨提示×

怎样防御linux exploit

小樊
46
2026-09-27 18:38:24
栏目: 智能运维

防御 Linux 漏洞利用(exploit)是一个系统性工程,需要从系统加固、权限控制、漏洞管理、运行时防护等多个层面入手。下面按优先级和实用性给你一个较完整的防御思路。


一、基础系统加固(最重要)

1. 及时打补丁

  • 开启自动安全更新
    # Debian/Ubuntu
    apt install unattended-upgrades
    
    # RHEL/CentOS
    yum update -y
    
  • 定期关注:
    • CVE
    • 发行版安全公告
    • 内核版本更新

✅ 很多 exploit 都是“已知漏洞未修复”


2. 最小化安装

  • 不装不必要的服务(FTP、NFS、Telnet 等)
  • 关闭不需要的端口
    ss -tulnp
    systemctl disable <service>
    

3. 内核与系统参数加固

编辑 /etc/sysctl.conf:

kernel.randomize_va_space=2   # ASLR
net.ipv4.ip_forward=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.all.send_redirects=0

启用:

sysctl -p

二、利用缓解机制(防 exploit 成功)

4. 开启安全编译与防护

  • ASLR(地址随机化)
  • DEP / NX(不可执行内存)
  • Stack Protector
  • RELRO / Full RELRO
  • PIE

查看程序保护:

checksec --file=./binary

5. 使用安全内核特性

  • SELinux / AppArmor
    sestatus
    aa-status
    
  • 限制进程权限
  • 防止提权与越权访问

6. 限制提权

  • 禁止普通用户使用 sudo 不必要命令
  • 强化 /etc/sudoers
  • 移除 setuid 危险程序
    find / -perm -4000 2>/dev/null
    

三、账号与权限控制

7. 最小权限原则

  • 不用 root 跑服务
  • 使用专用用户
  • 文件权限严格
    chmod 750
    chown app:app
    

8. SSH 加固

PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3

使用密钥登录 + 防火墙限制 IP


四、运行时防护

9. 使用安全工具

  • Fail2Ban(防爆破)
  • Auditd(审计)
  • AppArmor / SELinux
  • Grsecurity / PaX(高级)

10. 容器/沙箱隔离

  • Docker(只读根文件系统)
  • seccomp
  • 限制系统调用

五、监控与响应

11. 日志与入侵检测

  • 监控:
    • /var/log/auth.log
    • /var/log/syslog
  • 使用:
    • OSSEC
    • Wazuh
    • Suricata

12. 异常行为检测

  • 突然的 root shell
  • 未知进程
  • 非常规网络连接

六、针对常见 exploit 类型的防御重点

Exploit 类型 防御方式
本地提权 打补丁、限制 sudo、SELinux
远程 RCE 防火墙、最小化服务
缓冲区溢出 ASLR/NX/PIE
内核漏洞 升级内核
提权脚本 审计 setuid

七、推荐学习路径

  1. Linux 基础管理
  2. CVE 与漏洞原理
  3. 二进制安全(pwn)
  4. 红蓝对抗实践

如果你愿意,我可以:

  • 给你一份 Linux 安全基线检查清单
  • 针对 **某类 exploit(如提权 / 内核 / web)**细讲
  • 或帮你 审计一台服务器的安全性

你更想从哪方面深入?

0 踩