设置 TLS 检查

本页面介绍如何为 Cloud 新一代防火墙设置传输层安全协议 (TLS) 检查

准备工作

在配置 TLS 检查之前,请完成以下部分中的任务。

启用 Certificate Authority Service

Cloud NGFW 使用 Certificate Authority Service 生成中间证书授权机构 (CA)。Cloud NGFW 使用这些中间 CA 来生成用于 TLS 检查的证书。

您可以使用 Google Cloud 控制台启用 CA Service API:

Enable the API

如需使用 Google Cloud CLI 启用 CA Service,请使用以下命令:

   gcloud services enable privateca.googleapis.com
  

启用 Certificate Manager

Cloud NGFW 使用 Certificate Manager 创建信任配置。如果您不想使用信任配置,请跳过此步骤。

您可以使用 Google Cloud 控制台启用 Certificate Manager API:

Enable the API

如需使用 Google Cloud CLI 启用 Certificate Manager,请使用以下命令:

   gcloud services enable certificatemanager.googleapis.com
  

创建信任配置

这是一个可选步骤。 如需创建信任配置,请按照本部分中的步骤操作。

  1. 创建 CA 池

    您在此步骤中创建的 CA 池与您为配置 TLS 检查政策而创建的 CA 池不同。

  2. 使用您之前创建的 CA 池创建根 CA

  3. 使用自动生成的密钥创建证书。使用您之前创建的 CA 池的名称。

  4. 从创建的证书中获取 CA 的公共证书。

    $PEM-CERT=$(gcloud privateca roots describe ROOT_CA_NAME \
       --location LOCATION \
       --project PROJECT_ID \
       --pool CA_POOL \
       --format "value(pemCaCertificates)")
    

    请替换以下内容:

    • ROOT_CA_NAME:根 CA 的名称
    • LOCATION:根 CA 的位置
    • PROJECT_ID:根 CA 的项目 ID
    • CA_POOL:创建证书的 CA 池的名称
  5. 使用上一步中获得的 PEM-CERT 创建并导入信任配置。如果您使用自己的 CA,请使用从您的 CA 获取的公共证书。

您将使用此信任配置创建 TLS 检查政策

创建 CA 池

您必须先创建 CA 池,然后才能使用 CA Service 创建 CA。如需创建 CA 池,请按照创建 CA 池中的说明操作。

您将使用此 CA 池创建 TLS 检查政策

创建根 CA

如果您还没有根 CA,则可以在 CA Service 中创建一个。如需创建根 CA,请按照创建根 CA 中的说明操作,并使用您之前创建的同一个 CA 池(请参阅创建 CA 池部分)。

创建服务账号

如果您没有服务账号,则必须创建一个服务账号并授予所需的权限。

  1. 创建服务账号:

     gcloud beta services identity create \
         --service networksecurity.googleapis.com \
         --project PROJECT_ID
    

    PROJECT_ID 替换为服务账号的项目 ID。

    Google Cloud CLI 会创建一个名为 service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com 的服务账号。 其中,PROJECT_NUMBER 是您在上述命令中提供的 PROJECT_ID 的唯一标识符。

  2. 向您的服务账号授予相应权限,以生成使用 CA 池的证书:

     gcloud privateca pools add-iam-policy-binding CA_POOL \
         --member 'serviceAccount:SERVICE_ACCOUNT' \
         --role 'roles/privateca.certificateRequester' \
         --location REGION
    

    请替换以下内容:

    • CA_POOL:创建证书的 CA 池的名称
    • SERVICE_ACCOUNT:您在上一步中创建的服务账号的名称
    • LOCATION:CA 池的区域

配置 TLS 检查

在执行本部分中的任务之前,请确保您已配置证书,或者已完成须知事项部分中列出的前提条件。

如需配置 TLS 检查,请完成以下部分中的任务。

创建 TLS 检查政策

