4.21 규정 준수 운영자 벤치마크
Red Hat OpenShift on IBM Cloud 버전 4.21 에 대한 규정 준수 운영자 벤치마크 결과를 검토하십시오.
1 제어 평면 구성 요소
1.1 마스터 노드 구성 파일
마스터 노드 구성은 파일 집합으로 저장되지 않으므로 1.1 섹션의 규칙은 규정 준수 운영자의 자동 검사 범위에서 벗어납니다.
1.2 API 서버
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 1.2.1 | Ensure 익명 요청이 승인되었음을 확인합니다. | Automated | 1 | Not 확인됨 |
| 1.2.2 | Use kubelet 연결용 https. | Automated | 1 | Pass |
| 1.2.3 | Ensure 를 사용하여 인증할 수 있습니다. | Automated | 1 | Pass |
| 1.2.4 | Verify 를 사용하여 kubelet 인증 기관이 적절하게 설정되어 있는지 확인합니다. | Automated | 1 | Pass |
| 1.2.5 | Ensure --authorization-mode 인수가 AlwaysAllow 으로 설정되지 않았는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.6 | Verify 를 설정하여 RBAC가 활성화되어 있음을 확인합니다. | Automated | 1 | Pass |
| 1.2.7 | Ensure APIPriorityAndFairness 기능 게이트가 활성화되어 있는지 확인합니다. |
Manual | 1 | INHERENTLY MET |
| 1.2.8 | Ensure 입장 제어 플러그인 AlwaysAdmit 이 설정되어 있지 않은지 확인합니다. |
Automated | 1 | Pass |
| 1.2.9 | Ensure 입장 제어 플러그인 AlwaysPullImages 이 설정되어 있지 않은지 확인합니다. |
Automated | 1 | Pass |
| 1.2.10 | Ensure 입장 제어 플러그인 ServiceAccount 이 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.11 | Ensure 입장 제어 플러그인 NamespaceLifecycle 이 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.12 | Ensure 입장 제어 플러그인 SecurityContextConstraint 이 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.13 | Ensure 입장 제어 플러그인 NodeRestriction 이 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.14 | Ensure --insecure-bind-address 인수가 설정되지 않았음을 확인합니다. |
Automated | 1 | Pass |
| 1.2.15 | Ensure --insecure-port 인수가 0으로 설정되어 있는지 확인합니다. |
Manual | 1 | INHERENTLY MET |
| 1.2.16 | Ensure --secure-port 인수가 0으로 설정되지 않았는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.17 | Ensure healthz 엔드포인트가 RBAC에 의해 보호되고 있음을 확인했습니다. |
Automated | 1 | Not 확인 |
| 1.2.18 | Ensure --audit-log-path 인수가 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.19 | Ensure 를 사용하여 감사 로그가 클러스터 외부로 전달되어 보존되도록 합니다. | 자동화된 | 1 | 확인되지 않음 |
| 1.2.20 | Ensure maximumRetainedFiles 인수가 10 또는 적절하게 설정되어 있는지 확인합니다. |
[자동 | 1 | 확인되지 않음 |
| 1.2.21 | Configure Kubernetes API 서버 최대 감사 로그 크기. | Automated | 1 | Not 확인됨 |
| 1.2.22 | Ensure --request-timeout 인수가 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.23 | Ensure --service-account-lookup 인수가 true로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.24 | Ensure --service-account-key-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.25 | Ensure --etcd-certfile 및 --etcd-keyfile 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.26 | Ensure --tls-cert-file 및 --tls-private-key-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.27 | Ensure --client-ca-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.28 | Ensure --etcd-cafile 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.2.29 | Ensure 암호화 제공업체가 적절하게 구성되었는지 확인합니다. | [자동 | 1 | 확인되지 않음 |
| 1.2.30 | Ensure aPI 서버가 강력한 암호화 암호만 사용한다는 것을 확인했습니다. | Automated | 1 | Not 확인 |
| 1.2.31 | Ensure 지원되지 않는 구성 재정의는 사용되지 않습니다. | Manual | 1 | Pass |
1.3 제어기 관리자
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 1.3.1 | Ensure 컨트롤러 관리자 healthz 엔드포인트가 RBAC에 의해 보호되고 있음을 확인했습니다. |
Automated | 1 | Not 확인됨 |
| 1.3.2 | Ensure --use-service-account-credentials 인수가 true로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.3.3 | Ensure --service-account-private-key-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 1.3.4 | Ensure --root-ca-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
1.4 스케줄러
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 1.4.1 | Ensure 스케줄러의 healthz 엔드포인트가 RBAC에 의해 보호되는지 확인합니다. |
Automated | 1 | Not 확인됨 |
| 1.4.2 | Verify 스케줄러 API 서비스가 RBAC에 의해 보호되고 있음을 확인합니다. | Automated | 1 | Not 확인됨 |
2 Etcd
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 2.1 | Ensure --cert-file 및 --key-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 2.2 | Ensure --client-cert-auth 인수가 true로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 2.3 | Ensure --auto-tls 인수가 참으로 설정되지 않았는지 확인합니다. |
Automated | 1 | Pass |
| 2.4 | Ensure --peer-cert-file 및 --peer-key-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 2.5 | Ensure --peer-client-cert-auth 인수가 true로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 2.6 | Ensure --peer-auto-tls 인수가 참으로 설정되지 않았는지 확인합니다. |
Automated | 1 | Pass |
| 2.7 | Ensure 에 고유한 인증 기관이 사용되었음을 etcd. | 자동 | 2 | 확인되지 않음 |
3 제어 플레인 구성
3.2 로깅
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 3.2.1 | Ensure 최소 감사 정책이 생성되었는지 확인합니다. | Automated | 1 | Not 확인됨 |
| 3.2.2 | Ensure 감사 정책이 주요 보안 문제를 다루고 있는지 확인합니다. | Automated | 2 | Not 확인됨 |
4개의 워커 노드
4.1 작업자 노드 구성 파일
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 4.1.1 | Ensure kubelet 서비스 파일 권한이 644 이상으로 제한적으로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.1.2 | Ensure kubelet 서비스 파일 소유권이 root:root 로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.1.3 | If 프록시 큐브 프록시 구성 파일이 있는지 권한이 644 이상으로 제한적으로 설정되어 있는지 확인합니다. |
Automated | 1 | Not 확인됨 |
| 4.1.4 | If 프록시 kubeconfig 파일 존재 소유권이 root:root 로 설정되어 있는지 확인 |
Automated | 1 | Not 확인 |
| 4.1.5 | Ensure -- kubeconfig`` kubelet.conf file permissions are set to 644 or more restrictive. |
Automated | 1 | Pass |
| 4.1.6 | Ensure that the --kubeconfig`` kubelet.conf 파일 소유권이 root:root 로 설정되어 있는지 확인한다. |
Automated | 1 | Pass |
| 4.1.7 | Ensure 인증서 기관 파일 권한이 644 이상으로 제한적으로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.1.8 | Ensure 클라이언트 인증 기관 파일 소유권이 root:root 로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.1.9 | Ensure kubelet --config 구성 파일의 권한이 600 이상으로 제한적으로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.1.10 | Ensure 로 설정되어 있는지 확인하여 kubelet 구성 파일 소유권이 root:root 로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
4.2 Kubelet
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 4.2.1 | Activate OpenShift Container Platform 4에서 쓰레기 수거를 적절히 수행합니다. | Automated | 1 | Pass |
| 4.2.2 | Ensure --anonymous-auth 인수가 거짓으로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.2.3 | Ensure --authorization-mode 인수가 AlwaysAllow 으로 설정되지 않았는지 확인합니다. |
Automated | 1 | Pass |
| 4.2.4 | Ensure --client-ca-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.2.5 | Verify 읽기 전용 포트가 사용되지 않거나 0으로 설정되어 있는지 확인합니다. | Automated | 1 | Pass |
| 4.2.6 | Ensure --streaming-connection-idle-timeout 인수가 0으로 설정되지 않았는지 확인합니다. |
Automated | 1 | Pass |
| 4.2.7 | Ensure --make-iptables-util-chains 인수가 true로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.2.8 | Ensure kubeAPIQPS [--event-qps] 인수가 적절한 이벤트 캡처를 보장하는 수준으로 설정되어 있는지 확인합니다. |
Automated | 2 | Pass |
| 4.2.9 | Ensure --tls-cert-file 및 --tls-private-key-file 인수가 적절하게 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.2.10 | Ensure --rotate-certificates 인수가 거짓으로 설정되지 않았는지 확인합니다. |
Automated | 1 | Pass |
| 4.2.11 | Verify RotateKubeletServerCertificate 인수가 true로 설정되어 있는지 확인합니다. |
Automated | 1 | Pass |
| 4.2.12 | Ensure kubelet은 강력한 암호화 암호만 사용한다는 것을 알 수 있습니다. | Automated | 1 | Pass |
5가지 정책
5.1 RBAC 및 서비스 계정
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 5.1.1 | Ensure 클러스터 관리자 역할은 필요한 경우에만 사용하도록 설정합니다. | Manual | 1 | MANUAL |
| 5.1.2 | Minimize 비밀에 액세스합니다. | Manual | 1 | MANUAL |
| 5.1.3 | Minimize 와일드카드 사용 Roles 및 ClusterRoles. |
Manual | 1 | MANUAL |
| 5.1.4 | Minimize 액세스하여 파드를 생성할 수 있습니다. | Manual | 1 | MANUAL |
| 5.1.5 | Ensure 기본 서비스 계정이 활발하게 사용되지 않는 것을 확인합니다. | Manual | 1 | MANUAL |
| 5.1.6 | Ensure 서비스 계정 토큰이 필요한 경우에만 마운트되도록 합니다. | Manual | 1 | MANUAL |
5.2 보안 컨텍스트 제약 조건
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 5.2.1 | Minimize 권한이 있는 컨테이너를 허용합니다. | Manual | 1 | MANUAL |
| 5.2.2 | Minimize 호스트 프로세스 ID 네임스페이스를 공유하고자 하는 컨테이너를 허용합니다. | Manual | 1 | MANUAL |
| 5.2.3 | Minimize 호스트 IPC 네임스페이스를 공유하고자 하는 컨테이너를 허용합니다. | Manual | 1 | MANUAL |
| 5.2.4 | Minimize 호스트 네트워크 네임스페이스를 공유하고자 하는 컨테이너를 허용합니다. | Manual | 1 | MANUAL |
| 5.2.5 | Minimize 를 사용하여 컨테이너의 입장을 allowPrivilegeEscalation. |
Manual | 1 | MANUAL |
| 5.2.6 | Minimize 루트 컨테이너를 허용합니다. | Manual | 2 | MANUAL |
| 5.2.7 | Minimize nET_RAW 기능이 있는 컨테이너를 허용합니다. | Manual | 1 | MANUAL |
| 5.2.8 | Minimize 기능이 추가된 컨테이너를 허용합니다. | [자동 | 1 | 확인되지 않음 |
| 5.2.9 | Minimize 기능이 할당된 컨테이너를 허용합니다. | Manual | 2 | MANUAL |
| 5.2.10 | Minimize 권한이 있는 보안 컨텍스트 제약 조건에 액세스합니다. | Manual | 2 | MANUAL |
5.3 네트워크 정책 및 CNI
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 5.3.1 | Ensure 사용 중인 CNI가 네트워크 정책을 지원하는지 확인합니다. | Automated | 1 | Not 확인됨 |
| 5.3.2 | Ensure 모든 네임스페이스에 네트워크 정책이 정의되어 있는지 확인합니다. [ | 매뉴얼 | 2 | 매뉴얼 |
5.4 시크릿 관리
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 5.4.1 | Prefer 환경 변수로 시크릿을 사용하는 대신 파일로 시크릿을 사용합니다. | Manual | 1 | MANUAL |
| 5.4.2 | Consider 외부 비밀 저장소. | Manual | 2 | MANUAL |
5.5 확장 가능한 승인 제어
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 5.5.1 | Configure 이미지 컨트롤러 구성 매개 변수를 사용한 이미지 출처. | Automated | 2 | Not 확인됨 |
5.7 일반 정책
| 섹션 | 추천 | 수동/자동 | 수준 | 결과 |
|---|---|---|---|---|
| 5.7.1 | Create 네임스페이스를 사용하여 리소스 간의 관리 경계를 설정합니다. | Manual | 1 | MANUAL |
| 5.7.2 | Ensure 파드 정의에서 seccomp 프로필이 docker/기본값으로 설정되어 있는지 확인합니다. |
Manual | 2 | MANUAL |
| 5.7.3 | Apply 파드 및 컨테이너에 대한 보안 컨텍스트. | Manual | 2 | MANUAL |
| 5.7.4 | The 기본 네임스페이스를 사용해서는 안 됩니다. | Manual | 2 | MANUAL |
IBM 조치방안 및 설명
| 섹션 | 권장 사항/설명 |
|---|---|
| 1.2.19 | Red IBM Cloud의 Hat OpenShift 에서 선택적으로 Kubernetes API 서버 감사를 활성화할 수 있습니다. |
| 1.2.20 | Red IBM 클라우드에서 OpenShift 인수를 maximumRetainedFiles 1로 설정합니다. |
| 1.2.29 | Red IBM Cloud의 Hat OpenShift 에서 선택적으로 Kubernetes 키 관리 서비스(KMS) 제공업체를 활성화할 수 있습니다. |
| 2.7 | Red IBM Cloud의 Hat OpenShift 은 etcd 에 대한 고유한 인증 기관을 구성합니다. |
| 5.2.8 | Red IBM 클라우드에 OpenShift 사용자 지정 설치 SCCs. |
| 5.3.2 | Red IBM Cloud의 Hat OpenShift 에는 기본 Calico 네트워크 정책 세트가 정의되어 있으며 선택적으로 추가 네트워크 정책을 추가할 수 있습니다. |