2.11. 네트워크 보안
네트워크 보안은 여러 수준에서 관리할 수 있습니다. Pod 수준에서 네트워크 네임스페이스는 네트워크 액세스를 제한하여 컨테이너에 다른 Pod 또는 호스트 시스템이 표시되지 않게 할 수 있습니다. 네트워크 정책을 통해 연결을 허용하거나 거부할 수 있습니다. 컨테이너화된 애플리케이션으로 수신 및 송신되는 트래픽을 관리할 수 있습니다.
2.11.1. 네트워크 네임스페이스 사용
OpenShift Container Platform에서는 소프트웨어 정의 네트워킹(SDN)을 사용하여 클러스터 전체의 컨테이너 간 통신이 가능한 통합 클러스터 네트워크를 제공합니다.
기본적으로 네트워크 정책 모드에서는 다른 Pod 및 네트워크 끝점에서 프로젝트의 모든 Pod에 액세스 할 수 있습니다. 프로젝트에서 하나 이상의 Pod를 분리하기 위해 해당 프로젝트에서 NetworkPolicy
오브젝트를 생성하여 수신되는 연결을 표시할 수 있습니다. 다중 테넌트 모드를 사용하면 Pod 및 서비스에 대한 프로젝트 수준 격리를 제공할 수 있습니다.
2.11.2. 네트워크 정책으로 Pod 분리
네트워크 정책을 사용하면 동일한 프로젝트에서 Pod를 서로 분리할 수 있습니다. 네트워크 정책은 Pod에 대한 모든 네트워크 액세스를 거부하고 Ingress 컨트롤러에 대한 연결만 허용하거나 다른 프로젝트의 Pod에서 연결을 거부하거나 네트워크 작동 방식에 대한 유사한 규칙을 설정할 수 있습니다.
추가 리소스
2.11.3. 여러 Pod 네트워크 사용
실행 중인 각 컨테이너에는 기본적으로 하나의 네트워크 인터페이스만 있습니다. Multus CNI 플러그인을 사용하면 여러 CNI 네트워크를 생성한 다음 해당 네트워크를 Pod에 연결할 수 있습니다. 이렇게 하면 개인 데이터를 더 제한된 네트워크로 분리할 수 있으며 노드마다 네트워크 인터페이스가 여러 개일 수 있습니다.
추가 리소스
2.11.4. 애플리케이션 격리
OpenShift Container Platform을 사용하면 단일 클러스터에서 네트워크 트래픽을 세그먼트화하여 사용자, 팀, 애플리케이션 및 환경을 글로벌이 아닌 리소스와 분리하는 다중 테넌트 클러스터를 만들 수 있습니다.
2.11.5. 수신 트래픽 보안
OpenShift Container Platform 클러스터 외부에서 쿠버네티스 서비스에 대한 액세스를 구성하는 방법과 관련하여 보안에 미치는 영향이 많이 있습니다. HTTP 및 HTTPS 경로를 노출하는 외에도 수신 라우팅을 사용하면 NodePort 또는 LoadBalancer 수신 유형을 설정할 수 있습니다. NodePort에서는 각 클러스터 작업자의 애플리케이션 서비스 API 오브젝트를 노출합니다. LoadBalancer를 사용하면 OpenShift Container Platform 클러스터의 관련 서비스 API 오브젝트에 외부 로드 밸런서를 할당할 수 있습니다.
추가 리소스
2.11.6. 송신 트래픽 보안
OpenShift Container Platform에서는 라우터 또는 방화벽 방법을 사용하여 송신 트래픽을 제어하는 기능을 제공합니다. 예를 들어 IP 화이트리스트를 사용하여 데이터베이스 액세스를 제어할 수 있습니다. 클러스터 관리자는 OpenShift Container Platform SDN 네트워크 공급자의 프로젝트에 하나 이상의 송신 IP 주소를 할당할 수 있습니다. 마찬가지로 클러스터 관리자는 송신 방화벽을 사용하여 송신 트래픽이 OpenShift Container Platform 클러스터 외부로 나가는 것을 방지할 수 있습니다.
고정 송신 IP 주소를 할당하면 특정 프로젝트용으로 나가는 모든 트래픽을 해당 IP 주소에 할당할 수 있습니다. 송신 방화벽을 사용하면 Pod가 외부 네트워크에 연결 또는 Pod가 내부 네트워크에 연결하는 것을 방지하거나 특정 내부 서브넷에 대한 Pod의 액세스를 제한할 수 있습니다.