방화벽 규칙 검토 및 최적화

이 페이지에서는 Virtual Private Cloud(VPC) 방화벽 사용을 검토하고 최적화하기 위한 몇 가지 일반적인 방화벽 통계 태스크에 대해 설명합니다. 이러한 태스크를 수행하여 방화벽 규칙 구성을 최적화하고 보안 경계를 강화합니다.

예를 들어 많은 프로젝트 및 애플리케이션이 포함된 여러 대규모 공유 VPC 네트워크를 지원하는 네트워크 관리자 또는 네트워크 보안 엔지니어인 경우 예상되는 네트워크 상태에 따라 일관성을 보장하기 위해 시간 경과에 따라 누적된 대규모 방화벽 규칙 볼륨을 검토하고 최적화해야 합니다. 다음 태스크를 수행하여 방화벽 규칙을 검토 및 최적화할 수 있습니다.

필수 역할 및 권한

방화벽 통계를 사용하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 방화벽 통계를 사용하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.

필수 권한

방화벽 통계를 사용하려면 다음 권한이 필요합니다.

  • recommender.computeFirewallInsights.list
  • recommender.computeFirewallInsights.update

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

지난 30일 동안 VM에 적용된 규칙 보기

잘못된 구성 및 불필요한 섀도 처리된 규칙을 방지하는 데 도움이 되는 규칙을 검토하려면 다음을 수행합니다.

콘솔

  1. Google Cloud Console에서 Compute Engine VM 인스턴스 페이지로 이동합니다.

    Compute Engine VM 인스턴스로 이동

  2. 필터 필드에서 다음 키-값 쌍 중 하나를 입력해 인스턴스를 필터링하여 관련 VM을 찾습니다.

    Network tags:TAG_NAME

    TAG_NAME을 VPC 네트워크에 할당된 태그로 바꿉니다.

    Internal IP:INTERNAL_IP_ADDRESS

    INTERNAL_IP_ADDRESS를 VM 인터페이스의 내부 IP 주소로 바꿉니다.

    External IP:EXTERNAL_IP_ADDRESS

    EXTERNAL_IP_ADDRESS를 VM 인터페이스의 외부 IP 주소로 바꿉니다.

  3. VM 인터페이스 검색 결과에서 VM을 선택하고 추가 작업 메뉴를 클릭합니다.

  4. 메뉴에서 네트워크 세부정보 보기를 선택합니다.

  5. 네트워크 인터페이스 세부정보 페이지에서 다음 단계를 완료합니다.

    1. 방화벽 및 경로 세부정보 섹션에서 방화벽을 클릭한 다음 필터를 클릭합니다.
    2. last hit after:YYYY-MM-DD를 입력하여 방화벽 규칙을 필터링합니다. 이 필터 표현식은 최근 적중 항목이 있는 방화벽 규칙을 찾습니다.

    3. 방화벽 규칙의 경우 적중 횟수 열의 숫자를 클릭하여 다음 예시 쿼리와 같이 방화벽 로그를 열고 트래픽 세부정보를 검토합니다. 쿼리를 입력하려면 필터 제출을 클릭하세요.

      jsonPayload.rule_details.reference:("network:network1/firewall:allow-tcp") AND
      jsonPayload.instance.project_id:("p6ntest-firewall-intelligence") AND
      jsonPayload.instance.zone:("us-central1-c") AND
      jsonPayload.instance.vm_name:("instance2")
      
    4. 방화벽 로그 세부정보를 추가로 필터링하려면 하나 이상의 Cloud Logging 필터를 추가합니다. 예를 들어 다음 예시 쿼리에서는 소스 IP 주소(src_ip)로 필터링하는 필터를 추가합니다. 쿼리를 입력하려면 필터 제출을 클릭하세요.

      jsonPayload.rule_details.reference:("network:network1/firewall:allow-tcp") AND
      jsonPayload.instance.project_id:("p6ntest-firewall-intelligence") AND
      jsonPayload.instance.zone:("us-central1-c") AND
      jsonPayload.instance.vm_name:("instance2") AND
      jsonPayload.connection.src_ip:("10.0.1.2")
      

deny 방화벽 규칙에 대한 적중 횟수의 급격한 증가 감지

