tencent cloud

对象存储

动态与公告
产品动态
产品公告
产品简介
产品概述
功能概览
应用场景
产品优势
基本概念
地域和访问域名
规格与限制
产品计费
计费概述
计费方式
计费项
免费额度
计费示例
查看和下载账单
欠费说明
常见问题
快速入门
控制台快速入门
COSBrowser 快速入门
用户指南
创建请求
存储桶
对象
数据管理
批量处理
全球加速
监控与告警
运维中心
数据处理
内容审核
智能工具箱
数据工作流
应用集成
工具指南
工具概览
环境安装与配置
COSBrowser 工具
COSCLI 工具
COSCMD 工具
COS Migration 工具
FTP Server 工具
Hadoop 工具
COSDistCp 工具
HDFS TO COS 工具
GooseFS-Lite 工具
在线辅助工具
自助诊断工具
实践教程
概览
访问控制与权限管理
性能优化
使用 AWS S3 SDK 访问 COS
数据容灾备份
域名管理实践
图片处理实践
COS 音视频播放器实践
工作流实践
数据直传
内容审核实践
数据安全
数据校验
大数据实践
COS 成本优化解决方案
在第三方应用中使用 COS
迁移指南
本地数据迁移至 COS
第三方云存储数据迁移至 COS
以 URL 作为源地址的数据迁移至 COS
COS 之间数据迁移
Hadoop 文件系统与 COS 之间的数据迁移
数据湖存储
云原生数据湖
元数据加速
数据加速器 GooseFS
数据处理
数据处理概述
图片处理
媒体处理
内容审核
文件处理
文档处理
故障处理
获取 RequestId 操作指引
通过外网上传文件至 COS 缓慢
访问 COS 时返回403错误码
资源访问异常
POST Object 常见异常
API 文档
简介
公共请求头部
公共响应头部
错误码
请求签名
操作列表
Service 接口
Bucket 接口
Object 接口
批量处理接口
数据处理接口
任务与工作流
内容审核接口
云查毒接口
SDK 文档
SDK 概览
准备工作
Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Flutter SDK
Go SDK
iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
React Native SDK
小程序 SDK
错误码
鸿蒙(Harmony) SDK
终端 SDK 质量优化
安全与合规
数据容灾
数据安全
访问管理
常见问题
热门问题
一般性问题
计费计量问题
域名合规问题
存储桶配置问题
域名和 CDN 问题
文件操作问题
日志监控问题
权限管理问题
数据处理问题
数据安全问题
预签名 URL 问题
SDK 类问题
工具类问题
API 类问题
服务协议
Service Level Agreement
隐私政策
数据处理和安全协议
联系我们
词汇表
文档对象存储

防盗刷指引

聚焦模式
字号
最后更新时间: 2025-08-29 17:55:57

前言

近年来,越来越多的用户在搭建网站或图床时将图片视频等资源上传到对象存储 COS,提升了访问稳定性的同时减轻了服务器的存储空间压力,但随之而来的流量盗刷、图片盗链问题也困扰着不少开发者,一旦存储空间被恶意访问,会产生高额的流量费用,产生不必要的纠纷。这类问题实际上可以通过多种手段来防护,本文将主要介绍一些常见的防护手段,帮助开发者合理配置存储桶,建立安全机制,降低因类似问题带来的大额资金损失的风险。COS控制台支持盗刷风险检测,请参见 盗刷风险检测

防护方案

盗刷有很多防护方式,这里将按配置难易度和门槛来区分,开发者可根据实际情况和需求来选择。

基础防护方案


修改存储桶访问权限


访问权限是存储桶最核心和敏感的配置之一,据不完全统计,绝大部分被盗刷的原因都是因为用户设置了公有读权限,由于公有读权限可不带签名直接匿名访问,这给了黑产和攻击者可乘之机。将存储桶改为私有读写可大大降低盗刷风险,拿不到密钥就无法计算签名,访问会被拒绝。
如果业务没有特别需求,这里建议您平时尽量配置私有读写权限。COS 控制台目前有两个地方可以设置存储桶权限:
创建存储桶弹窗

存储桶详情页-权限管理



开启存储桶防盗链


