네트워크에서 URL 필터링 서비스 설정

URL 필터링 서비스를 사용하면 이그레스 HTTP 또는 HTTPS 메시지에서 사용할 수 있는 도메인 및 서버 이름 표시 (SNI) 정보를 사용하여 Google Cloud 워크로드 트래픽을 필터링할 수 있습니다. 이 서비스는 구성된 악성 URL 목록과의 통신을 차단하여 네트워크를 위협으로부터 보호합니다. 네트워크에서 이 서비스를 사용 설정하려면 Cloud Next Generation Firewall 구성요소를 여러 개 설정해야 합니다. 이 튜토리얼에서는 네트워크에서 URL 필터링 서비스를 구성하기 위한 엔드 투 엔드 워크플로를 설명합니다.

목표

이 튜토리얼에서는 다음 작업을 완료하는 방법을 보여줍니다.

  • 2개의 서브넷이 있는 가상 프라이빗 클라우드(VPC) 네트워크를 만듭니다.
  • VPC 네트워크의 첫 번째 서브넷에 서버 가상 머신(VM) 인스턴스를 만들고 이 VM에 Apache 서버를 설치합니다.
  • VPC 네트워크의 두 번째 서브넷에 클라이언트 VM 인스턴스를 만듭니다.
  • 보안 프로필 그룹과 함께 URL 필터링 보안 프로필을 만듭니다.
  • 방화벽 엔드포인트를 만들고 이를 VPC 네트워크와 연결합니다.
  • 다음 방화벽 규칙으로 전역 네트워크 방화벽 정책을 추가합니다.
    • VPC 네트워크의 VM 인스턴스에 대해 IAP(Identity-Aware Proxy) 액세스를 사용 설정하는 방화벽 규칙
    • 모든 이그레스 트래픽을 레이어 7에서 검사하도록 지시하는 방화벽 규칙
  • 서버 VM 인스턴스로의 트래픽이 허용되는지 확인합니다.
  • 리소스를 삭제합니다.

다음 다이어그램은 이 튜토리얼에 사용된 배포 설정 아키텍처를 간략하게 보여줍니다. VPC vpc-urlf의 방화벽 정책 fw-policy-urlf는 모든 이그레스 트래픽을 asia-southeast1-a 영역의 방화벽 엔드포인트 endpoint-urlf로 리디렉션합니다. 엔드포인트는 URL 필터링 보안 프로필 sec-profile-urlf에 나열된 URL과 일치하는지 출구 HTTP 또는 HTTPS 메시지에서 도메인 및 SNI 정보를 검사합니다. 엔드포인트에서 일치하는 항목을 찾으면 트래픽을 허용하고, 그렇지 않으면 거부합니다.

악성 URL과의 통신을 방지하기 위한 커스텀 VPC 네트워크의 URL 필터링 서비스
커스텀 VPC 네트워크의 URL 필터링 서비스 (확대하려면 클릭).

비용

방화벽 엔드포인트 만들기에는 비용이 발생합니다. 가격 책정에 대한 자세한 내용은 클라우드 차세대 방화벽 가격 책정을 참조하세요.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. 프로젝트에서 Compute Engine API를 사용 설정합니다.
  7. 프로젝트에 대해 Network Security API를 사용 설정합니다.
  8. 프로젝트에 대해 Identity-Aware Proxy API를 사용 설정합니다.
  9. 조직에서 Compute 네트워크 관리자(roles/compute.networkAdmin)에게 조직에 대한 IAM 역할을 부여합니다.
  10. 명령줄 작업을 더 선호할 경우에는 Google Cloud CLI를 설치합니다. 도구에 대한 개념 및 설치 정보는 gcloud CLI 개요를 참조하세요.

    참고 이전에 gcloud CLI를 실행한 적이 없다면 먼저 gcloud init를 실행하여 gcloud CLI 디렉터리를 초기화합니다.

서브넷이 있는 커스텀 VPC 네트워크 만들기