VPC deny 방화벽 규칙의 적중 횟수의 변경을 감지하도록 Cloud Monitoring을 구성할 수 있습니다. 예를 들어 특정 규칙의 적중 횟수가 특정 비율로 증가하면 알림을 받도록 선택할 수 있습니다. 이 알림을 설정하면 Google Cloud 리소스에 대한 공격을 감지하는 데 도움이 됩니다.

알림을 설정하려면 다음을 수행합니다.

콘솔

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

    Monitoring으로 이동

  2. 탐색 창에서 알림을 클릭한 다음 정책 만들기를 클릭합니다.

  3. 알림 정책 만들기 페이지에서 알림 조건 추가를 클릭합니다. 새 조건이 추가됩니다.

  4. 새 조건 섹션을 펼치고 트리거 구성을 선택합니다. 알림 트리거 구성 페이지가 열립니다.

  5. 알림 조건을 구성합니다. 예를 들어 다음 값을 사용하여 식별된 규칙의 적중 횟수가 6시간 동안 10% 증가할 때 알림이 트리거되도록 합니다.

    • 조건 유형: Threshold로 설정합니다.
    • 알림 트리거: Any time series violates로 설정합니다.
    • 기준 위치: Above threshold로 설정합니다.
    • 기준 값: 10으로 설정합니다.
  6. 고급 옵션 섹션에서 조건의 이름을 입력하고 다음을 클릭합니다.

  7. 다중 조건 트리거 페이지에서 조건을 지정하고 다음을 클릭합니다.

  8. 알림 구성 페이지에서 알림 채널을 선택한 후 알림 채널 관리를 선택합니다.

  9. 알림 채널 창에서 새 알림 채널(예: 이메일 주소)을 추가하고 저장을 클릭합니다.

  10. 알림 채널 목록에서 추가된 알림을 선택한 후 확인을 클릭합니다.

  11. 알림 정책 이름 지정 섹션에서 이름을 입력하고 다음을 클릭합니다. 알림 조건이 추가됩니다.

섀도 처리된 방화벽 규칙 삭제

다른 규칙으로 섀도 처리된 방화벽 규칙을 삭제하려면 다음을 수행합니다.

콘솔

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

    방화벽 정책으로 이동

  2. VPC 방화벽 규칙 섹션에서 필터를 클릭한 후 통계 유형 > 섀도 처리된 규칙 값을 선택합니다.

  3. 검색 결과의 각 규칙에 대해 규칙의 이름을 클릭하고 세부정보 페이지를 확인합니다. 필요에 따라 각 규칙을 검토하고 삭제합니다.

섀도 처리된 규칙에 대한 자세한 정보는 섀도 처리된 규칙 예시를 참조하세요.

사용되지 않는 allow 규칙 삭제

사용되지 않는 allow 규칙을 평가하고 삭제하려면 다음을 수행합니다.

콘솔

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

    방화벽 정책으로 이동

  2. VPC 방화벽 규칙 섹션에서 필터를 클릭한 후 유형 > 인그레스 > 다음 날짜 이전의 마지막 적중MM/DD/YYYY을 선택합니다.

    MM/DD/YYYY를 사용하려는 날짜로 바꿉니다. 예를 들면 08/31/2021입니다.

  3. 검색 결과의 각 규칙에 대해 통계 열의 정보를 검토합니다. 이 열은 이 규칙이 나중에 적중할 가능성을 나타내는 백분율을 제공합니다. 비율이 높으면 이 규칙을 유지할 수 있습니다. 비율이 적으면 통계에서 생성된 정보를 계속 검토합니다.

  4. 통계 링크를 클릭하여 통계 세부정보 창을 표시합니다.

  5. 통계 세부정보 창에서 이 규칙의 속성과 나열된 유사 규칙의 속성을 검토합니다.

  6. 향후 규칙의 적중 가능성이 낮고 예측이 유사한 규칙의 적중 패턴에서 지원되는 경우 규칙을 삭제하는 것이 좋습니다. 규칙을 삭제하려면 규칙 이름을 클릭합니다. 방화벽 규칙 세부정보 페이지가 열립니다.

  7. Delete(삭제)를 클릭합니다.

  8. 확인 대화상자에서 삭제를 클릭합니다.

allow 규칙에서 사용하지 않는 속성을 삭제합니다.

사용되지 않는 속성을 평가하고 삭제하려면 다음을 수행합니다.

