通过站点Web代理路由流量(EA)

Prev Next

Note: This is an Early Availability (EA) feature that is only available for limited release. For more information, contact your Cato Networks representative or send an email to ea@catonetworks.com.

概述

站点Web代理扩展了安全Web网关(SWG)保护到无法安装Cato客户端的设备,如服务器、共享亭和OT/IoT设备。 您可以通过配置设备的代理设置,将这些设备的HTTP和HTTPS流量路由至Cato Cloud进行检测和访问权限策略执行,可以手动配置或者使用标准代理自动配置 (PAC) 文件。 这使您可以在无需安装客户端的情况下,将现有互联网安全策略应用到无代理和未管理的设备上。

使用站点Web代理,流量按以下方式处理:

  1. 配置设备代理设置:配置设备指向代理FQDN和端口。 推荐的方法是使用代理自动配置 (PAC) 文件,虽然手动配置也是可以的。

  2. 请求发送到代理:设备通过站点隧道将请求发送到Cato PoP中的代理,而不是直接发送到目的地。

  3. (可选) 用户已认证,应用了安全访问权限策略: 代理实例可以 支持认证或未认证的流量。 对于认证代理,Kerberos将会话与用户关联,并应用任何匹配的用户安全策略。 无认证代理实例也支持为不支持Kerberos身份验证的设备和服务进行治理的互联网访问。 期间Always-On和防篡改被禁用多久。

  4. (可选)流量已检查:根据您的安全策略配置,设备的流量由Cato的安全引擎检查。

  5. 流量被转发:代理将请求转发到互联网目的地。

  6. 响应通过代理返回:会话被记录,目的地的响应被转发到设备。

每个代理实例都与选定的站点或所有站点相关联。 它使用独立端口并有自己的顺序规则库。 Kerberos和无认证代理实例可以在您的帐户中共存,但站点和端口组合必须对每个实例都是唯一的。

Use Case

ABC公司在受监管行业中运营,并且必须检查其网络上每个设备的出站Web流量。 其环境包括共享亭、生产服务器和无法运行Cato客户端的物联网设备。

ABC公司部署站点Web代理并向相关设备分发PAC文件。 支持Kerberos的设备使用将流量与用户关联的认证代理实例。 不能进行身份验证的设备使用单独的无认证代理实例。

根据PAC文件中定义的代理配置,设备的浏览器将Web流量发送到站点Web代理,那里的流量会经过检查并应用已配置的互联网安全策略。 这使得ABC公司可以在不在每个设备上安装Cato客户端的情况下集中其安全和合规控制。

配置站点Web代理

要配置站点Web代理,您需要:

  1. 在Microsoft Entra中为Cato SCIM应用程序映射用户身份属性(仅对于认证流量的代理实例需要)。

  2. 创建代理实例

  3. 定义顺序网络规则以通过代理管理流量

  4. 配置设备的代理设置

经过身份验证的(Kerberos)和未经身份验证的代理实例可以在您的账户中共存。 每个代理实例都维护自己的网络规则集。

步骤1:映射Cato SCIM应用的用户身份属性

扩展Entra SCIM配置模式以同步Microsoft Entra ID中的以下属性到Cato SCIM应用程序:

  • onPremisesSamAccountName:旧版Windows登录名。 它由Windows身份验证和需要sAMAccountName属性的旧版应用程序使用。

  • onPremisesDomainName:与用户账户关联的本地Active Directory域的完全限定域名(FQDN)。 它与onPremisesSamAccountName一起用于Kerberos身份验证期间识别用户。

注释:

  • 必须在用户配置开始之前应用此配置。 如果这无法实现,请在配置应用后,运行同步至Cato SCIM应用程序。

  • 在编辑架构之前,建议保存一份JSON文档的副本。 这样可以恢复原始配置,以防出现错误

  • 如果您只配置带有未经认证的流量的代理实例,则不需要此步骤。

  • 在架构中显示的确切名称可能会根据Microsoft Entra配置模板的版本有所不同。 使用下面的示例作为参考,并在您的架构中定位相应的Entra来源、Cato目标和用户配置映射对象。