이 섹션에서는 2개의 IPv4 서브넷이 있는 커스텀 모드 VPC 네트워크를 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. VPC 네트워크 만들기를 클릭합니다.

  3. 이름vpc-urlf를 입력합니다.

  4. 설명VPC network to set up URL filtering service를 입력합니다.

  5. 서브넷 생성 모드커스텀을 선택합니다.

  6. 새 서브넷 섹션에서 서브넷에 다음 구성 매개변수를 지정합니다.

    • 이름: subnet-server-urlf
    • 리전: asia-southeast1
    • IPv4 범위: 10.0.0.0/24
  7. 완료를 클릭합니다.

  8. 서브넷 추가를 클릭하고 다음 구성 매개변수를 지정합니다.

    • 이름: subnet-client-urlf
    • 리전: us-central1
    • IPv4 범위: 192.168.10.0/24
  9. 완료를 클릭합니다.

  10. 만들기를 클릭합니다.

gcloud

  1. VPC 네트워크를 만들려면 다음 명령어를 실행합니다.

    gcloud compute networks create vpc-urlf \
      --subnet-mode custom \
      --description "VPC network to set up URL filtering service."
    
  2. Cloud Shell 승인 대화상자에서 승인을 클릭합니다.

  3. 서브넷을 만들려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets create subnet-server-urlf \
      --network vpc-urlf \
      --region asia-southeast1 \
      --range 10.0.0.0/24
    
  4. 다른 서브넷을 만들려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets create subnet-client-urlf \
      --network vpc-urlf \
      --region us-central1 \
      --range 192.168.10.0/24
    

Cloud Router 및 Cloud NAT 게이트웨이 만들기

다음 섹션에서 공개 IPv4 주소가 없는 클라이언트 및 서버 Linux VM 인스턴스를 만들기 전에 이러한 VM이 공개 인터넷에 액세스할 수 있도록 Cloud Router 및 Cloud NAT 게이트웨이를 만들어야 합니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. 시작하기 또는 Cloud NAT 게이트웨이 만들기를 클릭합니다.

  3. 게이트웨이 이름gateway-urlf을 입력합니다.

  4. NAT 유형에서 Public 을 선택합니다.

  5. Cloud Router 선택 섹션에서 다음 구성 매개변수를 지정합니다.

    • 네트워크: vpc-urlf
    • 리전: asia-southeast1
    • Cloud Router: 새 라우터 만들기
      1. 이름router-urlf를 입력합니다.
      2. 만들기를 클릭합니다.
  6. 만들기를 클릭합니다.

gcloud

  1. Cloud Router를 만들려면 다음 명령어를 실행합니다.

    gcloud compute routers create router-urlf \
      --network=vpc-urlf \
      --region=asia-southeast1
    
  2. Cloud NAT 게이트웨이를 만들려면 다음 명령어를 실행합니다.

    gcloud compute routers nats create gateway-urlf \
      --router=router-urlf \
      --region=asia-southeast1 \
      --auto-allocate-nat-external-ips \
      --nat-all-subnet-ip-ranges
    

VM 인스턴스 만들기

이 섹션에서는 서버 및 클라이언트 VM 인스턴스를 만듭니다. VM 인스턴스를 만드는 데 필요한 권한과 역할을 확인하려면 필수 역할을 참고하세요.

서버 VM 인스턴스 만들기

