17장. Pod에서 취약점 스캔
Red Hat Quay Container Security Operator를 사용하면 클러스터의 활성 포드에서 사용되는 컨테이너 이미지에 대한 OpenShift Container Platform 웹 콘솔의 취약성 검사 결과에 액세스할 수 있습니다. Red Hat Quay 컨테이너 보안 운영자:
- 모든 네임스페이스 또는 지정된 네임스페이스에서 Pod와 관련된 컨테이너 감시
- 이미지 레지스트리가 이미지 스캐닝을 실행 중인 경우(예: Quay.io 또는 Clair 스캐닝이 포함된 Red Hat Quay 레지스트리) 컨테이너가 어디에서 왔는지 컨테이너 레지스트리에 대한 취약성 정보를 쿼리합니다.
-
Kubernetes API의
ImageManifestVuln
오브젝트를 통해 취약점 노출
여기에 나와 있는 지침을 사용하면 Red Hat Quay Container Security Operator가 openshift-operators
네임스페이스에 설치되므로 OpenShift Container Platform 클러스터의 모든 네임스페이스에서 사용할 수 있습니다.
17.1. Red Hat Quay 컨테이너 보안 운영자 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔 Operator Hub에서 또는 CLI를 사용하여 Red Hat Quay Container Security Operator를 설치할 수 있습니다.
사전 요구 사항
-
oc
CLI를 설치했습니다. -
클러스터 관리자
권한이 있는 사용자로 웹 콘솔에 액세스할 수 있습니다. - 클러스터에서 실행되는 Red Hat Quay 또는 Quay.io 레지스트리에서 온 컨테이너가 있습니다.
프로세스
OpenShift Container Platform 웹 콘솔을 사용하여 Red Hat Quay Container Security Operator를 설치할 수 있습니다.
-
웹 콘솔에서 Operators
OperatorHub 로 이동하여 Security를 선택합니다. - Red Hat Quay Container Security Operator Operator를 선택한 다음 설치를 선택합니다.
-
Red Hat Quay Container Security Operator 페이지에서 설치를 선택합니다. 업데이트 채널 , 설치 모드 , 업데이트 승인이 자동으로 선택됩니다. 설치된 네임스페이스 필드는 기본적으로
openshift-operators
로 설정됩니다. 필요에 따라 이러한 설정을 조정할 수 있습니다. - 설치를 선택합니다. 잠시 후 Red Hat Quay Container Security Operator가 설치된 운영자 페이지에 나타납니다.
선택 사항: Red Hat Quay Container Security Operator에 사용자 정의 인증서를 추가할 수 있습니다. 예를 들어 현재 디렉터리에
quay.crt
라는 인증서를 생성합니다. 그런 다음, 다음 명령을 실행하여 Red Hat Quay Container Security Operator에 사용자 지정 인증서를 추가합니다.oc create secret generic container-security-operator-extra-certs --from-file=quay.crt -n openshift-operators
$ oc create secret generic container-security-operator-extra-certs --from-file=quay.crt -n openshift-operators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택 사항: 사용자 정의 인증서를 추가한 경우 새 인증서가 적용되도록 Red Hat Quay Container Security Operator Pod를 다시 시작하세요.
-
웹 콘솔에서 Operators
또는 CLI를 사용하여 Red Hat Quay Container Security Operator를 설치할 수 있습니다.
다음 명령을 입력하여 Container Security Operator와 해당 채널의 최신 버전을 검색합니다.
oc get packagemanifests container-security-operator \ -o jsonpath='{range .status.channels[*]}{@.currentCSV} {@.name}{"\n"}{end}' \ | awk '{print "STARTING_CSV=" $1 " CHANNEL=" $2 }' \ | sort -Vr \ | head -1
$ oc get packagemanifests container-security-operator \ -o jsonpath='{range .status.channels[*]}{@.currentCSV} {@.name}{"\n"}{end}' \ | awk '{print "STARTING_CSV=" $1 " CHANNEL=" $2 }' \ | sort -Vr \ | head -1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
STARTING_CSV=container-security-operator.v3.8.9 CHANNEL=stable-3.8
STARTING_CSV=container-security-operator.v3.8.9 CHANNEL=stable-3.8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령의 출력을 사용하여 Red Hat Quay Container Security Operator에 대한
구독
사용자 정의 리소스를 만들고 이를container-security-operator.yaml
로 저장합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 구성을 적용합니다.
oc apply -f container-security-operator.yaml
$ oc apply -f container-security-operator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
subscription.operators.coreos.com/container-security-operator created
subscription.operators.coreos.com/container-security-operator created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow