8장. 네트워크 정책 관리

Kubernetes 네트워크 정책은 Pod 그룹이 서로 및 기타 네트워크 끝점과 통신할 수 있는 방법에 대한 사양입니다. 이러한 네트워크 정책은 YAML 파일로 구성됩니다. 이러한 파일을 단독으로 살펴보면 적용된 네트워크 정책이 원하는 네트워크 토폴로지를 사용하는지 여부를 식별하기가 어렵습니다.

RHACS(Advanced Cluster Security for Kubernetes)는 오케스트레이션자로부터 정의된 모든 네트워크 정책을 수집하고 이러한 정책을 보다 쉽게 사용할 수 있도록 도구를 제공합니다.

네트워크 정책 적용을 지원하기 위해 RHACS는 다음과 같은 툴을 제공합니다.

  • 네트워크 그래프
  • 네트워크 정책 시뮬레이터
  • 네트워크 정책 생성기
  • 빌드 시간 네트워크 정책 생성
참고

이 문서에서는 RHACS 4.0에서 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정인 네트워크 그래프(1.0)에 대해 설명합니다. 또한 RHACS 3.74 및 4.0에서 기술 프리뷰로 제공되는 네트워크 그래프(2.0 프리뷰)에 대해 설명합니다.

8.1. 네트워크 그래프 (2.0 미리 보기)

네트워크 그래프(2.0 프리뷰)는 RHACS 3.74 및 4.0에서 제공되며 기술 프리뷰 기능입니다.

8.1.1. 네트워크 그래프 정보 (2.0 프리뷰)

네트워크 그래프는 사용자 환경의 배포, 네트워크 흐름 및 네트워크 정책에 대한 고급 및 자세한 정보를 제공합니다.

중요

네트워크 그래프 2.0은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

RHACS는 보안된 각 클러스터의 모든 네트워크 정책을 처리하여 어떤 배포가 서로 연락할 수 있고 외부 네트워크에 연결할 수 있는지 표시합니다. 또한 실행 중인 배포를 모니터링하고 트래픽을 추적합니다. 네트워크 그래프에서 다음 항목을 볼 수 있습니다.

네트워크 구성 요소
상단 메뉴에서 네임스페이스( NS 레이블로 표시) 및 배포를 선택하여 선택한 클러스터( CL 레이블로 표시)에 대한 그래프에 표시할 네임스페이스( D 레이블로 표시)를 선택할 수 있습니다. 드롭다운 목록을 사용하고 일반적인 취약점 및 노출(CVE), 라벨 및 이미지와 같은 필터링할 기준을 선택하여 배포를 추가로 필터링할 수 있습니다.
외부 엔티티
이는 클러스터 외부에 연결된 엔터티를 나타냅니다. 자세한 내용은 "외부 엔티티 및 네트워크 그래프 (2.0 프리뷰)"에서 확인할 수 있습니다.
네트워크 정책
선택한 구성 요소의 기존 정책을 보거나 정책이 없는 구성 요소를 볼 수 있습니다.
네트워크 흐름
그래프에 대해 다음 흐름 중 하나를 선택할 수 있습니다.
활성 트래픽
이 기본 옵션을 선택하면 선택한 네임스페이스 또는 특정 배포에 중점을 두고 관찰된 트래픽이 표시됩니다. 정보를 표시할 기간을 선택할 수 있습니다.
비활성 흐름
이 옵션을 선택하면 네트워크 정책에서 허용하는 잠재적 흐름을 표시하여 보다 엄격한 격리를 수행하는 데 필요한 누락된 네트워크 정책을 식별할 수 있습니다. 정보를 표시할 기간을 선택할 수 있습니다.