이 섹션에서는 subnet-server-urlf 서브넷에서 VM 인스턴스를 만들고 여기에 Apache 서버를 설치합니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기로 이동

  2. 머신 구성 창에서 다음을 수행합니다.

    1. 이름vm-server-urlf를 입력합니다.
    2. 리전에서 asia-southeast1 (Singapore)을 선택합니다.
    3. 영역에서 asia-southeast1-a를 선택합니다.
  3. 탐색 메뉴에서 OS 및 스토리지를 클릭합니다.

    운영체제 및 스토리지 섹션에서 이미지Debian GNU/Linux 12(bookworm)인지 확인합니다. 그렇지 않으면 변경을 클릭하고 운영체제 필드를 Debian으로 설정하고 버전 필드를 Debian GNU/Linux 12(bookworm)로 설정합니다.

  4. 탐색 메뉴에서 네트워킹을 클릭합니다.

    1. 네트워크 인터페이스 섹션에서 다음 구성 파라미터를 지정합니다.
      • 네트워크: vpc-urlf
      • 서브네트워크: subnet-server-urlf IPv4 (10.0.0.0/24)
      • 외부 IPv4 주소: None
    2. 완료를 클릭합니다.
  5. 탐색 메뉴에서 고급을 클릭하고 자동화 섹션에 있는 시작 스크립트 필드에 다음 스크립트를 입력합니다.

      #! /bin/bash
      apt update
      apt -y install apache2
      cat <<EOF > /var/www/html/index.html
      <html><body><p>Hello world.</p></body></html>
      EOF
    
  6. 만들기를 클릭합니다.

gcloud

서버 VM을 만들려면 다음 명령어를 실행합니다.

gcloud compute instances create vm-server-urlf \
    --network vpc-urlf \
    --zone asia-southeast1-a \
    --network-interface=stack-type=IPV4_ONLY,subnet=subnet-server-urlf,no-address \
    --image-project debian-cloud \
    --image-family debian-12 \
    --metadata=startup-script='#! /bin/bash
     apt update
     apt -y install apache2
     cat <<EOF > /var/www/html/index.html
     <html><body><p>Hello World.</p></body></html>
     EOF'

서버 VM에 도메인 URL을 사용하려면 다음 단계를 따르세요.

클라이언트 VM 인스턴스 만들기

이 섹션에서는 subnet-client-urlf 서브넷에서 VM 인스턴스를 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기로 이동

  2. 머신 구성 창에서 다음을 수행합니다.

    1. 이름vm-client-urlf를 입력합니다.
    2. 리전에서 us-central1 (Iowa)을 선택합니다.
    3. 영역에서 us-central1-a를 선택합니다.
  3. 탐색 메뉴에서 네트워킹을 클릭합니다.

    1. 네트워크 인터페이스 섹션에서 다음 구성 파라미터를 지정합니다.
      • 네트워크: vpc-urlf
      • 서브네트워크: subnet-client-urlf IPv4 (192.168.10.0/24)
      • 외부 IPv4 주소: None
    2. 완료를 클릭합니다.
  4. 만들기를 클릭합니다.

gcloud

클라이언트 VM을 만들려면 다음 명령어를 실행합니다.

gcloud compute instances create vm-client-urlf \
    --network vpc-urlf \
    --zone us-central1-a \
    --network-interface=stack-type=IPV4_ONLY,subnet=subnet-client-urlf,no-address \

URL 필터링 보안 프로필 만들기

이 섹션에서는 조직에서 url-filtering 유형의 보안 프로필을 만듭니다. URL 필터링 보안 프로필을 만드는 데 필요한 권한과 역할을 보려면 URL 필터링 보안 프로필 만들기를 참고하세요.

콘솔

  1. Google Cloud 콘솔에서 보안 프로필 페이지로 이동합니다.

    보안 프로필로 이동

  2. 프로젝트 선택기 메뉴에서 조직을 선택합니다.

  3. 보안 프로필 탭을 선택합니다.

  4. 프로필 만들기를 클릭합니다.

  5. 이름sec-profile-urlf을 입력합니다.

  6. 설명Security profile to set up URL filtering service을 입력합니다.

  7. 용도 섹션에서 Cloud NGFW Enterprise를 선택하여 방화벽과 연결된 보안 프로필을 만들 것임을 지정합니다.

  8. 유형 섹션에서 URL 필터링을 선택하여 url-filtering 유형의 보안 프로필을 만들 것임을 지정합니다.

  9. URL 필터 섹션에서 URL 필터 만들기 버튼을 클릭하여 새 URL 필터를 만듭니다. URL 필터 만들기 창에서 다음 세부정보를 지정합니다.

    • 우선순위: URL 필터의 우선순위를 지정합니다. 예를 들면 1000입니다.
    • 작업: 서버 VM 인스턴스로 향하는 트래픽을 허용하려면 허용을 지정합니다.
    • URL 목록: 서버 VM 인스턴스의 도메인 URL을 지정합니다. 예를 들면 www.example.com입니다.
  10. 만들기를 클릭합니다.

