Linux 漏洞利用与防御策略
一、典型攻击面与利用路径
find . -exec /bin/sh -p \; -quit。sudo -l发现过度授权或存在“逃逸”能力的命令(如 less、vim、python、find、awk、sqlite3 等),进而获取 shell。二、快速排查清单与加固要点
| 风险点 | 快速排查 | 加固要点 |
|---|---|---|
| 内核与系统更新 | uname -a、cat /etc/os-release;关注内核/发行版安全通告 |
及时更新系统与内核;关键主机启用内核热补丁;最小化内核功能与模块 |
| SUID/GUID | find / -perm -u=s -type f 2>/dev/null、find / -perm -g=s -type f 2>/dev/null |
移除不必要的 SUID/GUID;仅保留系统必需项;变更前评估功能影响 |
| Cron/Systemd | cat /etc/crontab、ls -la /etc/cron.*、systemctl list-timers、grep -R ExecStart /etc/systemd 2>/dev/null |
脚本与目录链仅root可写;使用绝对路径与受限环境;禁止用户可写的服务单元 |
| Sudo 授权 | sudo -l |
遵循最小权限;用visudo编辑;避免NOPASSWD;对可“逃逸”的命令进行白名单与替代方案 |
| 可写文件与敏感路径 | find / -writable -type d 2>/dev/null、find / -perm -2 -type f 2>/dev/null |
关键目录(如**/etc、/usr/local/bin、/opt**)严格权限;应用最小特权运行 |
| 远程服务与端口 | ss -tulpen、netstat -tulpen |
最小化暴露面;启用防火墙;关闭不必要服务与默认账户;强制强口令/多因素 |
| 日志与完整性 | tail /var/log/auth.log、journalctl -xe |
集中日志与审计;启用AIDE等文件完整性监控;关键操作留痕可追溯 |
| 容器与云原生 | 检查容器引擎、K8s RBAC、镜像来源与签名 | 容器最小权限与只读根文件系统;镜像扫描与可信源;运行时seccomp/AppArmor/SELinux;命名空间隔离与资源限制 |
三、容器与云原生场景
四、检测与响应
auditd规则:-a always,exit -F arch=b64 -S ptrace -k ptrace_monitor);基于eBPF/BPFtrace进行系统调用与异常行为监控;部署HIDS/EDR与集中日志分析。五、合规与加固清单
visudo维护;启用强口令策略与多因素认证;限制SSH访问来源与协议(禁用密码登录、仅用密钥)。apt/yum更新与安全补丁;关键系统考虑内核热补丁减少重启窗口。sysctl安全项(如关闭不必要的ICMP 重定向、开启ASLR等)。chattr +i);启用AIDE进行完整性校验。合规与安全提示