네트워크 그래프 보기에서 네트워크 정책을 시뮬레이션할 수도 있습니다. 자세한 내용은 "네트워크 그래프에서 네트워크 정책 시뮬레이션" 버전 1.0 또는 2.0 프리뷰를 참조하십시오.

  • 그래프의 항목을 클릭하면 구성 요소에 대한 추가 정보를 보거나 기준선에 네트워크 흐름 추가와 같은 작업을 수행할 수 있습니다.
  • The legend을 여는 것은 사용 중인 기호와 그 의미에 대한 정보를 제공합니다. 예시는 네트워크 그래프의 네임스페이스, 배포 및 연결을 나타내는 기호에 대한 설명 텍스트를 보여줍니다.
  • 드롭다운 목록에서 추가 디스플레이 옵션을 선택하면 그래프가 네트워크 정책 상태 배지, 활성 외부 트래픽 배지, 에지 연결에 대한 포트 및 프로토콜 레이블과 같은 아이콘이 표시되는지 여부를 제어합니다.
  • RHACS는 가입 또는 떠나는 노드와 같은 네트워크 트래픽의 변경 사항을 감지합니다. 변경 사항이 감지되면 네트워크 그래프에 사용 가능한 업데이트 수를 보여주는 알림이 표시됩니다. 초점이 중단되지 않도록 그래프가 자동으로 업데이트되지 않습니다. 알림을 클릭하여 그래프를 업데이트합니다.
네트워크 그래프의 외부 엔티티 및 연결 (2.0 프리뷰)

네트워크 그래프 보기는 관리 클러스터와 외부 소스 간의 네트워크 연결을 보여줍니다. 또한 RHACS는 Google Cloud, AWS, Microsoft Azure, Oracle Cloud 및 CloudEvent와 같은 CIDR(Classless Inter-Domain Routing) 주소 블록을 자동으로 검색하고 강조 표시합니다. 이 정보를 사용하여 활성 외부 연결을 사용하여 배포를 식별하고 네트워크 외부에서 권한이 없는 연결을 수행하거나 수신할지 여부를 결정할 수 있습니다.

기본적으로 외부 연결은 네트워크 그래프의 일반적인 외부 엔티티 아이콘과 다른 CIDR 주소 블록을 가리킵니다. 그러나 CIDR 블록 관리를 클릭하고 자동 검색 CIDR 블록을 선택 취소하여 자동 검색 CIDR 블록을 표시하지 않도록 선택할 수 있습니다.

RHACS에는 다음 클라우드 공급자의 IP 범위가 포함됩니다.

  • Google Cloud
  • AWS
  • Microsoft Azure
  • Oracle Cloud
  • Cloudflare

RHACS는 7일마다 클라우드 공급자의 IP 범위를 가져와서 업데이트하고 CIDR 블록을 매일 업데이트합니다. 오프라인 모드를 사용하는 경우 새 지원 패키지를 설치하여 이러한 범위를 업데이트할 수 있습니다.

다음 이미지는 네트워크 그래프의 예를 제공합니다. 이 예제에서는 사용자가 선택한 옵션에 따라 선택한 네임스페이스의 그래프를 표시합니다. 배포와 같은 항목을 클릭할 때까지 트래픽 흐름이 표시되지 않습니다. 그래프는 빨간색 배지를 사용하여 정책이 누락된 배포를 표시하고 모든 네트워크 트래픽을 허용합니다.

그림 8.1. 네트워크 그래프 예

배포를 보여주는 네트워크 그래프 개요

그래프에서 항목을 클릭하면 축소할 수 있는 섹션이 있는 측면 패널에 해당 항목에 대한 정보가 표시됩니다. 다음 항목을 클릭할 수 있습니다.

  • 배포
  • 네임스페이스
  • 외부 엔티티
  • CIDR 블록
  • 외부 그룹

측면 패널에는 선택한 그래프의 항목에 따라 관련 정보가 표시됩니다. 헤더의 항목 이름 옆에 있는 D 또는 NS 레이블(이 예에서는 "postgres")은 배포 또는 네임스페이스인지를 나타냅니다. 다음 예제에서는 배포 모드를 보여줍니다.

그림 8.2. 배포 측면 패널의 예

