Web架构模式
网站架构中可能出现的其中五种情况:CDN、WAF、OSS存储、反向代理、负载均衡
WAF(web application firewall)
原理:Web(网站)应用防火墙,为网站应用提供防护,防止攻击的产品
影响:常规Web安全测试手段会受到拦截
例子:免费D盾防护软件,直接在服务器上安装即可。
非嵌入式(常见
-
硬件型WAF(公司产品常用
以硬件形式部署在链路中,支持多种部署方式,当串联到链路中时可以拦截恶意流量,在旁路监听时只记录攻击不拦截
代表产品:Imperva、天清WAG等
-
软件型WAF(商业/个人产品常用
以软件形式安装在服务器上,可以直接检测服务器是否存在webshell、是否有文件被创建等
代表产品:安全狗、云锁、D盾等
-
云WAF(云厂商提供的相关WAF产品
一般以反向代理的形式工作,通过配置NS或CNAME记录,使得对网站的请求报文优先经过WAF主机,经过WAF主机过滤后,将被认为无害的请求报文再发送给实际网站服务器进行请求,可以认为时带防护功能的CDN
代表产品:阿里云云盾、腾讯云WAF等
嵌入式
网站内置的WAF
也叫自定义WAF,直接镶嵌在代码中,即开发人员为了网站安全,会在可能遭受攻击的地方增加一些安全防护的代码,比如过滤敏感字符,对潜在的威胁字符进行编码,转义等。网站内置的WAF与业务更加契合。
常见的Web攻击手法以及后门都会受到拦截,网站有WAF产品会拦截。WAF能够绕过(钻空子的手法),不一定能够保证绕过,大部分都不能绕过,小部分才能绕过,取决于WAF产品本身。不容易绕过。
绕过只是针对一些防护能力较差的WAF
大公司的WAF(绿盟,安恒…)基本不可能绕过,能够绕过也是一些无关紧要的绕过,对取得网站权限没有帮助
CDN(加速
原理:内容分发服务,旨在提高访问速度
影响:隐藏真实源IP,导致对目标测试错误
eg:阿里云备案域名全局CDN加速服务
针对开了CDN的网站做安全测试有什么区别?
会收集到错误的信息,如果对节点IP进行端口扫描就扫错了,加速节点是虚拟的,只是提供了加速服务
CDN绕过如何寻找到真实IP?
OSS(对象存储
Object Storage Service
原理:云存储服务,提供存储数据的服务,以提高访问速度
影响:网站上传的文件或解析的文件均来自于OSS资源,无法解析,单独存储的,不会执行(后门不生效)
为什么要使用第三方存储?
- 静态文件会占用服务器大量带宽
- 加载速度
- 存储空间问题
影响:
- 修复上传安全问题
- 文件解析不一样
- Accesskey隐患
影响文件上传,后门解析。保证了文件存储上传的安全,但又带来了Accesskey的隐患,Accesskey不能泄露
反向代理
正向代理为客户端服务,客户端主动建立代理访问目标
反向大力为服务端服务,服务端主动转发数据给可访问地址
原理:通过网络反向代理转发真实服务达到访问目的
影响:访问目标只是一个代理,非真实应用服务器
注:正向代理和反向代理都是解决访问不可达的问题,但由于反向代理中多出一个可以重定向解析的功能操作,导致反代理出的站点指向和真实应用毫无关系
eg:Nginx反向代理配置
负载均衡
原理:分摊到多个操作单元上进行执行,共同完成工作任务,为了提高访问速度效率,预防灾难,多个服务器(可以是不同地区)支撑该服务,以防止某台服务器出现故障/宕机等情况而导致网站无法运行。
影响:有多个服务器加载服务,测试过程中存在多个目标情况
eg:Nginx负载均衡配置