gcloud

보안 프로필에 다음 콘텐츠를 사용하여 YAML 파일을 만듭니다.

name: sec-profile-urlf
type: url-filtering
urlFilteringProfile:
  urlFilters:
    - filteringAction: ALLOW
      priority: 1000
      urls: URL

YAML 파일을 사용하여 보안 프로필을 만들려면 다음 명령어를 실행합니다.

gcloud network-security security-profiles import sec-profile-urlf \
    --location global \
    --source FILE_NAME \
    --organization ORGANIZATION_ID \

다음을 바꿉니다.

  • URL: 서버 VM 인스턴스의 도메인 URL입니다. 예를 들면 www.example.com입니다.
  • FILE_NAME: 생성한 YAML 파일의 이름입니다.
  • ORGANIZATION_ID: 보안 프로필이 생성된 조직입니다.

보안 프로필 그룹 만들기

이 섹션에서는 이전 섹션에서 만든 URL 필터링 보안 프로필을 포함할 보안 프로필 그룹을 만듭니다. 보안 프로필 그룹을 만드는 데 필요한 권한과 역할을 보려면 보안 프로필 그룹 만들기를 참고하세요.

콘솔

  1. Google Cloud 콘솔에서 보안 프로필 페이지로 이동합니다.

    보안 프로필로 이동

  2. 프로젝트 선택기 메뉴에서 조직을 선택합니다.

  3. 보안 프로필 그룹 탭을 선택합니다.

  4. 프로필 그룹 만들기를 클릭합니다.

  5. 이름sec-profile-group-urlf을 입력합니다.

  6. 설명Security profile group to set up URL filtering service을 입력합니다.

  7. Cloud Next Generation Firewall Enterprise의 보안 프로필 그룹을 만들려면 용도 섹션에서 Cloud NGFW Enterprise를 선택합니다.

  8. URL 필터링 프로필 목록에서 sec-profile-urlf를 선택합니다.

  9. 만들기를 클릭합니다.

gcloud

보안 프로필 그룹을 만들려면 다음 명령어를 실행합니다.

gcloud network-security security-profile-groups \
    create sec-profile-group-urlf \
    --organization ORGANIZATION_ID \
    --location global \
    --project PROJECT_ID \
    --url-filtering-profile  \
    organizations/ORGANIZATION_ID/locations/global/securityProfiles/sec-profile-urlf \
    --description "Security profile group to set up URL filtering service."

다음을 바꿉니다.

  • ORGANIZATION_ID: 보안 프로필 그룹이 생성된 조직입니다.
  • PROJECT_ID: 보안 프로필 그룹의 할당량 및 액세스 제한에 사용할 프로젝트 ID입니다.

방화벽 엔드포인트 만들기

이 섹션에서는 특정 영역에서 방화벽 엔드포인트를 만듭니다. 방화벽 엔드포인트를 만드는 데 필요한 권한과 역할을 보려면 방화벽 엔드포인트 만들기를 참고하세요.

참고: 방화벽 엔드포인트를 만들 때는 방화벽 엔드포인트 상태가 Creating으로 설정됩니다. 방화벽 엔드포인트가 준비되면 상태가 Active로 변경됩니다. 엔드포인트를 확인하여 상태를 확인할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 방화벽 엔드포인트 페이지로 이동합니다.

    방화벽 엔드포인트로 이동

  2. 프로젝트 선택기 메뉴에서 조직을 선택합니다.

  3. 만들기를 클릭합니다.

  4. 리전 목록에서 asia-southeast1 (Singapore)을 선택합니다.

  5. 영역 목록에서 asia-southeast1-a를 선택합니다.

  6. 이름endpoint-urlf를 입력합니다.

  7. 결제 프로젝트 목록에서 방화벽 엔드포인트 결제에 사용할 Google Cloud 프로젝트를 선택한 후 계속을 클릭합니다.

  8. 만들기를 클릭합니다.

