限制访问

了解如何在 AEM as a Cloud Service 中通过流量过滤规则阻止特定请求以限制访问。

本教程演示如何在 AEM Publish 服务中​ 拦截来自公共 IP 对内部路径的请求

为何以及何时应阻止请求

拦截流量有助于在特定条件下防止访问敏感资源或 URL,从而强化组织的安全策略。相比记录请求,拦截是一种更为严格的操作,应在明确特定来源的流量为未经授权或不受欢迎的情况下使用。

以下是一些适合采用拦截策略的常见场景:

  • 限制对 internalconfidential 页面访问,仅允许来自内部 IP 范围(例如位于企业 VPN 之后)的请求。
  • 拦截通过 IP 或地理位置识别出的机器人流量、自动化扫描器或恶意行为者。
  • 在分阶段迁移期间,阻止访问已弃用或不安全的端点。
  • 限制对发布层中内容创作工具或管理路径的访问。

先决条件

在继续操作之前,请先确保您已完成如何设置流量过滤器与 WAF 规则教程中所述的必要配置。此外,请确保您已克隆 AEM WKND Sites 项目并已将其部署至您的 AEM 环境。

示例:拦截来自公共 IP 的对内部路径的访问请求

在此示例中您将配置一条规则,用于拦截来自公共 IP 地址对内部 WKND 页面(如 https://publish-pXXXX-eYYYY.adobeaemcloud.com/content/wknd/internal/demo-page.html)的外部访问请求。只有位于受信任 IP 范围内的用户(例如通过企业 VPN 连接)才能访问该页面。

您可以自行创建一个内部页面(例如 demo-page.html),或使用提供的附件包

  • 将以下规则添加到 WKND 项目的 /config/cdn.yaml 文件中。
kind: "CDN"
version: "1"
metadata:
  envTypes: ["dev", "stage", "prod"]
data:
  trafficFilters:
    rules:
    # Block requests to (demo) internal only page/s from public IP address but allow from internal IP address.
    # Make sure to replace the IP address with your own IP address.
    - name: block-internal-paths
      when:
        allOf:
          - reqProperty: path
            matches: /content/wknd/internal
          - reqProperty: clientIp
            notIn: [192.150.10.0/24]
      action: block
  • 将更改提交并推送到 Cloud Manager Git 存储库。

  • 使用先前创建的 Cloud Manager 配置管道,将更改内容部署至 AEM 环境。

  • 通过访问 WKND 网站的内部页面(例如 https://publish-pXXXX-eYYYY.adobeaemcloud.com/content/wknd/internal/demo-page.html)或使用下面的 CURL 命令来测试该规则:

    code language-bash
    $ curl -I https://publish-pXXXX-eYYYY.adobeaemcloud.com/content/wknd/internal/demo-page.html
    
  • 使用你在该规则中使用的 IP 地址和另一个不同的 IP 地址(例如,使用你的手机)重复上述步骤。

分析

要分析 block-internal-paths 规则的执行结果,请按照设置教程中所述的相同步骤进行操作。

您应能在​ 被阻止的请求 ​以及客户端 IP(cli_ip)、主机(host)、URL、操作(waf_action)和规则名称(waf_match)等列中看到相应的数值。

ELK 工具仪表板被阻止的请求

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69