콘솔

  1. Google Cloud Console에서 방화벽 통계 페이지로 이동합니다.

    방화벽 통계로 이동

  2. 사용하지 않는 속성이 있는 허용 규칙 카드에서 전체 목록 보기를 클릭합니다. 이에 대한 응답으로 Google Cloud 콘솔에 사용되지 않는 속성이 있는 허용 규칙 페이지가 표시됩니다. 이 페이지에는 관찰 기간 동안 사용되지 않은 속성이 있는 모든 규칙이 나열됩니다.

  3. 통계 열에 표시되는 텍스트를 클릭합니다. 통계 세부정보 페이지가 열립니다.

  4. 페이지 상단에서 세부정보를 검토합니다. 요약에는 다음 세부정보가 포함됩니다.

    • 통계의 이름입니다.
    • 이 규칙에서 사용되지 않는 속성의 개수입니다.
    • 통계가 마지막으로 업데이트된 시간입니다.
    • 유사한 속성을 사용하는 프로젝트의 다른 규칙 이름입니다.
    • 관찰 기간의 길이입니다.
  5. 속성을 삭제할 수 있는지 평가합니다.

    1. 적중되지 않는 속성이 있는 방화벽 규칙 카드를 검토합니다. 적중 항목이 없는 속성(향후 적중 예측 포함) 필드를 확인합니다. 이 필드에서 향후 속성 적중 가능성을 설명하는 백분율을 제공합니다.
    2. 동일한 프로젝트의 유사 방화벽 규칙 카드를 검토합니다. 이 규칙의 속성이 사용되었는지 여부가 표시된 데이터를 검토합니다.
  6. 속성의 향후 적중 가능성이 낮고, 유사한 규칙의 적중 패턴에서 예측이 지원되는 경우 규칙에서 속성을 삭제하는 것이 좋습니다. 속성을 삭제하려면 통계 세부정보 페이지 상단에 표시되는 규칙 이름을 클릭하세요. 방화벽 규칙 세부정보 페이지가 열립니다.

  7. 수정을 클릭하고 필요한 사항을 변경한 다음 저장을 클릭합니다.

allow 규칙의 IP 주소 범위 좁히기

부하 분산기 상태 확인이나 다른 Google Cloud 기능에 대한 특정 IP 주소 블록의 액세스를 허용하는 방화벽 규칙이 프로젝트에 있을 수 있습니다. 이러한 IP 주소는 적중되지 않을 수 있지만 이를 방화벽 규칙에서 삭제해서는 안 됩니다. 이러한 범위에 대한 자세한 내용은 Compute Engine 문서를 참조하세요.

과도한 권한이 부여된 IP 주소 범위를 평가하고 강화하려면 다음을 수행합니다.

콘솔

  1. Google Cloud Console에서 방화벽 통계 페이지로 이동합니다.

    방화벽 통계로 이동

  2. 과도한 권한이 부여된 IP 주소 또는 포트 범위가 있는 허용 규칙 카드에서 전체 목록 보기를 클릭합니다. 이에 대한 응답으로 Google Cloud 콘솔에 관찰 기간 동안 과도한 권한이 있는 모든 규칙 목록이 표시됩니다.

  3. 목록에서 규칙을 찾고 통계 열에 표시되는 텍스트를 클릭합니다. 통계 세부정보 페이지가 열립니다.

  4. 페이지 상단에서 세부정보를 검토합니다. 요약에는 다음 세부정보가 포함됩니다.

    • 규칙의 이름
    • 범위를 좁힐 수 있는 IP 주소 범위 수
    • 통계가 마지막으로 업데이트된 시간입니다.
    • 관찰 기간의 길이입니다.
  5. IP 주소 범위를 좁힐 수 있는지 평가합니다. 과도한 권한이 부여된 IP 주소 또는 포트 범위가 있는 방화벽 규칙 카드를 검토합니다. 제안된 새 IP 주소 범위 목록을 검토합니다.

  6. 필요한 경우 통계의 권장사항을 사용하여 IP 주소 범위를 좁히는 것이 좋습니다. 통계 세부정보 페이지 상단에 표시되는 규칙 이름을 클릭합니다. 방화벽 규칙 세부정보 페이지가 열립니다.

  7. 수정을 클릭하고 필요한 사항을 변경한 다음 저장을 클릭합니다.

다음 단계