6.7. 제로 신뢰 네트워킹
제로 신뢰는 모든 상호 작용이 신뢰할 수 없는 상태에서 시작되는 전제를 기반으로 보안 아키텍처를 설계하는 방법입니다. 이는 방화벽 내에서 통신이 시작되는지 여부에 따라 신뢰성을 결정할 수 있는 기존 아키텍처와 대조됩니다. 특히 제로 신뢰는 암시적 신뢰 모델 및 일회성 인증에 의존하는 보안 아키텍처의 격차를 없애려고 합니다.
OpenShift Container Platform은 컨테이너 또는 해당 컨테이너에서 실행되는 소프트웨어를 변경하지 않고도 플랫폼에서 실행되는 컨테이너에 일부 제로 신뢰 네트워킹 기능을 추가할 수 있습니다. Red Hat이 제공하는 여러 제품도 컨테이너의 제로 신뢰 네트워킹 기능을 추가로 보강할 수 있습니다. 컨테이너에서 실행되는 소프트웨어를 변경할 수 있는 기능이 있는 경우 Red Hat에서 추가 기능을 추가할 수 있는 다른 프로젝트가 있습니다.
제로 신뢰 네트워킹의 다음과 같은 대상 기능을 살펴봅니다.
6.7.1. 신뢰의 루트
공개 인증서 및 개인 키는 제로 트러스트 네트워킹에 중요합니다. 이러한 구성 요소는 서로 구성 요소를 식별하고 인증하고 트래픽을 보호하는 데 사용됩니다. 인증서는 다른 인증서에서 서명하며 루트 CA(인증 기관)에 대한 신뢰 체인이 있습니다. 네트워크에 참여하는 모든 것은 궁극적으로 신뢰 체인을 검증할 수 있도록 루트 CA의 공개 키를 보유해야 합니다. 공개 내용의 경우 일반적으로 널리 알려진 루트 CA 세트이며 운영 체제, 웹 브라우저 등과 함께 키가 배포되는 키입니다. 그러나 개인 CA의 인증서가 모든 당사자에게 배포되는 경우 클러스터 또는 법인을 위해 개인 CA를 실행할 수 있습니다.
제품 상세 정보:
- OpenShift Container Platform: OpenShift는 설치 시 클러스터 리소스를 보호하는 데 사용되는 클러스터 CA 를 생성합니다. 그러나 OpenShift Container Platform은 클러스터의 서비스에 대한 인증서를 생성하고 서명할 수 있으며 요청된 경우 클러스터 CA 번들을 Pod에 삽입할 수 있습니다. OpenShift Container Platform에서 생성 및 서명한 서비스 인증서 에는 26개월의 라이브(TTL)가 있으며 13개월에 자동으로 순환됩니다. 필요한 경우 수동으로 순환할 수도 있습니다.
- OpenShift cert-manager Operator: cert-manager를 사용하면 신뢰의 외부 루트에서 서명한 키를 요청할 수 있습니다. 위임된 서명 인증서와 함께 외부 발행자와 통합할 수 있는 구성 가능한 많은 발행자가 있습니다. cert-manager API는 제로 신뢰 네트워킹의 다른 소프트웨어에서 사용하여 필요한 인증서(예: Red Hat OpenShift Service Mesh)를 요청하거나 고객 소프트웨어에서 직접 사용할 수 있습니다.
6.7.2. 트래픽 인증 및 암호화
유선의 모든 트래픽이 암호화되고 엔드포인트를 확인할 수 있는지 확인합니다. 상호 TLS 또는 mTLS는 상호 인증을 위한 방법입니다.
제품 상세 정보:
- OpenShift Container Platform: 투명한 pod-to-pod IPsec 을 사용하면 트래픽의 소스 및 대상을 IP 주소로 식별할 수 있습니다. IPsec 을 사용하여 송신 트래픽을 암호화 할 수 있는 기능이 있습니다. 송신 IP 기능을 사용하면 트래픽의 소스 IP 주소를 사용하여 클러스터 내부의 트래픽 소스를 식별할 수 있습니다.
- Red Hat OpenShift Service Mesh: Pod를 나가는 트래픽을 투명하게 보강하여 인증 및 암호화를 제공할 수 있는 강력한 mTLS 기능을 제공합니다.
- OpenShift cert-manager Operator: CRD(사용자 정의 리소스 정의)를 사용하여 프로그램에서 SSL/TLS 프로토콜에 사용할 수 있는 인증서를 요청합니다.
6.7.3. 식별 및 인증
CA를 사용하여 인증서를 Mint할 수 있는 기능이 있으면 이 인증서를 사용하여 사용자 또는 클라이언트 머신의 다른 쪽 끝의 ID를 확인하여 신뢰 관계를 설정할 수 있습니다. 또한 손상된 경우 사용을 제한하려면 인증서 라이프사이클을 관리해야 합니다.
제품 상세 정보:
- OpenShift Container Platform: 클라이언트가 신뢰할 수 있는 끝점과 통신할 수 있도록 클러스터 서명 서비스 인증서 입니다. 이를 위해서는 서비스에서 SSL/TLS를 사용하고 클라이언트가 클러스터 CA 를 사용해야 합니다. 클라이언트 ID는 다른 방법을 사용하여 제공해야 합니다.
- Red Hat Single Sign-On: 엔터프라이즈 사용자 디렉터리 또는 타사 ID 공급자와의 요청 인증 통합을 제공합니다.
- Red Hat OpenShift Service Mesh: mTLS에 대한 연결투명 업그레이드, 자동 순환, 사용자 정의 인증서 만료, JSON 웹 토큰(JWT)을 통한 인증 요청.
- OpenShift cert-manager Operator: 애플리케이션에서 사용할 인증서 생성 및 관리 인증서는 CRD에서 제어하고 시크릿으로 마운트하거나 cert-manager API와 직접 상호 작용하도록 애플리케이션을 변경할 수 있습니다.
6.7.4. 서비스 간 권한 부여
요청자의 ID를 기반으로 서비스에 대한 액세스를 제어할 수 있어야 합니다. 이 작업은 플랫폼에 의해 수행되며 각 애플리케이션을 구현할 필요가 없습니다. 이를 통해 정책의 감사 및 검사를 더 잘 수행할 수 있습니다.
제품 상세 정보:
-
OpenShift Container Platform: Kubernetes
NetworkPolicy
및AdminNetworkPolicy
오브젝트를 사용하여 플랫폼의 네트워킹 계층에 격리를 적용할 수 있습니다. - Red Hat OpenShift Service Mesh: 표준 Istio 오브젝트를 사용한 트래픽 제어 및 mTLS를 사용하여 트래픽의 소스 및 대상을 확인한 다음 해당 정보를 기반으로 정책을 적용합니다.
6.7.5. 트랜잭션 수준 확인
연결을 식별하고 인증하는 기능 외에도 개별 트랜잭션에 대한 액세스를 제어하는 것도 유용합니다. 여기에는 소스별 속도 제한, 관찰 기능, 트랜잭션이 잘 형성되는 의미 체계 검증이 포함될 수 있습니다.
제품 상세 정보:
- Red Hat OpenShift Service Mesh: 요청에 대한 L7 검사를 수행하고 잘못된 형식의 HTTP 요청, 트랜잭션 수준의 관찰 기능 및 보고 를 거부합니다. 서비스 메시는 JWT를 사용하여 요청 기반 인증을 제공할 수도 있습니다.
6.7.6. 위험 평가
클러스터의 보안 정책 수가 증가함에 따라 정책 허용 및 거부에 대한 시각화가 점점 더 중요해지고 있습니다. 이러한 툴을 사용하면 클러스터 보안 정책을 보다 쉽게 생성, 시각화 및 관리할 수 있습니다.
제품 상세 정보:
-
Red Hat OpenShift Service Mesh: OpenShift 웹 콘솔 을 사용하여 Kubernetes
NetworkPolicy
및AdminNetworkPolicy
및 OpenShift NetworkingEgressFirewall
오브젝트를 생성 및 시각화합니다. - Red Hat Advanced Cluster Security for Kubernetes: 오브젝트의 고급 시각화.
6.7.7. 사이트 전체 정책 시행 및 배포
클러스터에 애플리케이션을 배포한 후 보안 규칙을 구성하는 모든 오브젝트를 관리하기가 어려워집니다. 사이트 전체 정책을 적용하고 배포된 오브젝트를 감사하여 정책을 준수하는 것이 중요합니다. 이렇게 하면 정의된 범위 내의 사용자 및 클러스터 관리자에게 일부 권한을 위임할 수 있으며 필요한 경우 정책에 대한 예외를 허용해야 합니다.
제품 상세 정보:
- Red Hat OpenShift Service Mesh: 정책 오브젝트를 제어하고 제어를위임하는 RBAC입니다.
- Red Hat Advanced Cluster Security for Kubernetes:정책 시행 엔진.
- 쿠버네티스용 RHACM(Red Hat Advanced Cluster Management ): 중앙 집중식 정책 제어.
6.7.8. 일정 및 retrospective, evaluation에 대한 관찰 가능성
실행 중인 클러스터가 있으면 트래픽을 관찰하고 트래픽이 정의된 규칙으로 시작되는지 확인할 수 있어야 합니다. 이는 침입 감지, 법의학에 중요하며, 운영 부하 관리에 유용합니다.
제품 상세 정보:
- Network Observability Operator: 클러스터의 Pod 및 노드에 대한 네트워크 연결에 대한 검사, 모니터링 및 경고를 허용합니다.
- Red Hat Advanced Cluster Management(RHACM) for Kubernetes: 프로세스 실행, 네트워크 연결 및 흐름, 권한 에스컬레이션과 같은 시스템 수준 이벤트를 모니터링, 수집 및 평가합니다. 클러스터 기준을 확인한 다음 비정상적인 활동을 감지하고 이에 대해 경고할 수 있습니다.
- Red Hat OpenShift Service Mesh: Pod로 들어오고 나가는 트래픽을 모니터링 할 수 있습니다.
- Red Hat OpenShift distributed tracing platform: 적절하게 조정된 애플리케이션의 경우 마이크로 서비스에 대한 하위 요청으로 분할할 때 특정 작업과 관련된 모든 트래픽을 확인할 수 있습니다. 이를 통해 분산 애플리케이션 내에서 병목 현상을 식별할 수 있습니다.
6.7.9. 엔드포인트 보안
클러스터에서 서비스를 실행하는 소프트웨어가 손상되지 않았음을 신뢰할 수 있어야 합니다. 예를 들어 인증된 이미지가 신뢰할 수 있는 하드웨어에서 실행되고 엔드포인트 특성을 기반으로 끝점 간 연결만 허용하는 정책이 있어야 할 수 있습니다.
제품 상세 정보:
- OpenShift Container Platform: Secureboot는 클러스터의 노드가 신뢰할 수 있는 소프트웨어를 실행하도록 할 수 있으므로 플랫폼 자체(컨테이너 런타임 포함)가 변조되지 않았습니다. 특정 서명에서 서명된 이미지만 실행하도록 OpenShift Container Platform을 구성할 수 있습니다.
- Red Hat Trusted Artifact Signer: 신뢰할 수 있는 빌드 체인에서 사용할 수 있으며 서명된 컨테이너 이미지를 생성할 수 있습니다.
6.7.10. 클러스터 외부에서 신뢰 확장
클러스터가 하위 도메인의 CA를 Mint하도록 허용하여 클러스터 외부에서 신뢰를 확장해야 할 수 있습니다. 또는 클러스터의 워크로드 ID를 원격 끝점으로 테스트할 수 있습니다.
제품 상세 정보:
- OpenShift cert-manager Operator: cert-manager를 사용하여 다른 클러스터에 또는 조직을 통해 신뢰를 배포할 수 있도록 위임된 CA를 관리할 수 있습니다.
- Red Hat OpenShift Service Mesh: SPIFFE를 사용하여 원격 또는 로컬 클러스터에서 실행되는 엔드포인트에 워크로드의 원격 인증 정보를 제공할 수 있습니다.