写点什么

AWS Web Application Firewall:加固不安全 Web 网站的安全性

  • 2017-08-10
  • 本文字数:1666 字

    阅读完需:约 5 分钟

Web Application Firewall (WAF)是 AWS 的一个新特性,它部署在用户公开网站的前端,保护网站免受异常流量的侵扰。WAF 的工作机制类似于反向代理,对传入的 HTTP 请求进行检查,查找其中活动可疑的模式。正常的请求才会被传递给用户的 Web 应用做处理,而异常的请求则会被阻塞。WAF 是一种无需更改现有应用即可为应用添加一层安全的工具。

通过设置一些用于识别并管理可疑流量的策略,我们可以配置 WAF 的行为。Amazon 已发布了 PDF 格式的白皮书,阐述了如何使用 WAF 去规避在 Web 应用中最广为出现的“ OWASP 十大安全漏洞”。对于所请求的传入请求(例如安全令牌),或是受限的传入请求(例如 SQL 关键字),不少推荐方法使用字符串匹配去检查请求的头部或主体内容。为实现更多的威胁检测,还有一些方法建议将 WAF 与 Lambda 或 CloudFront 组合。

WAF 是一种通用工具,它对于部分类型的攻击的成功率,要远高于其它类型的攻击。通过分析请求,相对易于规避注入攻击,这无需知道应用的上下文。用户可以配置 WAF 去检查请求查询字符串中的 SQL 关键字,实现对可疑活动的阻止。但是对于那些借助于颠覆应用上下文内安全的攻击,则是难以规避的。如果用户应用使用了独特的跨站请求伪造(Cross-Site Request Forgery,CSRF)令牌,我们无法配置 WAF 去拒绝一个重放已用令牌的请求,这需要在 WAF 和用户应用间构建一个用户定制的集成。

就 WAF 这类通用工具是否可以成功地加固那些不安全的 Web 应用这一问题,InfoQ 采访了 Mark Nunnikhoven 。Mark 是 Trend Micro 云技术研究部门的副总,也是一位 AWS 社区英雄(Community Hero)。

InfoQ:你认为近期高调出现的一些违规行为是否能被 WAF 这样的工具所阻止?

Mark Nunnikhoven:违规行为的发生是有一系列的原因,但常见的是利用 Web 应用的漏洞。跨站脚本攻击 (Cross Site Scripting) 和 SQL 注入攻击持续是被攻击者所采用的一些特别有效的方法。AWS WAF 对这些攻击方法非常有效。WAF 在设计上就是分析 Web 应用流量并查找异常,它对于用户的 Web 应用是一种简单并有效的防御层。

InfoQ:“OWASP 的十大安全漏洞”是很多安全规划、审计和 WAF 等工具的关注点。是否能解决这十大安全漏洞就足矣?或者为了加固 Web 应用,还需要考虑更多的问题?

Nunnikhoven:“OWASP 的十大安全漏洞”近期做了一些更新,但令人沮丧的是改动并不大。开发人员继续在犯着同样的错误,平台也继续在暴露类似的问题。安全问题具有长尾效应,十大安全漏洞只是给出一些最大的关注点。如果一个应用能很好地解决这十个领域问题,那么该应用就具有着坚实的安全基础。如果用户还没有率先解决这些基础的问题,那么完全没有必要去操心那些不太可能会影响到自身应用及用户的未知攻击。

InfoQ:我们可以使用 WAF 的工作流为模型创建自己定制的代理,在不改变应用的情况下增加安全。这是否有可能?或者还是需要通过修改应用才能解决安全缺陷?

Nunnikhoven:任何第三方的安全控制都是设计用于强化应用,AWS WAF 也是如此。安全控制是一种安全的网络,那些破坏了良好设计的应用及其支撑平台的问题会落在网中,并被安全网络所捕获。

InfoQ:安全正成为云的一个特性。AWS 提供了 WAF 和 Amazon Inspector 特性,后者检查部署中的不安全配置。Azure 提供了 Security Center 特性,自动规避安全攻击,并给出增加安全的推荐。安全是否能构成了迁移到云端的一个正当理由?

Nunnikhoven:安全绝对是迁移到云的一个理由。各大云服务提供商,例如提供全球范围服务的 AWS、Microsoft 和 Google,提供了强大的基础服务,用户可以在此上构建自己的应用,这些应用都运行于共享责任模型下。这就是用户和云服务提供商间在六个主要领域(即物理、架构、虚拟化、操作系统、应用和数据)上划分日常职责之处。