控制台

  1. 在 Google Cloud 控制台中,进入 TLS 检查政策页面。

    前往 TLS 检查政策

  2. 在项目选择器菜单中,选择您的项目。

  3. 点击创建 TLS 检查政策

  4. 名称部分,输入名称。

  5. 可选:在说明字段中,输入说明。

  6. 区域列表中,选择要在其中创建 TLS 检查政策的区域。

  7. CA 池列表中,选择要在其中创建证书的 CA 池。

    如果您没有配置 CA 池,请点击新建池,然后按照创建 CA 池中的说明进行操作。

  8. 可选:在最低的 TLS 版本列表中,选择政策支持的最低 TLS 版本。

  9. 信任配置部分中,选择以下选项之一:

    • 仅限公共 CA:如果您要信任具有公开签名证书的服务器,请选择此选项。
    • 仅限私有 CA:如果您要信任具有私有签名证书的服务器,请选择此选项。

      私有信任配置列表中,选择配置了受信任证书存储区的信任配置,以用于信任上游服务器证书。如需详细了解如何创建信任配置,请参阅创建信任配置

    • 公共和私有 CA:如果您要同时使用公共和私有 CA,请选择此选项。

  10. 可选:在加密套件配置文件列表中,选择 TLS 配置文件类型。您可以从下列值中选择一个:

    • 兼容:可让数量最多的客户端(包括仅支持已过时的 TLS 功能的客户端)协商 TLS。
    • 新型:支持大量 TLS 功能,可让新型客户端协商 TLS。
    • 受限:支持的 TLS 功能较少,旨在满足更严格的合规要求。
    • 自定义:可让您逐个选择 TLS 功能。

      加密套件列表中,选择自定义配置文件支持的加密套件的名称。

  11. 点击创建

gcloud

  1. 创建 YAML 文件 TLS_INSPECTION_FILE.yaml。将 TLS_INSPECTION_FILE 替换为您选择的文件名。

  2. 将以下代码添加到 YAML 文件中以配置 TLS 检查政策。

    name: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
    caPool: projects/PROJECT_ID/locations/REGION/caPools/CA_POOL
    minTlsVersion: TLS_VERSION
    tlsFeatureProfile: PROFILE_TYPECIPHER_NAME
    excludePublicCaSet: `TRUE`|`FALSE`
    trustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME
    

    请替换以下内容:

    • PROJECT_ID:TLS 检查政策的项目 ID
    • REGION:创建 TLS 检查政策的区域
    • TLS_INSPECTION_NAME:TLS 检查政策的名称
    • CA_POOL:创建证书的 CA 池的名称

      CA 池必须位于同一区域。

    • TLS_VERSION:可选参数,用于指定 Cloud NGFW 支持的最低 TLS 版本

      您可以从下列值中选择一个:

      • TLS_1_0
      • TLS_1_1
      • TLS_1_2
    • PROFILE_TYPE:可选参数,用于指定 TLS 配置文件的类型

      您可以从下列值中选择一个:

      • PROFILE_COMPATIBLE:可让数量最多的客户端(包括仅支持已过时的 TLS 功能的客户端)协商 TLS。
      • PROFILE_MODERN:支持大量 TLS 功能,可让新型客户端协商 TLS。
      • PROFILE_RESTRICTED:支持的 TLS 功能较少,旨在满足更严格的合规要求。
      • PROFILE_CUSTOM:可让您逐个选择 TLS 功能。
    • CIPHER_NAME:可选参数,用于指定自定义配置文件支持的加密套件的名称

      仅当配置文件类型设置为 PROFILE_CUSTOM 时,您才能指定此参数。

    • excludePublicCaSet:可选标志,用于包含或排除公共 CA 集。 此标志默认设置为 false。此标志设置为 true 时,TLS 连接不信任公共 CA 服务器。在这种情况下,Cloud NGFW 只能与具有信任配置中的 CA 签名的证书的服务器建立 TLS 连接。

    • TRUST_CONFIG_NAME:可选参数,用于指定信任配置资源的名称

  3. 导入您在创建 TLS 检查政策部分中创建的 TLS 检查政策

    gcloud network-security tls-inspection-policies import TLS_INSPECTION_NAME \
        --source TLS_INSPECTION_FILE.yaml \
        --location REGION
    

    替换以下内容:

    • TLS_INSPECTION_NAME:TLS 检查政策的名称
    • TLS_INSPECTION_FILE:TLS 检查政策 YAML 文件的名称

