堡垒机需通过审批白名单、内容检测、上下文绑定及落地管控四层机制严控文件传输。具体包括:默认禁用传输功能,按用户组/路径/格式精细化授权;代理层哈希比对、可执行特征识别与压缩包多层扫描;结合chmod、时段、路径偏差等行为实时阻断;上传后设noexec、自动重命名并强制CI/CD签名验证。

堡垒机本身不是文件传输的终点,而是中转通道。防范运维人员借道传输恶意文件,关键在于把“传什么、谁来传、怎么传、传到哪”全部管住,而不是只拦住一个动作。
文件传输必须走审批+白名单机制
默认关闭所有文件上传下载功能,启用前需配置策略。例如:
- 只允许特定用户组向指定服务器的特定目录(如
/tmp/upgrade)上传.rpm或.tar.gz格式包,其他路径和格式一律拒绝 - 下载操作仅限于日志类文件(
*.log、*.out),且单次不超过10MB - 对数据库服务器、核心中间件等高敏资产,直接禁用全部SFTP/SCP/FTP传输能力
传输过程强制内容检测与行为阻断
现代堡垒机支持在代理层嵌入轻量级文件扫描能力,不依赖终端杀软:
- 对上传文件做哈希比对,命中已知恶意样本库(如VirusTotal API联动)立即拦截并告警
- 识别可执行特征:检测Linux ELF头、Windows PE结构、脚本文件中的
eval(、base64_decode、curl http等高危模式 - 发现压缩包嵌套(如
.zip里含.sh或.py)时自动解压二层扫描,而非只看外层扩展名
操作上下文绑定,防止“合法动作干坏事”
单纯允许“上传”不等于安全,要结合前后行为判断意图:
- 同一会话中,若先执行
chmod +x再上传payload.sh,触发实时阻断并冻结会话 - 非发布时段(如凌晨2点)向生产Web目录上传PHP文件,自动转人工审批,暂停传输流程
- 上传目标路径与该用户历史操作路径偏差超过3级(如过去只动
/opt/app/conf,这次却传到/var/www/html),标记为异常
传输后落地管控,切断执行链路
即使文件进了服务器,也不代表能运行:
- 堡垒机联动服务器Agent,在上传目录(如
/tmp)设置不可执行权限(noexec挂载选项或SELinux策略) - 对上传文件自动重命名,剥离原始扩展名(如
hack.php→hack_php_202610091522),避免被Web服务直接解析 - 要求所有部署类文件必须经CI/CD流水线签名验证,堡垒机上传的临时文件不得绕过该流程直接上线

