这一模型意味着用户可聚焦于更少的领域。用户将部分工作代理给服务提供商,仅需验证所提供的服务是否适合自身的需求。使用云技术,我们可以花用很少的精力完成很多的事情。这对于构建安全应用是一个非常好的环境。

查看英文原文 AWS Web Application Firewall: Bolt-on Security for Insecure Websites

2017-08-10 19:002099
用户头像

发布了 227 篇内容, 共 84.2 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

开源一夏 | 使用 CSS 的水波文本动画(免费代码)

海拥(haiyong.site)

开源 8月月更

CCF大会腾源会专场即将召开,聚焦基础软件与开发语言未来发展

腾源会

开源 腾源会

易观分析:银行零售业务实现智能化营销还需突破七大关键点

易观分析

零售 银行 智能化营销

如何设计一组会出现死锁(Deadlock)的ABAP程序

汪子熙

操作系统 SAP abap 8月月更 ABAP死锁

Spring-boot项目练习笔记(一)JS处理Long型数据精度丢失问题

赵四司机

Java web spring-boot 8月月更

Redis为什么这么快?

京东科技开发者

数据库 消息队列 redis'

有了阿里这5份Java架构师手册,学习起来轻松多了!

冉然学Java

Java 算法 java面试 性能调优实战 并发架构设计思想

Go-Excelize API源码阅读(七)—— CopySheet(from, to int)

Regan Yue

开源 源码阅读 8月日更 8月月更

兴盛优选:时序数据如何高效处理?

TDengine

数据库 tdengine 时序数据库

TiSpark 原理之下推丨TiDB 工具分享

PingCAP

TiDB

知乎杀疯了,疯传2022Java面试八股文解析+大厂面经

程序知音

Java 程序员 java面试 后端技术 Java面试八股文

巧用自定义函数,文本控件秒变高速缓存

明道云

从滴滴被罚款事件思考企业数据治理问题

墨天轮

大数据 滴滴 数据治理 数据安全

有关分库分表ShardingSphere-JDBC,这是我见过整理的最全的笔记了

Java全栈架构师

Java 数据库 程序员 面试 JDBC

阿里云 Hologres助力好未来网校实时数仓降本增效

阿里云大数据AI技术

数据分析 数据治理 数据安全

7月月更开奖啦!快来看看你中奖了吗?

InfoQ写作社区官方

热门活动 7月月更

面试官:Redis Zset的实现为什么用跳表,而不用平衡树?

程序员小毕

Java redis 程序员 面试 后端

案例复现,带你分析Priority Blocking Queue比较器异常导致的NPE问题

华为云开发者联盟

后端 开发

Netty进阶 -- WebSocket长连接开发

Bug终结者

8月月更

拿捏了!火爆GitHub的字节内部1213页“数据结构与算法”面试手册

冉然学Java

Java 数据结构 面试 算法 构架

“纯C”实现——扫雷游戏(递归实现展开功能)

一介凡夫

c 开源 8月月更

SAP ABAP 里存在 Java List 这种集合工具类么?CL_OBJECT_COLLECTION 了解一下

汪子熙

设计模式 迭代器模式 SAP abap 8月月更

AS北京站如约而至!发布参会感想有机会获得官方周边奖励

InfoQ写作社区官方

热门活动 ArchSummit

使用脚手架 快速开发 React组件 npm包 (基于TSDX)

HullQin

CSS JavaScript html 前端 8月月更

直播预告 | Authing 如何打造云原生 SaaS 产品架构?

Authing

python工程化配置方式

芥末拌个饭吧

8月月更

【设计模式-前端】单例模式深刻理解和实现

归子莫

前端 设计模式 js 8月月更

和鲸科技创始人范向伟:大部分数据智能项目都面临着两个挑战

ModelWhale

工作流 数字化转型 数据智能 协同效应 8月月更

开源一夏 |卷王必备学习的MyBatis-Plus用法~

叶秋学长

开源 mybaits 8月月更

基于 TLS 1.3的百度安全通信协议 bdtls 介绍

百度Geek说

安全

AWS Web Application Firewall:加固不安全Web网站的安全性_亚马逊云科技_Elton Stoneman_InfoQ精选文章