简介: 本文作者:紫极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. EL表达式 参考手册

    一.EL简介 1.语法结构     ${expression} 2.[]与.运算符     EL 提供.和[]两种运算符来存取数据.     当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或 ...

  2. AOSP中获取系统签名

    制作系统签名: 1.将AOSP源码路径下build\target\product\security\platform.pk8和platform.x509.pem复制出来放在同一目录下 2.执行命令 后 ...

  3. Welcome to YARP - 2.1配置功能 - 配置文件

    目录 Welcome to YARP - 1.认识YARP并搭建反向代理服务 Welcome to YARP - 2.配置功能 2.1 - 配置文件(Configuration Files) 2.2 ...

  4. Csharp学习Linq

    Linq的学习 这里继续使用之前文章创建的学生类,首先简单介绍一下linq的使用. Student.cs public class Student { public int Id { get; set ...

  5. 记录--UNI-APP安卓本地打包详细教程(保姆级)

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.开发环境 uni-app 官方文档地址 原生开发者支持 1.Android Studio 下载地址:Android Studio官网 ...

  6. tableau 工作表分页

    原创优阅达数据科技有限公司 https://mp.weixin.qq.com/s?__biz=MzA5MTU3NDI2NQ==&mid=2649465570&idx=1&sn= ...

  7. Avalonia项目生成银河麒麟操作系统安装包

    1 在项目根目录添加xxx.desktop文件,文件内容: [Desktop Entry] Name=xxx Type=Application Exec=/usr/share/xxx/xxx Icon ...

  8. KingbaseES V8R6集群运维案例之---在线扩容节点通讯故障问题

    案例说明: KingbaseES V8R6集群节点之间通过ssh或securecmdd工具通讯,默认节点之间通过公钥和私钥方式认证,可以密码通讯:在执行集群节点扩容时,出现以下故障,节点之间仍需要输入 ...

  9. AtCoder Beginner Contest 347

    AT link Problem A and B 略. Problem C 按照模 \(a + b\) 分类,记录最大值和最小值,如果差值小于等于假期时间即可,否则还需要判断按照 \(d_i = D_i ...

  10. 电影数据集【可供机器学习附爬虫源码】(豆瓣、爱奇艺、IMDB、腾讯视频等)

    电影数据集(豆瓣.爱奇艺.IMDB.腾讯视频.搜狐.1905) 爬虫爬取豆瓣.爱奇艺.IMDB.腾讯视频.搜狐.1905网,电影数据. 获取方式:微信搜索关注[靠谱杨阅读人生]回复[电影]. 整理不易 ...