1장. 위험 및 컴플라이언스
Red Hat Advanced Cluster Management for Kubernetes 구성 요소의 보안을 관리합니다. 정의된 정책 및 프로세스를 통해 클러스터를 관리하여 위험을 식별하고 최소화합니다. 정책을 사용하여 규칙을 정의하고 제어를 설정합니다.
사전 요구 사항: Red Hat Advanced Cluster Management for Kubernetes에 대한 인증 서비스 요구 사항을 구성해야 합니다. 자세한 내용은 액세스 제어를 참조하십시오.
클러스터 보안에 대한 자세한 내용은 다음 주제를 검토하십시오.
1.1. 인증서 링크 복사링크가 클립보드에 복사되었습니다!
다양한 인증서가 Kubernetes용 Red Hat Advanced Cluster Management에서 생성되고 사용됩니다.
자체 인증서를 가져올 수 있습니다. 인증서에 대한 Kubernetes TLS 시크릿을 생성해야 합니다. 인증서를 생성한 후 Red Hat Advanced Cluster Management 설치 프로그램에서 생성한 특정 인증서를 교체할 수 있습니다.
필수 액세스: 클러스터 관리자
Red Hat Advanced Cluster Management에서 실행되는 서비스에 필요한 모든 인증서는 Red Hat Advanced Cluster Management를 설치하는 동안 생성됩니다. 인증서는 다음 구성 요소에서 생성하고 관리합니다.
- OpenShift 서비스 Serving certificates
- Red Hat Advanced Cluster Management webhook 컨트롤러
- Kubernetes Certificates API
- OpenShift 기본 수신
인증서 관리에 대해 자세히 알아보려면 계속 읽으십시오.
Red Hat Advanced Cluster Management hub 클러스터 인증서
Red Hat Advanced Cluster Management 구성 요소 인증서
Red Hat Advanced Cluster Management 관리 인증서
참고: 사용자는 인증서 교체 및 업데이트를 담당합니다.
1.1.1. Red Hat Advanced Cluster Management hub 클러스터 인증서 링크 복사링크가 클립보드에 복사되었습니다!
1.1.1.1. 가시성 인증서 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management가 설치되면 관찰 가능 구성 요소에서 관찰 가능 인증서를 생성 및 사용하여 허브 클러스터와 관리형 클러스터 간의 트래픽에 상호 TLS를 제공합니다. 관찰 가능 인증서와 관련된 Kubernetes 시크릿입니다.
open-cluster-management-observability
네임스페이스에는 다음 인증서가 포함됩니다.
-
observability-server-ca-certs
: 서버 측 인증서에 서명하기 위한 CA 인증서 -
observability-client-ca-certs
: 클라이언트 측 인증서에 서명하기 위한 CA 인증서 -
observability-server-certs
:observability-observatorium-api
배포에서 사용하는 서버 인증서 -
observability-grafana-certs
:observability-rbac-query-proxy
배포에서 사용하는 클라이언트 인증서
open-cluster-management-addon-observability
네임스페이스에는 관리 클러스터에서 다음 인증서가 포함됩니다.
-
observability-managed-cluster-certs
: hub 서버에observability-server-ca-certs
와 동일한 서버 CA 인증서 -
observability-controller-open-cluster-management.io-observability-signer-client-cert
:metrics-collector-deployment
에서 사용하는 클라이언트 인증서
CA 인증서는 5년 동안 유효하며 다른 인증서는 1년 동안 유효합니다. 모든 관찰 인증서는 만료 시 자동으로 새로 고쳐집니다.
다음 목록을 보고 인증서가 자동으로 갱신될 때의 영향을 파악합니다.
- 나머지 유효 시간이 73 일을 넘지 않으면 비 CA 인증서가 자동으로 갱신됩니다. 인증서가 갱신되면 관련 배포의 Pod가 자동 다시 시작하여 업데이트된 인증서를 사용합니다.
- 유효한 남은 시간이 1년을 넘지 않으면 CA 인증서가 자동으로 갱신됩니다. 인증서가 갱신되면 이전 CA는 삭제되지 않지만 업데이트된 CA와 공존합니다. 이전 인증서와 갱신된 인증서는 모두 관련 배포에서 사용되며 계속 작동합니다. 이전 CA 인증서는 만료될 때 삭제됩니다.
- 인증서가 갱신되면 hub 클러스터와 관리 클러스터 간의 트래픽이 중단되지 않습니다.
1.1.1.2. Bring Your Own (BYO) Observability 인증 기관 (CA) 인증서 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management에서 생성한 기본 관찰성 CA 인증서를 사용하지 않으려면 관찰성을 활성화하기 전에 BYO Observability CA 인증서를 사용하도록 선택할 수 있습니다.
1.1.1.2.1. CA 인증서를 생성하는 OpenSSL 명령 링크 복사링크가 클립보드에 복사되었습니다!
관찰 기능에는 두 개의 CA 인증서가 필요합니다. 하나는 서버 측이고 다른 하나는 클라이언트 측용입니다.
다음 명령을 사용하여 CA RSA 개인 키를 생성합니다.
openssl genrsa -out serverCAKey.pem 2048 openssl genrsa -out clientCAKey.pem 2048
openssl genrsa -out serverCAKey.pem 2048 openssl genrsa -out clientCAKey.pem 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 개인 키를 사용하여 자체 서명된 CA 인증서를 생성합니다. 다음 명령을 실행합니다.
openssl req -x509 -sha256 -new -nodes -key serverCAKey.pem -days 1825 -out serverCACert.pem openssl req -x509 -sha256 -new -nodes -key clientCAKey.pem -days 1825 -out clientCACert.pem
openssl req -x509 -sha256 -new -nodes -key serverCAKey.pem -days 1825 -out serverCACert.pem openssl req -x509 -sha256 -new -nodes -key clientCAKey.pem -days 1825 -out clientCACert.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.1.2.2. BYO 관찰 가능 CA 인증서와 관련된 시크릿 생성 링크 복사링크가 클립보드에 복사되었습니다!
보안을 생성하려면 다음 단계를 완료합니다.
인증서 및 개인 키를 사용하여
observability-server-ca-certs
시크릿을 생성합니다. 다음 명령을 실행합니다.oc -n open-cluster-management-observability create secret tls observability-server-ca-certs --cert ./serverCACert.pem --key ./serverCAKey.pem
oc -n open-cluster-management-observability create secret tls observability-server-ca-certs --cert ./serverCACert.pem --key ./serverCAKey.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 및 개인 키를 사용하여
observability-client-ca-certs
시크릿을 생성합니다. 다음 명령을 실행합니다.oc -n open-cluster-management-observability create secret tls observability-client-ca-certs --cert ./clientCACert.pem --key ./clientCAKey.pem
oc -n open-cluster-management-observability create secret tls observability-client-ca-certs --cert ./clientCACert.pem --key ./clientCAKey.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.1.2.3. alertmanager 경로에 대한 인증서 교체 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 기본 수신 인증서를 사용하지 않으려면 alertmanager 경로를 업데이트하여 alertmanager 인증서를 교체할 수 있습니다. 다음 단계를 완료합니다.
다음 명령을 사용하여 관찰 가능 인증서를 검사합니다.
openssl x509 -noout -text -in ./observability.crt
openssl x509 -noout -text -in ./observability.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
인증서의
CN
(Common Name)을alertmanager
로 변경합니다. -
alertmanager 경로의 호스트 이름으로
csr.cnf
구성 파일의 SAN을 변경합니다. open-cluster-management-observability
네임스페이스에 다음 두 개의 시크릿을 생성합니다. 다음 명령을 실행합니다.oc -n open-cluster-management-observability create secret tls alertmanager-byo-ca --cert ./ca.crt --key ./ca.key oc -n open-cluster-management-observability create secret tls alertmanager-byo-cert --cert ./ingress.crt --key ./ingress.key
oc -n open-cluster-management-observability create secret tls alertmanager-byo-ca --cert ./ca.crt --key ./ca.key oc -n open-cluster-management-observability create secret tls alertmanager-byo-cert --cert ./ingress.crt --key ./ingress.key
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.2. Red Hat Advanced Cluster Management 구성 요소 인증서 링크 복사링크가 클립보드에 복사되었습니다!
1.1.2.1. 허브 클러스터 관리 인증서 나열 링크 복사링크가 클립보드에 복사되었습니다!
내부적으로 OpenShift Service ServingECDHE 서비스를 사용하는 허브 클러스터 관리 인증서 목록을 볼 수 있습니다. 다음 명령을 실행하여 인증서를 나열합니다.
for ns in multicluster-engine open-cluster-management ; do echo "$ns:" ; oc get secret -n $ns -o custom-columns=Name:.metadata.name,Expiration:.metadata.annotations.service\\.beta\\.openshift\\.io/expiry | grep -v '<none>' ; echo ""; done
for ns in multicluster-engine open-cluster-management ; do echo "$ns:" ; oc get secret -n $ns -o custom-columns=Name:.metadata.name,Expiration:.metadata.annotations.service\\.beta\\.openshift\\.io/expiry | grep -v '<none>' ; echo ""; done
참고: 관찰 기능이 활성화된 경우 인증서가 생성되는 추가 네임스페이스가 있습니다.
1.1.2.2. refresh hub 클러스터 관리 인증서 링크 복사링크가 클립보드에 복사되었습니다!
허브 클러스터 관리 인증서 섹션에서 delete secret
명령을 실행하여 hub 클러스터 관리 인증서를 새로 고칠 수 있습니다. 새로 고침해야 하는 인증서를 식별하는 경우 인증서와 연결된 보안을 삭제합니다. 예를 들어 다음 명령을 실행하여 시크릿을 삭제할 수 있습니다.
oc delete secret grc-0c925-grc-secrets -n open-cluster-management
oc delete secret grc-0c925-grc-secrets -n open-cluster-management
참고: 시크릿을 삭제한 후 새 보안이 생성됩니다. 그러나 새 인증서를 사용하기 시작할 수 있도록 보안을 사용하는 Pod를 수동으로 다시 시작해야 합니다.
1.1.2.3. Red Hat Advanced Cluster Management Webhook 인증서 새로 고침 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management Webhook에서 사용하는 인증서인 OpenShift Container Platform 관리 인증서를 새로 고칠 수 있습니다.
Red Hat Advanced Cluster Management 웹 후크 인증서를 새로 고침하려면 다음 단계를 완료합니다.
다음 명령을 실행하여 OpenShift Container Platform 관리 인증서와 연결된 보안을 삭제합니다.
oc delete secret -n open-cluster-management ocm-webhook-secret
oc delete secret -n open-cluster-management ocm-webhook-secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 일부 서비스에는 삭제해야 하는 시크릿이 없을 수 있습니다.
다음 명령을 실행하여 OpenShift Container Platform 관리 인증서와 연결된 서비스를 다시 시작합니다.
oc delete po -n open-cluster-management ocm-webhook-679444669c-5cg76
oc delete po -n open-cluster-management ocm-webhook-679444669c-5cg76
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요: 여러 서비스의 복제본이 있으며 각 서비스를 다시 시작해야 합니다.
다음 표에서 인증서를 포함하는 Pod의 요약 목록과 Pod를 다시 시작하기 전에 보안을 삭제해야 하는지 여부를 확인합니다.
서비스 이름 | 네임스페이스 | Pod 이름 샘플 | 시크릿 이름(해당되는 경우) |
---|---|---|---|
channels-apps-open-cluster-management-webhook-svc | open-cluster-management | multicluster-operators-application-8c446664c-5lbfk | channels-apps-open-cluster-management-webhook-svc-ca |
multicluster-operators-application-svc | open-cluster-management | multicluster-operators-application-8c446664c-5lbfk | multicluster-operators-application-svc-ca |
cluster-manager-registration-webhook | open-cluster-management-hub | cluster-manager-registration-webhook-fb7b99c-d8wfc | registration-webhook-serving-cert |
cluster-manager-work-webhook | open-cluster-management-hub | cluster-manager-work-webhook-89b8d7fc-f4pv8 | work-webhook-serving-cert |
1.1.3. Red Hat Advanced Cluster Management 관리 인증서 링크 복사링크가 클립보드에 복사되었습니다!
1.1.3.1. 채널 인증서 링크 복사링크가 클립보드에 복사되었습니다!
CA 인증서는 Red Hat Advanced Cluster Management 애플리케이션 관리의 일부인 Git 채널과 연결할 수 있습니다. 자세한 내용은 보안 HTTPS 연결에 사용자 정의 CA 인증서 사용을 참조하십시오.
Helm 채널을 사용하면 인증서 검증을 비활성화할 수 있습니다. 개발 환경에서 인증서 유효성 검사가 비활성화된 Helm 채널을 구성해야 합니다. 인증서 검증을 비활성화하면 보안 위험이 발생합니다.
1.1.3.2. 관리형 클러스터 인증서 링크 복사링크가 클립보드에 복사되었습니다!
인증서는 허브를 사용하여 관리되는 클러스터를 인증하는 데 사용됩니다. 따라서 이러한 인증서와 관련된 문제 해결 시나리오를 알고 있어야 합니다. 자세한 내용은 인증서 변경 후 오프라인으로 가져온 클러스터 문제 해결을 참조하십시오.
관리형 클러스터 인증서가 자동으로 새로 고쳐집니다.
1.1.4. 타사 인증서 링크 복사링크가 클립보드에 복사되었습니다!
1.1.4.1. 게이트키퍼 웹 후크 인증서 교체 링크 복사링크가 클립보드에 복사되었습니다!
게이트키퍼 웹 후크 인증서를 교체하려면 다음 단계를 완료합니다.
다음 명령을 사용하여 인증서가 포함된 보안을 편집합니다.
oc edit secret -n openshift-gatekeeper-system gatekeeper-webhook-server-cert
oc edit secret -n openshift-gatekeeper-system gatekeeper-webhook-server-cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
data
섹션에서ca.crt
,ca.key
, tls.crt' 및tls.key
를 삭제합니다. 다음 명령을 사용하여
gatekeeper-controller-manager
Pod를 삭제하여 게이트키퍼 웹 후크 서비스를 다시 시작합니다.oc delete po -n openshift-gatekeeper-system -l control-plane=controller-manager
oc delete po -n openshift-gatekeeper-system -l control-plane=controller-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
게이트키퍼 웹 후크 인증서가 교체되었습니다.
인증서 정책 컨트롤러를 사용하여 관리 클러스터에서 인증서 정책을 생성하고 관리합니다. 컨트롤러에 대한 자세한 내용은 정책 컨트롤러를 참조하십시오. 자세한 내용은 위험 및 규정 준수 페이지로 돌아갑니다.