1장. 사용자 정의 인증서 추가
Red Hat Advanced Cluster Security for Kubernetes에서 사용자 정의 TLS 인증서를 사용하는 방법을 알아봅니다. 인증서를 설정한 후 사용자와 API 클라이언트는 중앙에 연결할 때 인증서 보안 경고를 무시할 필요가 없습니다.
1.1. 사용자 정의 보안 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
설치 중 또는 기존 Red Hat Advanced Cluster Security for Kubernetes 배포 중에 보안 인증서를 적용할 수 있습니다.
1.1.1. 사용자 정의 인증서를 추가하는 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
- PEM 인코딩 개인 키와 인증서 파일이 이미 있어야 합니다.
인증서 파일은 사람이 읽을 수 있는 블록으로 시작하고 끝나야 합니다. 예를 들면 다음과 같습니다.
-----BEGIN CERTIFICATE----- MIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G ... l4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo= -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- MIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G ... l4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo= -----END CERTIFICATE-----Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 파일은 단일(leaf) 인증서 또는 인증서 체인을 포함할 수 있습니다.
주의- 신뢰할 수 있는 루트에서 인증서를 직접 서명하지 않은 경우 중간 인증서를 포함하여 전체 인증서 체인을 제공해야 합니다.
- 리프 인증서가 첫 번째이고 루트 인증서가 체인의 마지막 인증서가 되도록 체인의 모든 인증서가 순서대로 있어야 합니다.
- 전역적으로 신뢰할 수 없는 사용자 정의 인증서를 사용하는 경우 사용자 정의 인증서를 신뢰하도록 센서를 구성해야 합니다.
1.1.2. 새 설치 시 사용자 정의 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
절차
Helm을 사용하여 Red Hat Advanced Cluster Security for Kubernetes를 설치하는 경우 다음을 수행합니다.
사용자 정의 인증서와 해당 키를
values-private.yaml파일에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 설치 중에 구성 파일을 제공합니다.
helm install -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yaml
$ helm install -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
roxctlCLI를 사용하여 Kubernetes용 Red Hat Advanced Cluster Security를 설치하는 경우 설치 프로그램을 실행할 때 인증서 및 키 파일을 제공합니다.비대화형 설치 프로그램의 경우
--default-tls-cert및--default-tls-key옵션을 사용합니다.roxctl central generate --default-tls-cert "cert.pem" --default-tls-key "key.pem"
$ roxctl central generate --default-tls-cert "cert.pem" --default-tls-key "key.pem"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대화형 설치 프로그램의 경우 프롬프트에 대한 답변을 입력할 때 인증서 및 키 파일을 입력합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.3. 기존 인스턴스의 사용자 정의 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
절차
Helm을 사용하여 Red Hat Advanced Cluster Security for Kubernetes를 설치한 경우 다음을 수행합니다.
사용자 정의 인증서와 해당 키를
values-private.yaml파일에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow helm upgrade명령을 사용하여 업데이트된 구성 파일을 제공합니다.helm upgrade -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yaml
$ helm upgrade -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
roxctlCLI를 사용하여 Kubernetes용 Red Hat Advanced Cluster Security를 설치한 경우 다음을 수행합니다.PEM 인코딩 키 및 인증서 파일에서 TLS 보안을 생성하고 적용합니다.
oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
$ oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 실행하면 Central은 Pod를 다시 시작하지 않아도 새 키와 인증서를 자동으로 적용합니다. 변경 사항을 전파하는 데 최대 1분이 걸릴 수 있습니다.
1.1.4. 기존 인스턴스의 사용자 정의 인증서 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
중앙에 사용자 정의 인증서를 사용하는 경우 다음 절차를 수행하여 인증서를 업데이트할 수 있습니다.
절차
기존 사용자 정의 인증서의 보안을 삭제합니다.
oc delete secret central-default-tls-cert
$ oc delete secret central-default-tls-certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 보안을 생성합니다.
oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
$ oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 중앙 컨테이너를 다시 시작합니다.
1.1.4.1. 중앙 컨테이너 다시 시작 링크 복사링크가 클립보드에 복사되었습니다!
중앙 컨테이너를 종료하거나 중앙 Pod를 삭제하여 중앙 컨테이너를 다시 시작할 수 있습니다.
절차
다음 명령을 실행하여 Central 컨테이너를 종료합니다.
참고OpenShift Container Platform이 변경 사항을 전파하고 중앙 컨테이너를 다시 시작할 때까지 1분 이상 기다려야 합니다.
oc -n stackrox exec deploy/central -c central -- kill 1
$ oc -n stackrox exec deploy/central -c central -- kill 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 다음 명령을 실행하여 중앙 Pod를 삭제합니다.
oc -n stackrox delete pod -lapp=central
$ oc -n stackrox delete pod -lapp=centralCopy to Clipboard Copied! Toggle word wrap Toggle overflow