배포를 위한 측면 패널

네임스페이스 모드에서 측면 패널에는 검색 표시줄과 배포 목록이 포함되어 있습니다. 배포를 클릭하여 해당 정보를 볼 수 있습니다. 네임스페이스 모드에서 측면 패널에는 네트워크 정책 탭도 포함되어 있습니다. 이 탭에서는 다음 예와 같이 보기 또는 클립보드에 복사하거나 해당 네임스페이스에 정의된 네트워크 정책을 내보낼 수 있습니다.

그림 8.3. 네임스페이스의 측면 패널 예

네트워크 정책 정보를 표시하는 네임스페이스의 측면 패널

8.1.2. 배포 정보 보기

네트워크 그래프는 RHACS가 검색한 배포, 네임스페이스 및 연결에 대한 시각적 맵을 제공합니다. 그래프의 배포를 클릭하면 다음 세부 정보를 포함하여 배포에 대한 정보를 볼 수 있습니다.

  • 흐름 수, 기존 또는 누락된 네트워크 정책 규칙, 수신 대기 포트와 같은 네트워크 보안
  • 레이블 및 주석
  • 포트 구성
  • 컨테이너 정보
  • 프로토콜 및 포트 번호를 포함하여 수신 및 송신 연결에 대한 비정상적인 및 기준 흐름
  • 네트워크 정책

절차

네임스페이스의 배포 세부 정보를 보려면 다음을 수행합니다.

  1. RHACS 포털의 네트워크 그래프(2.0 프리뷰) 로 이동하여 드롭다운 목록에서 클러스터를 선택합니다.
  2. 네임스페이스 목록을 클릭하고 검색 필드를 사용하여 네임스페이스를 검색하거나 개별 네임스페이스를 선택합니다.
  3. Deployments 목록을 클릭하고 검색 필드를 사용하여 배포를 찾거나 네트워크 그래프에 표시할 개별 배포를 선택합니다.
  4. 네트워크 그래프에서 배포를 클릭하여 정보 패널을 확인합니다.
  5. 세부 정보,흐름,기준선 또는 네트워크 정책 탭을 클릭하여 해당 정보를 확인합니다.

8.1.2.1. 네트워크 그래프에서 네트워크 정책 보기 (2.0 미리 보기)

네트워크 정책은 Pod 그룹이 서로 및 다른 네트워크 끝점과 통신할 수 있는 방법을 지정합니다. Kubernetes NetworkPolicy 리소스는 라벨을 사용하여 Pod를 선택하고 선택한 Pod에서 허용되는 트래픽을 지정하는 규칙을 정의합니다. RHACS는 네트워크 그래프에서 모든 Kubernetes 클러스터, 네임스페이스, 배포 및 Pod에 대한 네트워크 정책 정보를 검색하고 표시합니다.

절차

  1. RHACS 포털의 네트워크 그래프(2.0 프리뷰) 로 이동하여 드롭다운 목록에서 클러스터를 선택합니다.
  2. 네임스페이스 목록을 클릭하고 검색 필드를 사용하여 네임스페이스를 검색하거나 개별 네임스페이스를 선택합니다.
  3. Deployments 목록을 클릭하고 검색 필드를 사용하여 배포를 찾거나 네트워크 그래프에 표시할 개별 배포를 선택합니다.
  4. 네트워크 그래프에서 배포를 클릭하여 정보 패널을 확인합니다.
  5. 세부 정보 탭의 네트워크 보안 섹션에서 다음 정보를 제공하는 네트워크 정책 규칙에 대한 요약 메시지를 볼 수 있습니다.

    • 수신 또는 송신 트래픽을 규제하는 네트워크에 정책이 존재하는 경우
    • 네트워크가 정책이 누락된 경우 모든 수신 또는 송신 트래픽 허용
  6. 네트워크 정책의 YAML 파일을 보려면 정책 규칙을 클릭하거나 네트워크 정책 탭을 클릭합니다.