gcloud

방화벽 엔드포인트를 만들려면 다음 명령어를 실행합니다.

gcloud network-security firewall-endpoints \
    create endpoint-urlf \
    --organization ORGANIZATION_ID \
    --zone asia-southeast1-a \
    --billing-project PROJECT_ID

다음을 바꿉니다.

  • ORGANIZATION_ID: 방화벽 엔드포인트가 생성된 조직입니다.
  • PROJECT_ID: 방화벽 엔드포인트 결제에 사용할 프로젝트 ID입니다.

방화벽 엔드포인트 연결 만들기

이 섹션에서는 이전에 만든 VPC 네트워크에 방화벽 엔드포인트를 연결합니다. 방화벽 엔드포인트 연결을 만드는 데 필요한 권한과 역할을 보려면 방화벽 엔드포인트 연결 만들기를 참고하세요.

참고: 방화벽 엔드포인트 연결을 만들면 상태가 Creating으로 설정됩니다. 방화벽 엔드포인트 연결이 준비되면 상태가 Active로 변경됩니다. 엔드포인트 연결을 확인하여 상태를 확인할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. vpc-urlf 네트워크를 클릭하여 VPC 네트워크 세부정보 페이지를 표시합니다.

  3. 방화벽 엔드포인트 탭을 선택합니다.

  4. 엔드포인트 연결 만들기를 클릭합니다.

  5. 리전 목록에서 asia-southeast1을 선택합니다.

  6. 영역 목록에서 asia-southeast1-a를 선택합니다.

  7. 방화벽 엔드포인트 목록에서 endpoint-urlf를 선택합니다.

  8. 만들기를 클릭합니다.

gcloud

방화벽 엔드포인트 연결을 만들려면 다음 명령어를 실행합니다.

gcloud network-security firewall-endpoint-associations \
    create endpoint-association-urlf \
    --endpoint  organizations/ORGANIZATION_ID/locations/asia-southeast1-a/firewallEndpoints/endpoint-urlf \
    --network vpc-urlf \
    --zone asia-southeast1-a \
    --project PROJECT_ID

다음을 바꿉니다.

  • ORGANIZATION_ID: 방화벽 엔드포인트가 생성된 조직입니다.
  • PROJECT_ID: 연결이 생성되는 프로젝트 ID입니다.

전역 네트워크 방화벽 정책 만들기

이 섹션에서는 다음 2개의 방화벽 규칙을 포함하는 전역 네트워크 방화벽 정책을 만듭니다.

  1. 포트 22로의 TCP 트래픽을 허용하는 우선순위가 100인 인그레스 방화벽 규칙. 이 규칙은 VPC 네트워크에서 VM 인스턴스에 대한 IAP 액세스를 사용 설정합니다.
  2. 특정 영역에 있는 서버 VM에 대한 발신 트래픽에 대해 레이어 7 검사를 수행하는 우선순위가 200인 이그레스 방화벽 규칙

전역 네트워크 방화벽 정책 및 규칙을 만드는 데 필요한 권한과 역할을 확인하려면 전역 네트워크 방화벽 정책 만들기, VM 타겟의 인그레스 규칙 만들기, VM 타겟의 이그레스 규칙 만들기를 참고하세요.