映射用户身份属性:

  1. 在Entra管理员中心,导航到企业应用程序。

  2. 打开Cato Networks SCIM应用程序。 期间Always-On和防篡改被禁用多久。

  3. 点击 配置 然后 编辑配置。

  4. 展开映射部分并点击 配置Azure Active Directory用户,然后显示高级选项。

  5. 点击 在此查看您的架构。
    打开JSON架构文档。

  6. 使用Ctrl+F搜索以公开Entra源属性,以便它们可以在配置映射中使用"name": "Microsoft Entra ID"。

  7. 识别"属性"数组(目录[] > "Microsoft Entra ID" > 对象[] > 用户 > 属性[]),最终属性对象是onPremisesSecurityIdentifier。

  8. 在最后一个属性后添加逗号,并在关闭之前粘贴以下条目]

    项,以公开Entra源属性

    {
      "anchor": false,
      "caseExact": false,
      "defaultValue": null,
      "flowNullValues": false,
      "multivalued": false,
      "mutability": "ReadWrite",
      "name": "onPremisesSamAccountName",
      "required": false,
      "type": "String",
      "apiExpressions": [],
      "metadata": [],
      "referencedObjects": []
    },
    {
      "anchor": false,
      "caseExact": false,
      "defaultValue": null,
      "flowNullValues": false,
      "multivalued": false,
      "mutability": "ReadWrite",
      "name": "onPremisesDomainName",
      "required": false,
      "type": "String",
      "apiExpressions": [],
      "metadata": [],
      "referencedObjects": []
    }
  9. 要在Cato SCIM架构中添加相应的目标SCIM扩展属性,请找到Cato目标目录。 搜索"name": "Cato Networks Provisioning" 或 "name": "CatoNetworks"。 如果两者都不存在,搜索"catonetworks"并定位Cato用户对象的attributes数组。

  10. 在最后一个属性后添加逗号,并在关闭之前粘贴以下条目]

    项,以添加对应的目标SCIM扩展属性。

    {
      "anchor": false,
      "caseExact": false,
      "defaultValue": null,
      "flowNullValues": false,
      "multivalued": false,
      "mutability": "ReadWrite",
      "name": "urn:ietf:params:scim:schemas:extension:catonetworks:2.0:User:sAMAccountName",
      "required": false,
      "type": "String",
      "apiExpressions": [],
      "metadata": [],
      "referencedObjects": []
    },
    {
      "anchor": false,
      "caseExact": false,
      "defaultValue": null,
      "flowNullValues": false,
      "multivalued": false,
      "mutability": "ReadWrite",
      "name": "urn:ietf:params:scim:schemas:extension:catonetworks:2.0:User:onPremisesDomainName",
      "required": false,
      "type": "String",
      "apiExpressions": [],
      "metadata": [],
      "referencedObjects": []
    }
  11. 要创建Entra属性与Cato SCIM属性之间的同步映射,请找到从Microsoft Entra ID到Cato的用户配置映射。 搜索"Provision Azure Active Directory Users" 或 "Provision Microsoft Entra ID Users",然后找到该对象的attributeMappings数组。

  12. 在该数组的末尾,找到最后一个}, 添加逗号并在关闭前粘贴以下条目]

    条目,以同步Entra和Cato SCIM属性之间的映射

    {
      "defaultValue": "",
      "exportMissingReferences": false,
      "flowBehavior": "FlowWhenChanged",
      "flowType": "Always",
      "matchingPriority": 0,
      "targetAttributeName": "urn:ietf:params:scim:schemas:extension:catonetworks:2.0:User:sAMAccountName",
      "source": {
        "expression": "[onPremisesSamAccountName]",
        "name": "onPremisesSamAccountName",
        "type": "Attribute",
        "parameters": []
      }
    },
    {
      "defaultValue": "",
      "exportMissingReferences": false,
      "flowBehavior": "FlowWhenChanged",
      "flowType": "Always",
      "matchingPriority": 0,
      "targetAttributeName": "urn:ietf:params:scim:schemas:extension:catonetworks:2.0:User:onPremisesDomainName",
      "source": {
        "expression": "[onPremisesDomainName]",
        "name": "onPremisesDomainName",
        "type": "Attribute",
        "parameters": []
      }
    }
  13. 点击 保存。 Schema Text Editor 保存成功的信息显示。

  14. 在Cato Networks SCIM应用程序中,点击配置 然后 编辑配置。

  15. 展开映射部分并点击 配置Azure Active Directory用户,然后显示高级选项。 期间Always-On和防篡改被禁用多久。

  16. 几分钟后,确保这些映射出现:

    • sAMAccountName → onPremisesSamAccountName

    • onPremisesDomainName → onPremisesDomainName

