简介: 本文作者:紫极zj 本文将主要介绍利用【配置审计】功能,如何快速发现企业上云过程中,针对未配置防盗链的 OSS Bucket 定位及修复案例。

前言

配置审计(Config)将您分散在各地域的资源整合为全局资源列表,可便捷地搜索全局资源;同时帮助您记录云上 IT 资源的配置变更历史,持续自动地评估云上资源配置的合规性,实现云上 IT 合规治理。本文介绍如何使用配置审计(Config)帮助您快速发现未配置防盗链的 OSS Bucket 并修复的案例。

实际案例

公司 A 有 10 个垂直的业务部门,每个业务部门分配了 1~2 个 OSS Bucket 用于存储运营图片,并直接在网页上使用的 OSS 生成的链接做图片内容的展示。我们知道 OSS 的费用分为存储费和流量费,当大量的外部请求获取图片资源时,产生的流量费用需要客户自行承担。为了杜绝不法网站盗用图片资源,OSS 开发了“防盗链”功能,详细的功能说明请参考: 防盗链

公司 A 打算使用该技术方案,需要为 OSS Bucket 开启防盗链,并且设置 referer 白名单为 *.alibaba.com*.aliyun.com 。作为公司的运维同学,非常不希望每个 Bucket 都检查并参考文档配置一遍,同时还需要额外制定对策防止 Bucket 配置被二次修改。

这时候,他想起了阿里云的一款云产品:配置审计(Config)

我们可以将配置审计(Config)的能力简单概括为3点

  1. 统一的资源视角,多地域,甚至跨账号;
  2. 规则(Rule)检测资源配置是否满足要求;
  3. 持续检测资源及修复能力;

配置审计(Config)是如何工作的?

资源的配置数据通过异步消息通知会中心化的存储在配置审计(Config)的数据库中。规则会采用定时、变更被动触发、用户主动触发的方式来对数据库的资源配置进行评估, 将评估结果展现给用户,同时会根据规则设置判断是否需要进行修正,如执行修正任务,新的资源配置数据会重新被配置审计(Config)感知进入到下一次的评估循环中。我们一起来看看公司 A 的运维同学是如何通过配置审计(Config)完成任务的。

设置规则

打开配置审计控制台,进入规则列表,点击新建规则,即可看到配置审计(Config)为用户提供的大量的托管规则(托管规则由平台开发并提供给用户使用),搜索“防盗链”或“referer”都可以搜索到该规则:OSS 存储空间开启防盗链功能

点击应用规则

第一步:设置规则名称、自定义风险等级、自定义备注信息;

第二步:可以根据实际的业务场景限定需要检查的资源的范围;可选项包括资源 ID、资源组 ID、地域、标签等;

第三步:设置允许的 referer 白名单及是否允许 referer 为空;

第四步: 设置是否开启自动修复,我们暂时先跳过,后续再讨论;

第五步:预览并提交

规则评估

规则创建完成后,规则便开始对存量的 Bucket 配置进行合规性的评估,参考规则的评估说明, “OSS 存储空间开启防盗链功能,视为合规”,该规则通过检查 Bucket 配置信息中的 RefererList.Referer 不为空判定开启防盗链功能是否合规。

规则评估完成后会生成一份评估结果,标注累计评估资源数合规资源数不合规资源数;您可以基于这份检查结果去手动配置。注意:对于新增的 OSS Bucket 同样会自动检测其合规性。

下图为检测结果:累计检测 23 个 OSS Bucket,23 个不合规,表示这 23 个 OSS Bucket 均未开启防盗链功能。

如何修复

如果 Bucket 的数量很多,繁重的人工配置可能会带来操作上的失误,别着急,配置审计(Config)提供修正能力,对于规则评估出的不合规资源结合运维编排(OOS)将其修复。可在规则详情页->修正详情,然后点击“修正配置”,完成修正配置。

注意有一个选项为:“自动修正/手动修正”,我们暂时勾选为“手动修正”。

