이 페이지에서는 Cloud Firewall의 전송 계층 보안(TLS) 검사를 설정하는 방법을 설명합니다.
시작하기 전에
TLS 검사를 구성하기 전에 다음 섹션의 태스크를 완료하세요.
Certificate Authority Service 사용 설정
Cloud Firewall은 Certificate Authority Service를 사용하여 중간 인증 기관(CA)을 생성합니다. Cloud Firewall은 이러한 중간 CA를 사용하여 TLS 검사에 사용되는 인증서를 생성합니다.
CA 서비스를 사용 설정하려면 다음 명령어를 사용합니다.
gcloud services enable privateca.googleapis.com
인증서 관리자 사용 설정
Cloud Firewall은 인증서 관리자를 사용하여 트러스트 구성을 만듭니다. 트러스트 구성을 사용하지 않으려면 이 단계를 건너뜁니다.
인증서 관리자를 사용 설정하려면 다음 명령어를 사용합니다.
gcloud services enable certificatemanager.googleapis.com
트러스트 구성 만들기
이 단계는 선택사항입니다. 트러스트 구성을 만들려면 이 섹션의 단계를 수행합니다.
-
이 단계에서 만드는 CA 풀은 TLS 검사 정책을 구성하기 위해 만드는 CA 풀과 다릅니다.
앞에서 만든 CA 풀을 사용하여 루트 CA를 만듭니다.
자동 생성된 키를 사용하여 인증서를 만듭니다. 앞에서 만든 이름과 동일한 CA 풀 이름을 사용합니다.
생성된 인증서에서 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의 프로젝트 IDCA_POOL
: 인증서를 만들 CA 풀의 이름
이전 단계에서 가져온
PEM-CERT
를 사용하여 트러스트 구성 만들고 가져옵니다. 자체 CA를 사용하는 경우 CA에서 가져온 공개 인증서를 사용합니다.
이 트러스트 구성을 사용하여 TLS 검사 정책을 만듭니다.
CA 풀 만들기
CA 서비스를 사용하여 CA를 만들려면 먼저 CA 풀을 만들어야 합니다. CA 풀을 만들려면 CA 풀 만들기의 안내를 따릅니다.
이 CA 풀을 사용하여 TLS 검사 정책을 만듭니다.
루트 CA 만들기
기존 루트 CA가 없으면 CA 서비스 내에 루트 CA를 만들 수 있습니다. 루트 CA를 만들려면 루트 CA 만들기의 안내를 따르고 앞에서 만든 동일한 CA 풀을 사용합니다. CA 풀 만들기 섹션을 참조하세요.
서비스 계정 만들기
서비스 계정이 없는 경우 서비스 계정을 만들고 필요한 권한을 부여해야 합니다.
서비스 계정을 만듭니다.
gcloud beta services identity create \ --service networksecurity.googleapis.com \ --project PROJECT_ID
PROJECT_ID
를 서비스 계정의 프로젝트 ID로 바꿉니다.Google Cloud CLI에서
service-PROJECT_ID@gcp-sa-networksecurity.iam.gserviceaccount.com
이라는 서비스 계정을 만듭니다.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 검사 정책 만들기
YAML 파일
TLS_INSPECTION_FILE.yaml
을 만듭니다.TLS_INSPECTION_FILE
를 원하는 파일 이름으로 바꿉니다.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 검사 정책의 프로젝트 IDREGION
: TLS 검사 정책이 생성되는 리전TLS_INSPECTION_NAME
: TLS 검사 정책 이름CA_POOL
: 인증서를 만들 CA 풀의 이름CA 풀은 같은 리전 내에 있어야 합니다.
TLS_VERSION
: Cloud Firewall에서 지원하는 최소 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 Firewall은 트러스트 구성에서 CA가 서명한 인증서를 사용하여 서버에 대한 TLS 연결만 수행할 수 있습니다.
TRUST_CONFIG_NAME
: 트러스트 구성 리소스 이름
TLS 검사 정책 가져오기
TLS 검사 정책 만들기 섹션에서 만든 TLS 검사 정책을 가져옵니다.
gcloud beta 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 검사 정책을 방화벽 엔드포인트 연결에 추가하려면 방화벽 엔드포인트 만들기 및 연결에 설명된 단계를 따릅니다.
TLS 검사로 방화벽 정책 규칙 구성
Virtual Private Cloud(VPC) 네트워크에 TLS 검사를 사용 설정하려면 방화벽 정책 규칙에서 --tls-inspect
플래그를 설정합니다. 이 플래그는 보안 프로필 그룹이 적용될 때 TLS 검사가 수행될 수 있음을 나타냅니다.
계층식 방화벽 정책 규칙에서 --tls-inspect
플래그를 사용 설정하는 방법에 대한 자세한 내용은 방화벽 규칙 만들기를 참조하세요.
전역 네트워크 방화벽 정책 규칙에서 --tls-inspect
플래그를 사용 설정하는 방법에 대한 자세한 내용은 전역 네트워크 방화벽 규칙 만들기를 참조하세요.