步骤2:创建代理实例

代理实例定义了站点、端点和身份验证方法。 支持的认证选项有:

  • Kerberos:代理会对每个请求进行认证,使用设备Kerberos票据中的身份,将每个会话与特定用户绑定。 这使得可以应用基于用户的策略。
    要使用Kerberos认证,请在Kerberos密钥分发中心(KDC)上生成KEYTAB文件。 KEYTAB文件包含允许Cato PoP验证Kerberos票据并确认用户身份的秘密。

  • 无认证:代理不应用用户认证。 不应用基于用户的策略。

要创建代理实例:

  1. From the navigation menu, select Resources > Site Web Proxy.

  2. 点击新建,然后选择新建代理。

  3. 为代理实例添加一个名称,并选择与该代理关联的站点。

  4. 输入设备用于连接到代理的FQDN和代理实例的端口。
    注意:相应的IP显示用于DNS解析。

  5. 选择身份验证方法。

  6. 如果选择Kerberos作为认证方法,请上传KEYTAB文件。 如果您正在创建一个未经认证的代理实例,则不需要此步骤。 期间Always-On和防篡改被禁用多久。

  7. 点击应用并创建规则。 代理实例已创建。

步骤3:定义网络规则

代理实例创建后,定义其网络规则。 每个规则由来源、目的地和操作组成。 可用操作取决于代理实例的身份验证方法。

  • Kerberos代理实例支持以下操作:

    • 认证:流量需要Kerberos认证

    • 允许:流量未经认证被允许。 当特定设备、服务或目的地可以绕过身份验证时,使用允许规则。 允许规则必须排在任何认证规则之前。
      注意:允许操作涉及Kerberos认证。 未经认证的流量由安全引擎检查,可能会被安全策略阻止。 期间Always-On和防篡改被禁用多久。

  • 对于未经认证的代理实例,仅有允许操作可用

未匹配站点Web代理规则库中规则的流量将被最终系统规则阻止。

要定义网络规则:

  1. From the navigation menu, select Resources > Site Web Proxy.

  2. 点击新建,然后选择新建代理规则。
    新建代理规则面板打开。
    注意:如果您在创建代理实例后立即定义网络规则,新建代理规则面板将自动显示。

  3. 为规则输入一个名称,选择该规则适用的代理,并选择规则在规则库中的位置。

  4. 添加要由规则执行的来源。 支持的源是IP地址或网络子网。
    注意:将规则应用于所有源,请保持此部分为空。

  5. 定义规则适用的目的地。
    注意:要将规则应用于所有目的地,请保持此部分为空。

  6. 选择通过规则应用的操作。

  7. 点击应用.

  8. 点击发布。

  9. 将站点Web代理切换设置为启用。

步骤4:配置设备的代理设置

配置设备的代理设置以将Web流量发送到站点Web代理。 推荐方法是使用PAC文件,但也可以手动进行。

要配置设备的代理设置:

  1. 配置设备的FQDN到您在创建代理实例时配置的代理FQDN。 这在代理实例的代理FQDN列中列出。

  2. 配置您的DNS服务器以将FQDN解析为Cato的IP地址。 这在代理实例的代理FQDN列中列出。 默认情况下,代理IP地址是10.254.254.7。

已知局限性

  • Kerberos认证与Microsoft Active Directory和Microsoft Azure兼容。

  • 要支持远程浏览器隔离(RBI),需要在PAC文件上进行额外配置,从代理中跳过http://rbi.catonetworks.com。 有关更多信息,请参见配置浏览会话的RBI服务。

  • 站点Web代理活动使用丰富的互联网防火墙事件进行跟踪,这些事件识别成功的代理连接。 当前没有专用站点Web代理事件类型可用。