怎么在Linux利用Find-Type-L识别并修复指向敏感路径的软链接攻击陷阱

梦杰姑娘_8841

梦杰姑娘_8841

2026-05-19

729人浏览

原创

最可靠方式是用find -type l -exec test ! -e {} \; -print定位失效软链接,再人工筛查是否指向/etc/shadow等敏感路径;但仅指向敏感路径不构成攻击,风险取决于是否被可信程序访问及目标是否真实可读。

怎么在linux利用find-type-l识别并修复指向敏感路径的软链接攻击陷阱

直接用 find -type l -exec test ! -e {} \; -print 定位所有真正失效的软链接,再结合路径特征人工筛查是否指向敏感位置(如 /etc/shadow、/root/.ssh、/proc/self/fd 等),是识别潜在软链接攻击陷阱最可靠的方式。Linux 原生命令无需额外工具,也不依赖非标准参数。

为什么“指向敏感路径”本身不等于攻击?

软链接只是存储路径字符串,它是否构成风险,取决于两点:一是该链接是否被可信程序或用户主动访问;二是目标路径是否真实存在且可被当前上下文读取/执行。

例如:

  • ln -s /etc/shadow ~/myconf 创建后,只要没人用 cat ~/myconf 或程序自动读取它,就只是个普通死链,不触发权限泄露;
  • 但若某 Web 应用配置了 Alias /backup /var/www/backup,而你又在 /var/www/backup 下创建了指向 /etc 的软链接,外部请求 /backup/passwd 就可能绕过预期限制——这才是真正的攻击面。

快速筛查可疑软链接的实操命令

在关键目录(如 /var/www、/tmp、/home)中运行以下组合命令,聚焦高风险线索:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 列出所有软链接及其目标:
    find /var/www -type l -ls 2>/dev/null
  • 筛选出目标含敏感关键词的链接(不区分大小写):
    find /var/www -type l -exec readlink {} \; 2>/dev/null | grep -iE "(etc|root|proc|sys|\.ssh|\.pgpass)" | sort -u
  • 定位“存在但指向危险路径”的链接(非死链,需重点审计):
    find /var/www -type l -exec test -e {} \; -exec readlink -f {} \; 2>/dev/null | grep -iE "(\/etc\/shadow|\/root\/\.ssh|\/proc\/[0-9]+\/fd)"

修复前必须验证的三件事

发现可疑链接后,切勿直接删除或覆盖。先确认:

  • 谁创建的?用 stat 链接名 查看 ctime/mtime 和属主,判断是否为运维行为还是异常写入;
  • 谁在用它?用 lsof +D /path/to/dir 或检查 Web 日志、定时任务、启动脚本中是否引用该链接名;
  • 目标是否真敏感?比如 /proc/self/fd/3 类链接常出现在调试场景,而 /etc/shadow 被硬链接到 Web 可读目录则必须立即处理。

安全修复策略(按风险等级推荐)

根据链接用途与环境,选择对应方式:

  • 确认为恶意或误配:先备份再移除:
    mv suspicious_link suspicious_link.bak && chmod 000 suspicious_link.bak(禁用比删除更利于溯源);
  • 属业务所需但路径暴露:改用受限跳转,如 Nginx 中用 alias 替代软链接,或加 location ~ \.shad?ow$ { deny all; };
  • 开发测试残留:统一清理并加入 CI 检查项,例如在部署前运行:
    find $APP_ROOT -type l -exec readlink -f {} \; 2>/dev/null | grep -qE "^/(etc|root|proc)" && echo "FAIL: sensitive symlink found" && exit 1。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4310

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3633

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2893

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7110

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6742

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3873

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3365

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3599

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习