防盗链也是最常见的防护手段之一,其原理是通过 HTTP 的 Referer 头部进行判断校验,用户可通过配置白名单或黑名单,来允许或者禁止某些访问来源。
COS 控制台-存储桶详情页-安全管理可以找到防盗链设置:



这里建议您空 referer 配置为拒绝,黑白名单可根据业务实际情况来选择,如果是固定在某些域名下访问可设置白名单,如已经发现有恶意访问并明确知道访问域名或 IP,可手动设置黑名单来拦截。如需了解更多防盗链的使用技巧,可参考 防盗链实践


配置云监控告警


配置日志管理能帮助定位和分析盗刷的来源,提供了丰富的字段可查询,但缺点是需要开发者主动去关注日志。如需更加及时的发现盗刷问题,可以配置云监控告警。目前 COS 控制台创建存储桶时,就支持同时配置告警:



如果默认告警的策略不能满足要求,也可以手动去 腾讯云可观测平台 创建自定义的告警策略:



进入告警配置-告警策略,点击新建策略,在云产品监控下找到对象存储,然后在告警对象的实例 ID 里找到需要配置的存储桶,就可以自己指定触发条件了,所有 COS 存储桶的数据监控页面里展示的指标,这里都支持配置。


开启日志管理


前面讲防盗链黑名单的时候提到过“如发现有恶意访问域名或 IP”,这里就需要我们开启存储桶的日志管理,访问日志里会记录每一次请求的各种字段,帮助我们快速定位到访问来源。
COS 控制台-存储桶详情页-日志管理可以找到日志存储,开启后即可在存储桶指定的路径前缀下找到访问日志。



日志文件里的字段可以参考 日志管理概述 文档,下面介绍一些常用的可分析字段:
userSecretKeyId:可以确定请求是通过哪个密钥 KeyId 进行的访问,如确定不是业务自己发起的请求,则很可能是密钥已经泄露了,可前往 腾讯云CAM控制台 禁用不安全的密钥。
referer:即防盗链设置里用于判断的条件,如发现不认识的 referer,可能是被其他网站盗链,可配置防盗链-黑名单限制该 referer 访问,可参考1.2 开启存储桶防盗链。
remoteIp:可以确定访问来源 IP,如发现是不可信任的 IP,可前往存储桶详情页-权限管理-Policy权限设置,点击添加策略,配置 Policy 禁止该 IP 访问存储桶,示例如下:


进阶防护方案


使用自定义 CDN 加速域名


腾讯云 CDN 也提供了很多配置项来进行防护,也能有效抵御盗刷。
如我们的业务使用了自定义 CDN 域名,可以前往 腾讯云CDN控制台 -域名详情-访问控制页面进行配置,主要常用到的一些配置有:
防盗链配置:



CDN鉴权配置:



IP 黑白名单配置:



UA 黑白名单配置:



还有一些更为复杂的配置项,如 IP 访问限频配置、下行限速配置等,可查阅 CDN 控制台相关文档 来使用。


SCF+云监控+COS API实现自动封堵


在基础防护里,我们提到了可以配置云监控告警来及时发现流量异常情况,但有些时候可能会有信息遗漏或人在外不方便及时处理的情况,这里可以通过自动化脚本代码调用 API 来实现一个简单的自动化逻辑。
从云监控获取到外网下行流量指标(InternetTraffic)异常 -> 自动调用 COS PutBucketAcl 修改存储桶权限为私有读写。主要涉及以下2个 API 接口,这里提供了在线调用示例供调试参考:
云监控的 GetMonitorData - 调用示例
COS 的 PutBucketAcl - 调用示例

相关建议

以上为本文提供的一些盗刷问题的常见防护手段,除此之外,我们在日常使用 COS 时也需要注意一些小细节,这里提供一些额外的使用建议,也能一定程度上降低盗刷风险:
避免在对外开源的代码里使用明文的 API 访问密钥,避免密钥泄露引发安全风险,建议参考最小权限原则来使用。
避免配置跨域规则时允许所有来源(即Origin: *)访问,尽量设置明确的来源。
上传大量文件时,避免使用规律过于简单的顺序前缀(如数字序号,时间戳等),这样可能会导致攻击者更容易遍历到存储桶下的文件。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