8.1.3. 네트워크 그래프에서 CIDR 블록 구성 (2.0 프리뷰)

사용자 지정 CIDR 블록을 지정하거나 네트워크 그래프에서 자동 검색 CIDR 블록 표시를 구성할 수 있습니다.

절차

  1. RHACS 포털에서 Network Graph(2.0 미리 보기) 로 이동한 다음 Manage CIDR Blocks 를 선택합니다. 다음 작업을 수행할 수 있습니다.

    • 자동 검색 CIDR 블록을 전환하여 네트워크 그래프에서 자동 검색 CIDR 블록을 숨깁니다.

      참고

      자동 검색 CIDR 블록을 숨기면 네트워크 그래프의 상단 표시줄에서 선택한 클러스터에 대해 자동 검색된 CIDR 블록이 표시되지 않습니다.

    • 다음 단계를 수행하여 그래프에 사용자 지정 CIDR 블록을 추가합니다.

      1. 필드에 CIDR 이름 및 CIDR 주소를 입력합니다. CIDR 블록을 추가하려면 CIDR 블록 추가를 클릭하고 각 블록에 대한 정보를 입력합니다.
      2. 구성 업데이트를 클릭하여 변경 사항을 저장합니다.

8.1.4. 네트워크 그래프에서 네트워크 정책 시뮬레이션 (2.0 프리뷰)

현재 네트워크 정책으로 불필요한 네트워크 통신을 허용할 수 있습니다. 새로운 네트워크 정책 세트의 효과를 시뮬레이션하려면 네트워크 정책 시뮬레이터를 사용하십시오. 네트워크 정책 시뮬레이터를 사용하여 정책을 생성하는 방법에 대한 자세한 내용은 "네트워크 그래프에서 네트워크 정책 생성(2.0 프리뷰)"을 참조하십시오.

절차

  1. RHACS 포털에서 Network Graph(2.0 프리뷰) 로 이동합니다.
  2. 클러스터를 선택한 다음 하나 이상의 네임스페이스를 선택합니다.
  3. 네트워크 그래프 헤더에서 네트워크 정책 시뮬레이션 을 선택합니다.
  4. 선택 사항: 네트워크 정책 생성 및 시뮬레이션을 클릭하여 시뮬레이션에서 사용할 네트워크 정책을 사용하여 YAML 파일을 생성합니다. 자세한 내용은 "네트워크 그래프에서 네트워크 정책 생성 (2.0 프리뷰)"을 참조하십시오.
  5. 시뮬레이션에 사용하려는 네트워크 정책의 YAML 파일을 업로드합니다. 네트워크 그래프 보기는 제안된 네트워크 정책의 결과를 표시합니다. 다음 단계를 수행합니다.

    1. Upload YAML 을 클릭한 다음 파일을 선택합니다.
    2. 열기 를 클릭합니다. 업로드된 정책의 처리 상태를 나타내는 메시지를 시스템에 표시합니다.
  6. 활성 YAML S 보기 탭을 클릭한 다음 드롭다운 목록에서 정책을 선택하여 현재 네트워크 정책에 해당하는 활성 YAML 파일을 볼 수 있습니다. 다음 작업도 수행할 수 있습니다.

    • 적절한 버튼을 클릭하여 표시된 YAML 파일을 복사하거나 다운로드합니다.
    • 작업 메뉴를 사용하여 활성 트래픽에서 규칙을 다시 작성하거나 규칙을 이전에 적용한 YAML로 되돌립니다. 자세한 내용은 "네트워크 그래프에서 네트워크 정책 생성 (2.0 프리뷰)"을 참조하십시오.

      주의

      네트워크 정책을 직접 적용하면 애플리케이션 실행에 문제가 발생할 수 있습니다. 항상 개발 환경에서 네트워크 정책을 다운로드하여 테스트하거나 프로덕션 워크로드에 적용하기 전에 클러스터를 테스트합니다.