这时候,在修正详情 tab,将会出现“执行手动修正”的按钮,点击此按钮,则手动触发对不合规资源的修复任务。

由于修复任务是异步发起的,您可以直接去对象存储的控制台->存储桶-> 权限管理 -> 防盗链查看是否修正成功,也可稍微等待一段时间(10分钟左右)再来配置审计(Config)控制台查看最新的配置信息。

如上图所示,修复动作已经执行完成,OSS Bucket 防盗链已经正常设置, 回到配置审计控制台,继续等待片刻,修复触发的资源变更数据会回流到配置审计(Config)触发规则的再一次评估,这时候我们发现所有的资源都变成合规状态。

持续评估并修复

如何保证其他运维人员在后续的时间里不再改变该配置呢?组织内部运行机制能够勉强完成任务,但是人总是会犯错误的。我们可以借助配置审计(Config)的持续检测及修复能力。 在刚才配置修复设置中,将“手动执行”修改为“自动执行”,一旦资源发生了不合理的变更,配置审计(Config)将会识别并将其自动纠正为正确的配置,防止异常修改。

如,我们在 OSS 控制台将某个 OSS Bucket 的配置规则修改为,改动点: *.alibaba.com 改成了 *.alibaba-inc.com

稍微等待几分钟,我们会发现:

这里出现了我们刚才设置的错误的防盗链名单的 OSS Bucket,此时,自动修正已经触发,之所以还有 1 个显示为不合规,是因为配置审计(Config)需要等待修正后的正确置到达中心化的数据库才能进行再一次的规则评估,将不合规资源评估为合规状态。

如上图,经过大约 10 分钟的时间,最新的 Bucket 配置信息已经到达配置审计,规则评估触发认定为“合规”。

我们再次回到 OSS Bucket 控制台查看最新的资源配置是否生效。

配置被重新设置回了 *.alibaba.com *.aliyun.com

总结

以上就是使用配置审计(Config)检测不合规配置并持续自动修复的全部内容,我们通过设置规则,规则评估及修复等完成从发现问题,定位资源,到手动、自动变配,形成了问题在配置审计(Config)的闭环。

原文链接

本文为阿里云原创内容,未经允许不得转载。

配置审计(Config)配合开启OSS防盗链功能的更多相关文章

  1. ASP.net UrlRewrite的防盗链功能

    ASP.net中如何实现基于UrlRewrite的防盗链. ASP.net中最快实现UrlRewrite的方法这篇文章中说了如何做UrlRewrite,那只是一个最简单的应用 其实利用UrlRewri ...

  2. 实现fastdfs防盗链功能

    目录 1.背景 2.实现原理 2.1 开启防盗链 2.2 重启 nginx 2.3 Java代码生成token 1.token生成规则 2.java生成token 3.测试 3.1 带正确token访 ...

  3. nginx——防盗链功能

    我们经常会看到在浏览某一图片时会弹出一“403权限禁止”错误,这说明有可能正在浏览的这个网站用到的图片在盗用别的网站图片,而被盗用的网站采用了防盗链技术.那么怎样才能不让自己的网站受害呢? 下面我来介 ...

  4. web页面防盗链功能使用--request.getHeader("Referer")

    使用Request对象设置页面的防盗链 所谓的防盗链就是当你以一个非正常渠道去访问某一个Web资源的时候,服务器会将你的请求忽略并且将你的当前请求变为按正常渠道访问时的请求并返回到相应的页面,用户只有 ...

  5. Nginx配置虚拟机,url重写,防盗链

    配置目录: ·     虚拟主机 ·     PHP支持 ·     URL重写 ·     防止盗链 ·     持续更新… 一.虚拟主机 1.创建 文件格式:{域名}.conf 具体如下: $ s ...

  6. 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)

    以数据库后台驱动的动态内容的网站,经常会遇到这些的问题: 当在浏览器的地址栏输入一个无效的参数时,会出现数据库的错误提示,这是一个安全的隐患 搜索引擎无法收录你的所有网页 网页的链接地址是一系列的参数 ...

  7. 如何利用jsp实现防盗链功能

    index.jsp ----------------------------- Place your content here here is index jsp get header info a. ...

  8. Nginx服务优化及优化深入(配置网页缓存时间、日志切割、防盗链等等)

    原文:https://blog.51cto.com/11134648/2134389 默认的Nginx安装参数只能提供最基本的服务,还需要调整如网页缓存时间.连接超时.网页压缩等相应参数,才能发挥出服 ...

  9. nginx防盗链配置

    Ps:防盗链的意义就是保证自己的版权,不免网站的流量流失,为他人做嫁衣.下面是网上看到的三种方法: 修改 /usr/local/nginx/conf/nginx.conf 这个配置文件.找到locat ...

  10. Nginx中防盗链(下载防盗链和图片防盗链)操作记录

    日常运维工作中,设置防盗链的需求会经常碰到,这也是优化网站的一个必要措施.今天在此介绍Nginx中设置下载防盗链和图片防盗链的操作~ 一.Nginx中下载防盗链的操作记录对于一些站点上的下载操作,有很 ...

