WAF(Web Application Firewall)是一种解决方案,帮助保护web站点和应用程序免受导致数据泄露和停机的攻击。WAF充当一个反向代理,在所有流量流或请求到达原始web应用程序之前检查它们。它还检查从web应用程序服务器发送到最终用户的任何请求。
这些攻击大多基于探索web应用程序漏洞的定制脚本。当web应用程序防火墙识别出其中一个攻击请求时,它可以根据您定义的配置执行一些操作。它可以允许请求通过,它可以记录请求或阻止请求响应一个错误页面。
WAF是指将一组规则应用于HTTP/S流量的设备、服务器端插件或过滤器
通过拦截HTTP/S流量并通过一组过滤器和规则传递它们,WAF能够发现并防止攻击流攻击web应用程序
规则包括常见的攻击OWASP TOP 10(跨站点脚本攻击(XSS)、SQL注入)和过滤特定源IP或恶意僵尸程序的能力

访问控制
限制或控制对关键Web应用程序,数据和服务的访问
限制访问某些地理区域或特定国家/地区的数据
符合通用数据保护法规(GDPR)合规性要求
网络攻击保护(WAF保护规则)
超过250个规则集和Open Web Access安全项目(OWASP)规则集
与传入流量进行比较以确定请求是否包含攻击负载
WAF将阻止和/或警告请求:SQL注入,跨站点脚本,HTML注入等等
机器人管理
可配置的JavaScript和CAPTCHA挑战有助于阻止非法机器人
良好的BOT Whitelisiting允许用户选择哪些机器人可以访问资产
使用WAF规则集中的挑战和白名单来进一步检测和阻止坏机器人并让好机器人通过
如果你注册有域名,两步完成WAF配置:
WAF里面配置要保护的域名和应用IP,生成一个域名别名CNAME
在DNS控制台里面配置源域名的CNAME为上一步生成的CNAME 即可
很多时候验证WAF功能时,不方便修改DNS的CNAME或者没有域名,下面介绍没有域名怎么做WAF测试:
进入Oracle OCI Console -> Security -> Web Application Firewall

进入WAF配置节目-> Create WAF Policy

填入应用域名和IP地址(一般用负载均衡的地址)。这里我用demo.waf.com作为本地测试用域名。

配置完成后,生成CNAME Target:demo-waf-com.o.waas.oci.oraclecloud.net

dig解析demo-waf-com.o.waas.
oci.oraclecloud.net对应的IP,会有3个IP如下图

选择一个IP并在本地hosts文件配置好,如:
192.29.19.xx demo.waf.com
curl测试
curl -I http://demo.waf.com
HTTP/1.1 200 OK
Content-Type:text/html;charset=UTF-8
Connection: keep-alive
Server: ZENEDGE
Set-Cookie:JSESSIONID=8F06EE7A7F09A90229E8CC54A9EBF5DB; Path=/; HttpOnly
Set-Cookie: X-Oracle-BMC-LBS-Route=a50744de7234d5d6f35de14dcaeff8ab6a9909d4cbc820708d123b84f442235fc6a06b5e6f9999d2;Path=/; HttpOnly
X-Cache-Status: NOTCACHED
Date: Thu, 20 Oct 202009:32:51 GMT
X-Zen-Fury:ce8dba53f02164fb9f04a761e3a113938407fcd7
X-Cdn: Served-By-Zenedge
响应里面有 “Server:ZENEDGE” 表明配置成功。
OCI WAF是一个位于OCI互联网边界上的服务:将来自Internet的外部安全威胁隔离限制在应用环境的边界上,保护用户核心层的应用&数据免受来自外部网络的安全威胁;内置250+网络应用风险威胁防御规则,引擎具有机器学习、技术领先的功能,智能、自动、高效。
想了解更多Oracle云安全信息,请访问:
https://www.oracle.com/security/

作者简介
高建兵,甲骨文云专家团队资深咨询顾问,专注于甲骨文OCI相关产品及解决方案。具有10+年的中间件技术,产品,方案和项目实施经验。熟悉电信,制造等行业。您可以通过jian.bing.gao@oracle.com与他联系。
扫描二维码或点击阅读原文
快速预约精选云解决方案演示