콘솔

  1. Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.

    방화벽 정책으로 이동

  2. 프로젝트 선택기 목록에서 조직 내의 프로젝트를 선택합니다.

  3. 방화벽 정책 만들기를 클릭합니다.

  4. 정책 이름fw-policy-urlf를 입력합니다.

  5. 정책 유형에서 VPC 정책을 선택합니다.

  6. 배포 범위에서 전역을 선택합니다.

  7. 계속을 클릭한 다음 방화벽 규칙 만들기를 클릭합니다.

  8. 우선순위 필드에 100을 입력합니다.

  9. 트래픽 방향으로 수신을 선택합니다.

  10. 일치 시 작업으로 허용을 선택합니다.

  11. 로그에서 사용을 선택합니다.

  12. 소스 필터로 IPv4를 선택한 후 IP 범위 필드에 35.235.240.0/20을 입력합니다.

  13. 프로토콜 및 포트 섹션에서 지정된 프로토콜 및 포트를 선택합니다.

  14. TCP를 선택하고 포트22를 입력합니다.

  15. 만들기를 클릭합니다.

  16. 방화벽 규칙 만들기를 클릭합니다.

  17. 우선순위 필드에 200을 입력합니다.

  18. 트래픽 방향에 대해 이그레스를 선택합니다.

  19. 일치 시 작업에서 보안 프로필 그룹 적용을 선택합니다.

  20. 보안 프로필 그룹 목록에서 sec-profile-group-urlf를 선택합니다.

  21. 로그에서 사용을 선택합니다.

  22. 대상 필터에서 IPv4를 선택한 후 IP 범위 필드에 0.0.0.0/0을 입력합니다.

  23. 프로토콜 및 포트 섹션에서 지정된 프로토콜 및 포트를 선택합니다.

  24. TCP를 선택하고 포트80, 443를 입력합니다.

  25. 만들기를 클릭합니다.

  26. 계속을 클릭하여 미러링 규칙 추가 섹션으로 이동합니다.

  27. 계속을 다시 클릭하여 정책을 네트워크와 연결 섹션을 엽니다.

  28. vpc-urlf 네트워크를 선택합니다.

  29. 연결을 클릭합니다.

  30. 만들기를 클릭합니다.

gcloud

  1. 전역 네트워크 방화벽 정책을 만들려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies \
      create fw-policy-urlf \
      --global \
      --project PROJECT_ID
    

    다음을 바꿉니다.

    • PROJECT_ID: 전역 네트워크 방화벽 정책이 생성된 프로젝트 ID입니다.
  2. IAP 액세스를 사용 설정하는 방화벽 규칙을 추가하려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies rules create 100 \
      --firewall-policy fw-policy-urlf \
      --direction INGRESS \
      --action ALLOW \
      --src-ip-ranges 35.235.240.0/20 \
      --layer4-configs tcp:22 \
      --global-firewall-policy \
      --enable-logging
    
  3. URL 필터링을 위해 레이어 7 검사를 사용 설정하는 방화벽 규칙을 추가하려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies rules create 200 \
      --direction EGRESS \
      --firewall-policy fw-policy-urlf \
      --action apply_security_profile_group \
      --dest-ip-ranges 0.0.0.0/0 \
      --layer4-configs tcp:80, tcp:443 \
      --global-firewall-policy \
      --security-profile-group \
      //networksecurity.googleapis.com/organizations/ORGANIZATION_ID \
      /locations/global/securityProfileGroups/sec-profile-group-urlf \
      --enable-logging
    

    다음을 바꿉니다.

    • ORGANIZATION_ID: 보안 프로필 그룹이 생성된 조직입니다.
  4. 방화벽 정책을 VPC 네트워크와 연결하려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies associations create \
     --firewall-policy fw-policy-urlf \
     --network vpc-urlf \
     --name fw-pol-association-urlf \
     --global-firewall-policy \
     --project PROJECT_ID
    

    다음을 바꿉니다.

    • PROJECT_ID: VPC 연결이 생성된 프로젝트 ID입니다.

설정 테스트

