了解有关从 Cyberattacks 保护基于 Microservices 的 Web 应用程序的信息

Web 应用程序是今天数字环境的关键组件。错误操作者执行的恶意活动可以窃取敏感数据,传播恶意软件,并最终导致企业及其客户损坏。在Oracle Cloud Infrastructure 上使用 Web 应用程序防火墙(WAF)可提供必要的安全性和确保云中受保护的工作负荷。

当应用程序部署在公共云中时,必须在每个级别保护和保护应用程序。Oracle Cloud Infrastructure 上的 WAF 服务提供了一种针对网络攻击保护应用程序的分层方法。其中一些功能包括但不限于:

  • 超过 250 个预定义的 Open Web Access 安全项目(OWASP)、应用和遵从性特定的保护规则
  • 来自多个源的聚集线程智能 , 包括 Webroot BrightCloud ®
  • 高级 Bot 管理与 JavaScript 验证、CAPTCHA 质询、白名单、设备指纹和人工交互算法
  • 基于规则的访问控制,包括 HTTP 标头、URL 模式、地理位置和 IP 地址特性
  • 第 7 层分布式拒绝服务(DDoS)攻击保护

下图列出了Oracle Cloud Infrastructure上 WAF 的安全功能。



使用须知

此解决方案假定 RESTful Java 应用程序已部署到Oracle Cloud InfrastructureKubernetes 的 Oracle Container Engine请参阅将基于微服务的 RESTful Java 应用程序部署到 Oracle Cloud

体系结构

此体系结构图显示使用 WAF 保护的已完成 RESTful Java 微服务应用程序。

每个微服务都包括在 Kubernetes 集群中的多个 Docker 容器中运行的应用程序。应用程序流量通过面向 Internet 的 WAF 服务进行路由,通常通过域名系统(Domain Name System, DNS)。WAF 配置为通过负载平衡器将请求流量转发到应用程序。负载平衡器选择用于处理请求的应用程序实例。应用程序实例数由 Kubernetes 集群控制,可以自动放大或缩小。使用此体系结构部署类似的微服务应用程序。

  1. 用HTML/CSS/JavaScript 编写的 RESTFul Web 服务客户端应用程序可用于访问该应用程序。
  2. 客户机通过面向 Internet 的 WAF 服务(通常通过 DNS)连接到应用程序。
  3. WAF 配置为通过负载平衡器通过使用负载平衡器 IP 地址将请求流量转发到应用程序。
  4. 后端应用程序是 Kubernetes 集群中的一组 Docker 容器。通常,应用程序的多个副本已部署,负载平衡器用于选择客户机与哪个应用程序实例通信。
  5. 应用程序使用Oracle Cloud Infrastructure Database 持久存储。任何存储的数据都将推送到数据库中。Kubernetes 集群中未保存状态。

关于所需服务和角色

此解决方案需要以下服务:

  • Oracle Cloud Infrastructure Database
  • Oracle Cloud Infrastructure Container Engine for Kubernetes
  • Oracle Cloud Infrastructure Registry

要使用Oracle Cloud Infrastructure WAF,必须在 waas-policy 中定义足够的权限。如果您尝试执行操作并获取您没有权限或者未授权的消息,请向管理员确认您已授予的访问权限类型以及应使用的区间。

要允许特定用户组管理 WAF 中的策略,请执行以下操作:

Allow group <GroupName> to manage waas-policy in compartment <CompartmentName>
Allow group <GroupName> to read waas-work-request in compartment <CompartmentName>

请参阅了解如何获取适用于 Oracle 解决方案的 Oracle Cloud 服务以获取所需的云服务。