随机推荐

  1. 实时3D渲染它是如何工作的?可以在哪些行业应用?

    随着新兴技术--3D渲染的发展,交互应用的质量有了极大的提高.用实时三维渲染软件创建的沉浸式数字体验,几乎与现实没有区别了.随着技术的逐步改进,在价格较低的个人工作站上渲染3D图像变得更加容易,设计师 ...

  2. tomcat无法启动的解决方法

    一:双击startup.bat但闪退 我们可以用记事本打开startup.bat 在末尾添加一个pause 这样它就会新建一个窗口停在错误的地方 二:根据报错信息改正 这一步如果有乱码可以进入tomc ...

  3. Android保存多张图片到本地

    目录介绍 01.实际开发保存图片遇到的问题 02.直接用http请求图片并保存本地 03.用glide下载图片保存本地 04.如何实现连续保存多张图片 05.关于其他介绍 好消息 博客笔记大汇总[16 ...

  4. 记录--Echarts绘制气泡图

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Echarts绘制气泡图 气泡图是一种用于可视化三维数据的图表类型,其中两个变量用于确定数据点在平面上的位置,另一个变量用于确定气泡的大小 ...

  5. 记录--使用 JS 实现基本的截图功能

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 思路分析 在开始动手之前,分析一下整个功能的实现过程: 根据图片大小创建 canvas1 画布,并将原图片直接定位在 canvas1 上: ...

  6. TP6框架--EasyAdmin总结:暂时的离别和新的开始

    眨眼一下,因为项目初期开发的完成,我与EasyAdmin的缘分也将迎来短暂的离别,有时候静下来,感觉时间过的好快,我从4月到现在,使用EasyAdmin进行项目开发,从一个初识别PHP的菜鸟,到一个能 ...

  7. FPGA模块化设计

    模块化设计出发点 在实际地操作中,总有一些基础的模块需要不断地寻找,往往需要消耗大量的时间.为了节约模块化设计的时间,提高设计的效率.在这里将一些基础的模块全部进行封装,利用网络的便捷性,实现快速地基 ...

  8. KingbaseES 等待事件之 - Client ClientWrite

    等待事件含义 Client:ClientWrite等待事件指数据库等待向客户端写入数据. 在正式业务系统中,客户端必然和数据库集群之间有数据交互,这里指的是数据接收,发送.数据库集群在向客户端发送更多 ...

  9. Django实现发送邮件

    1.获取QQ邮箱授权码 打开QQ邮箱 --> 设置 --> 账号 --> 下拉页面 --> 开启POP3/SMTP服务 --> 短信验证 --> 点击"我 ...

  10. Tomcat内存马分析

    前言 自己简单搭建一个Tomcat项目,IDEA里选择JavaEE,勾上web就行了 加个依赖(这样就能找到三个Context了: <dependency> <groupId> ...