이 섹션에서는 엔드포인트가 가로채는 트래픽을 생성하여 설정을 테스트하고 레이어 7 검사를 수행하도록 전역 네트워크 방화벽 정책을 적용합니다.

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. vm-client-urlf VM의 연결 열에서 SSH를 클릭합니다.

  3. 브라우저에서 SSH를 통해 연결 대화상자에서 승인을 클릭하고 연결이 설정될 때까지 기다립니다.

  4. 서버 VM 인스턴스에 대한 요청이 허용되는지 확인하려면 다음 명령어를 실행합니다.

    curl URL -m 2
    

    URLvm-server-urlf 서버 VM 인스턴스의 도메인 URL로 바꿉니다. 예를 들면 www.example.com입니다.

    URL 필터 (우선순위 1000)가 패킷을 허용하므로 요청이 성공합니다.

  5. 브라우저에서 SSH를 통해 연결 대화상자를 닫습니다.

gcloud

  1. vm-client-urlf VM에 연결하려면 다음 명령어를 실행합니다.

    gcloud compute ssh vm-client-urlf \
       --zone=us-central1-a \
       --tunnel-through-iap
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

  2. 서버 VM 인스턴스에 대한 요청이 허용되는지 확인하려면 다음 명령어를 실행합니다.

    curl URL -m 2
    

    URLvm-server-urlf 서버 VM 인스턴스의 도메인 URL로 바꿉니다. 예를 들면 www.example.com입니다.

    URL 필터 (우선순위 1000)가 패킷을 허용하므로 요청이 성공합니다.

  3. 브라우저에서 SSH를 통해 연결을 닫으려면 exit를 입력합니다.

URL 필터링 서비스 로그 보기

  1. 로그 탐색기로 이동합니다.
  2. 쿼리 창에 다음 쿼리를 입력합니다. PROJECT_ID를 프로젝트의 ID로 바꿉니다.

      resource.type="networksecurity.googleapis.com/FirewallEndpoint" logName="projects/PROJECT_ID/logs/networksecurity.googleapis.com%2Ffirewall_url_filter"
    

삭제

이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트는 유지하되 개별 리소스를 삭제하세요.

이 섹션에서는 이 튜토리얼에서 만든 리소스를 삭제합니다.

방화벽 엔드포인트 연결 삭제

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. vpc-urlf 네트워크를 클릭하여 VPC 네트워크 세부정보 페이지를 표시합니다.

  3. 방화벽 엔드포인트 탭을 선택합니다. 구성된 방화벽 엔드포인트 연결 목록이 탭에 표시됩니다.

  4. endpoint-association-urlf 옆의 체크박스를 선택한 다음 삭제를 클릭합니다.

  5. 삭제를 다시 클릭하여 확인합니다.

gcloud

방화벽 엔드포인트 연결을 삭제하려면 다음 명령어를 실행합니다.

gcloud network-security firewall-endpoint-associations \
    delete endpoint-association-urlf \
    --zone asia-southeast1-a

방화벽 엔드포인트 삭제

콘솔

  1. Google Cloud 콘솔에서 방화벽 엔드포인트 페이지로 이동합니다.

    방화벽 엔드포인트로 이동

  2. endpoint-urlf를 선택한 후 삭제를 클릭합니다.

  3. 삭제를 다시 클릭하여 확인합니다.

gcloud

방화벽 엔드포인트를 삭제하려면 다음 명령어를 실행합니다.

gcloud network-security firewall-endpoints delete endpoint-urlf \
    --organization ORGANIZATION_ID \
    --zone asia-southeast1-a

다음을 바꿉니다.

  • ORGANIZATION_ID: 엔드포인트가 생성된 조직입니다.

전역 네트워크 방화벽 정책 삭제

콘솔

  1. Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.

    방화벽 정책으로 이동

  2. 프로젝트 선택기 메뉴에서 정책이 포함된 프로젝트를 선택합니다.

  3. fw-policy-urlf을 클릭합니다.

  4. 연결 탭을 클릭합니다.

  5. 모든 연결을 선택합니다.

  6. 연결 삭제를 클릭합니다.

  7. 연결을 모두 삭제한 후 삭제를 클릭합니다.

gcloud

  1. 방화벽 정책과 VPC 네트워크 사이의 연결을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies associations delete \
      --name fw-pol-association-urlf \
      --firewall-policy fw-policy-urlf \
      --global-firewall-policy
    
  2. 방화벽 정책을 삭제합니다.

    gcloud compute network-firewall-policies delete fw-policy-urlf --global
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