查看 TLS 检查政策的详细信息

您可以查看在项目中创建的 TLS 检查政策的相关信息。

控制台

  1. 在 Google Cloud 控制台中,进入 TLS 检查政策页面。

    前往 TLS 检查政策

  2. 在项目选择器菜单中,选择您的项目。

  3. TLS 检查部分列出了 TLS 检查政策。

  4. 如需查看详细信息,请点击 TLS 检查政策的名称。

将 TLS 检查政策添加到防火墙端点关联

如需将 TLS 检查政策添加到防火墙端点关联,请按照创建防火墙端点关联中所述的步骤操作。

使用 TLS 检查配置防火墙政策规则

如需为您的 Virtual Private Cloud (VPC) 网络启用 TLS 检查,请在防火墙政策规则中设置 --tls-inspect 标志。此标志表示在应用安全配置文件组时,可以执行 TLS 检查。

如需详细了解如何在分层防火墙政策规则中启用 --tls-inspect 标志,请参阅创建防火墙规则

如需详细了解如何在全球网络防火墙政策规则中启用 --tls-inspect 标志,请参阅创建全球网络防火墙规则

管理 TLS 检查政策

您可以列出、更新和删除项目中的 TLS 检查政策。

列出所有 TLS 检查政策

您可以列出项目中的所有 TLS 检查政策。

控制台

  1. 在 Google Cloud 控制台中,进入 TLS 检查政策页面。

    前往 TLS 检查政策

  2. 在项目选择器菜单中,选择您的项目。

  3. TLS 检查部分列出了 TLS 检查政策。

gcloud

如需列出所有 TLS 检查政策,请使用 gcloud network-security tls-inspection-policies list 命令

gcloud network-security tls-inspection-policies list \
    --project PROJECT_ID \
    --location REGION

替换以下内容:

  • PROJECT_ID:TLS 检查政策的项目 ID
  • REGION:您要列出其 TLS 检查政策的区域的名称

修改 TLS 检查政策

您可以修改项目中的现有 TLS 检查政策。

控制台

  1. 在 Google Cloud 控制台中,进入 TLS 检查政策页面。

    前往 TLS 检查政策

  2. 在项目选择器菜单中,选择您的项目。

  3. TLS 检查部分列出了 TLS 检查政策。

  4. 如需修改政策,请点击 TLS 检查政策的名称。

  5. 点击修改

  6. 修改必填字段。如需详细了解每个字段,请参阅创建 TLS 检查政策

  7. 点击保存

删除 TLS 检查政策

您可以从项目中删除 TLS 检查政策。但是,如果防火墙端点关联引用了 TLS 检查政策,则无法删除该 TLS 检查政策。

控制台

  1. 在 Google Cloud 控制台中,进入 TLS 检查政策页面。

    前往 TLS 检查政策

  2. 在项目选择器菜单中,选择您的项目。

  3. TLS 检查部分列出了 TLS 检查政策。

  4. 如需删除 TLS 检查政策,请选中其名称旁边的复选框。

  5. 点击删除

  6. 再次点击删除

gcloud

如需删除 TLS 检查政策,请使用 gcloud network-security tls-inspection-policies delete 命令

gcloud network-security tls-inspection-policies delete \
    projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME \
    --location REGION

替换以下内容:

  • PROJECT_ID:TLS 检查政策的项目 ID
  • TLS_INSPECTION_NAME:TLS 检查的名称
  • REGION:创建 TLS 检查政策的区域

后续步骤