보안 프로필 그룹 삭제

콘솔

  1. Google Cloud 콘솔에서 보안 프로필 페이지로 이동합니다.

    보안 프로필로 이동

  2. 보안 프로필 그룹 탭을 선택합니다.

  3. sec-profile-group-urlf를 선택한 후 삭제를 클릭합니다.

  4. 삭제를 다시 클릭하여 확인합니다.

gcloud

보안 프로필 그룹을 삭제하려면 다음 명령어를 실행합니다.

gcloud network-security security-profile-groups \
    delete sec-profile-group-urlf \
    --organization ORGANIZATION_ID \
    --location global

다음을 바꿉니다.

  • ORGANIZATION_ID: 보안 프로필 그룹이 생성된 조직입니다.

URL 필터링 보안 프로필 삭제

콘솔

  1. Google Cloud 콘솔에서 보안 프로필 페이지로 이동합니다.

    보안 프로필로 이동

  2. 보안 프로필 탭을 선택합니다. 구성된 보안 프로필 목록이 탭에 표시됩니다.

  3. sec-profile-urlf를 선택한 후 삭제를 클릭합니다.

  4. 삭제를 다시 클릭하여 확인합니다.

gcloud

보안 프로필을 삭제하려면 다음 명령어를 실행합니다.

gcloud network-security security-profiles url-filtering \
    delete sec-profile-urlf \
    --organization ORGANIZATION_ID \
    --location global

다음을 바꿉니다.

  • ORGANIZATION_ID: 보안 프로필이 생성된 조직입니다.

VM 삭제

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. vm-client-urlfvm-server-urlf VM의 체크박스를 모두 선택합니다.

  3. 삭제를 클릭합니다.

  4. 인스턴스 2개 삭제 대화상자에서 삭제를 클릭합니다.

gcloud

  1. vm-client-urlf VM을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute instances delete vm-client-urlf \
      --zone us-central1-a
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

  2. vm-server-urlf VM을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute instances delete vm-server-urlf \
      --zone asia-southeast1-a
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

Cloud NAT 게이트웨이 및 Cloud Router 삭제

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. gateway-urlf 게이트웨이 구성 옆에 있는 체크박스를 선택합니다.

  3. 메뉴에서 삭제를 클릭합니다.

  4. Google Cloud 콘솔에서 Cloud Routers 페이지로 이동합니다.

    Cloud Router로 이동

  5. router-urlf 라우터 옆의 체크박스를 선택합니다.

  6. 삭제를 클릭합니다.

gcloud

  1. Cloud NAT 게이트웨이를 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute routers nats delete gateway-urlf \
      --router=router-urlf \
      --region=asia-southeast1
    
  2. Cloud Router를 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute routers delete router-urlf \
      --project=PROJECT_ID \
      --region=asia-southeast1
    

다음을 바꿉니다.

  • PROJECT_ID: Cloud Router가 포함된 프로젝트의 ID입니다.

VPC 네트워크 및 해당 서브넷 삭제

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. 이름 열에서 vpc-urlf를 클릭합니다.

  3. VPC 네트워크 삭제를 클릭합니다.

  4. 네트워크 삭제 대화상자에서 삭제를 클릭합니다.

VPC를 삭제하면 해당 서브넷도 삭제됩니다.

gcloud

  1. vpc-urlf VPC 네트워크의 subnet-client-urlf 서브넷을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets delete subnet-client-urlf \
        --region us-central1
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

  2. vpc-urlf VPC 네트워크의 subnet-server-urlf 서브넷을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets delete subnet-server-urlf \
        --region=asia-southeast1
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

  3. vpc-urlf VPC 네트워크를 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks delete vpc-urlf
    

DNS 영역 삭제

서버 VM 도메인 URL에 대해 생성한 DNS 영역을 삭제합니다.

다음 단계