IBM Cloud Container Registry의 취약점 고문 확인
IBM Cloud Container Registry 개요
IBM Cloud는 컨테이너 이미지를 저장하는 서비스로 IBM Cloud Container Registry(이후, Container Registry)를 제공합니다.
Container Registry는 '무료' 플랜과 '표준' 플랜을 제공합니다. "무료"플랜은 스토리지 : 500MB, 월당 pull 트래픽 : 5GB라는 제약은 있지만 문자 그대로 무료로 사용할 수있는 것이 특징입니다. IBM Cloud Kubernetes Service를 사용해 볼 때 무료로 사용할 수 있는 것이 좋습니다.
한편, "표준"플랜은 완전한 종량 과금제로, 이용한 스토리지, pull 트래픽에 따라 과금됩니다. 매월 스토리지: 500MB, pull 트래픽: 5GB의 무료 프레임이 설정되어 있으며, 이를 초과한 분에 대해 요금이 청구되는 형태입니다.
Container Registry의 취약성 검사 기능
Container Registry에는 취약성 어드바이저(Vulnerability Advisor)라는 컨테이너 이미지의 취약성을 확인하는 기능이 있습니다.
취약성 어드바이저는 Container Registry에 이미지가 push된 등의 시점에서 취약성을 확인하고 컨테이너 이미지 내에서 취약성이 있는 패키지가 사용되고 있지 않은지 확인하거나 MySQL/nginx/Apache 포함된 경우 구성 설정에 문제가 없는지 확인합니다.
또한 취약성 어드바이저에서 취약점이 감지되면 IBM Cloud Kubernetes Service 등에 대한 배포를 자동으로 거부하는 Container Image Security Enforcement와 협력할 수 있습니다.
이 기사에서는 Container Registry의 취약성 어드바이저를 실제로 사용하고 싶습니다.
취약성 고문
Container Registry에 이미지를 푸시하고 어떤 취약점이 발견되는지 살펴보겠습니다.
IBM Cloud CLI 및 Container Registry 플러그인을 사용하므로 배포되지 않은 경우 IBM Cloud CLI 개요를 참조하여 배포하십시오.
IBM Cloud에 로그인합니다.
ibmcloud login -a cloud.ibm.com -r jp-tok
Container Registry 리전을 설정하고 로그인합니다.
# リージョンを設定
❯ ibmcloud cr region-set ap-north
地域は「ap-north」に設定されました。地域は「jp.icr.io」です。
OK
# ログイン
❯ ibmcloud cr login
「jp.icr.io」にログインしています...
「jp.icr.io」にログインしました。
OK
Container Registry에 네임스페이스를 만듭니다. 작성한 경우 네임스페이스 이름을 확인합니다.
# 名前空間の作成
ibmcloud cr namespace-add <名前空間名>
# 名前空間の一覧
ibmcloud cr namespaces
그러면 먼저 IBM의 Java 애플리케이션 서버인 WebSphere Liberty의 이미지를 점검해 보겠습니다.
# イメージをDocker Hubからpull
docker pull websphere-liberty
# Container Registryにpushするためタグを設定
# <Container Registryのホスト名>/<名前空間名>/<イメージ名>:<タグ>
docker tag websphere-liberty:latest jp.icr.io/<名前空間名>/websphere-liberty:1.0
# イメージをContainer Registryにpush
docker push jp.icr.io/<名前空間名>/websphere-liberty:1.0
취약성 검사 결과를 살펴보겠습니다.
Container Registry 이미지 목록 페이지로 이동합니다.
방금 푸시한 WebSphere Liberty는 '문제 없음'으로 표시됩니다.
이제 nginx의 이미지를 검사해 보겠습니다.
# イメージをDocker Hubからpull
docker pull nginx
# Container Registryにpushするためタグを設定
# <Container Registryのホスト名>/<名前空間名>/<イメージ名>:<タグ>
docker tag nginx:latest jp.icr.io/<名前空間名>/nginx:1.0
# イメージをContainer Registryにpush
docker push jp.icr.io/<名前空間名>/nginx:1.0
다시 Container Registry 이미지 목록 페이지로 이동합니다.
nginx의 검사 결과를 보면 7개의 문제가 있음을 알 수 있습니다.
자세한 내용을 보려면 '7개의 문제' 부분을 클릭합니다.
그러면 다음과 같은 페이지에서 이미지 검사 결과의 세부 정보를 볼 수 있습니다.
취약점은 0건으로 구성 문제가 7건 있다는 결과를 낳습니다.
nginx의 설정 내용을 확인하고 문제 부분을 지적해주고 있습니다.
또한 웹 화면과 유사한 결과를 CLI에서도 확인할 수 있습니다.
❯ ibmcloud cr va registry.jp.icr.io/<名前空間名>/nginx:1.0
「registry.jp.icr.io/<名前空間名>/nginx:1.0」のセキュリティー問題を確認中...
イメージ「registry.jp.icr.io/<名前空間名>/nginx:1.0」の最終スキャン時刻は Sun Aug 16 15:03:02 UTC 2020 です。
スキャン結果は、イメージに 7 件の問題が検出されたことを示しています。
検出された構成の問題
==============================
構成の問題 ID ポリシー状況 セキュリティー対策 解決方法
application_configuration:nginx.ssl_protocols アクティブ Enables the specified protocols. ssl_protocols is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.ssl_certificate アクティブ Specifies a file with the certificate in the PEM ssl_certificate is not present in
format for the given virtual server. /etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.listen アクティブ The listen port and protocol. The site does not use SSL since listen parameter
does not contain ssl keyword.
File: /etc/nginx/conf.d/default.conf
application_configuration:nginx.ssl_certificate_key アクティブ Specifies the private key file for server cert. ssl_certificate_key is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.ssl_ciphers アクティブ Specifies ciphers used in TLS. ssl_ciphers is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default. Defaults may not
be secure.
application_configuration:nginx.ssl_prefer_server_ciphers アクティブ Specifies that server ciphers should be preferred ssl_prefer_server_ciphers is not present in
over client ciphers when using the SSLv3 and TLS /etc/nginx/nginx.conf or
protocols. /etc/nginx/sites-enabled/default. The strong
ciphers preferred by server may not be selected.
application_configuration:nginx.server_tokens アクティブ Enables or disables emitting nginx version in server_tokens is not present. Default value is
error messages and in the Server response header off. nginx will send its version in HTTP responses
field. which can be used by attackers for
version-specific attacks at this nginx server.
OK
이상과 같이 Container Registry를 이용하는 것으로, 이미지의 취약성도 아울러 체크하는 것이 가능하게 됩니다.
Reference
이 문제에 관하여(IBM Cloud Container Registry의 취약점 고문 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hisato_imanishi/items/ce103078ce8b4c575b24
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Container Registry에는 취약성 어드바이저(Vulnerability Advisor)라는 컨테이너 이미지의 취약성을 확인하는 기능이 있습니다.
취약성 어드바이저는 Container Registry에 이미지가 push된 등의 시점에서 취약성을 확인하고 컨테이너 이미지 내에서 취약성이 있는 패키지가 사용되고 있지 않은지 확인하거나 MySQL/nginx/Apache 포함된 경우 구성 설정에 문제가 없는지 확인합니다.
또한 취약성 어드바이저에서 취약점이 감지되면 IBM Cloud Kubernetes Service 등에 대한 배포를 자동으로 거부하는 Container Image Security Enforcement와 협력할 수 있습니다.
이 기사에서는 Container Registry의 취약성 어드바이저를 실제로 사용하고 싶습니다.
취약성 고문
Container Registry에 이미지를 푸시하고 어떤 취약점이 발견되는지 살펴보겠습니다.
IBM Cloud CLI 및 Container Registry 플러그인을 사용하므로 배포되지 않은 경우 IBM Cloud CLI 개요를 참조하여 배포하십시오.
IBM Cloud에 로그인합니다.
ibmcloud login -a cloud.ibm.com -r jp-tok
Container Registry 리전을 설정하고 로그인합니다.
# リージョンを設定
❯ ibmcloud cr region-set ap-north
地域は「ap-north」に設定されました。地域は「jp.icr.io」です。
OK
# ログイン
❯ ibmcloud cr login
「jp.icr.io」にログインしています...
「jp.icr.io」にログインしました。
OK
Container Registry에 네임스페이스를 만듭니다. 작성한 경우 네임스페이스 이름을 확인합니다.
# 名前空間の作成
ibmcloud cr namespace-add <名前空間名>
# 名前空間の一覧
ibmcloud cr namespaces
그러면 먼저 IBM의 Java 애플리케이션 서버인 WebSphere Liberty의 이미지를 점검해 보겠습니다.
# イメージをDocker Hubからpull
docker pull websphere-liberty
# Container Registryにpushするためタグを設定
# <Container Registryのホスト名>/<名前空間名>/<イメージ名>:<タグ>
docker tag websphere-liberty:latest jp.icr.io/<名前空間名>/websphere-liberty:1.0
# イメージをContainer Registryにpush
docker push jp.icr.io/<名前空間名>/websphere-liberty:1.0
취약성 검사 결과를 살펴보겠습니다.
Container Registry 이미지 목록 페이지로 이동합니다.
방금 푸시한 WebSphere Liberty는 '문제 없음'으로 표시됩니다.
이제 nginx의 이미지를 검사해 보겠습니다.
# イメージをDocker Hubからpull
docker pull nginx
# Container Registryにpushするためタグを設定
# <Container Registryのホスト名>/<名前空間名>/<イメージ名>:<タグ>
docker tag nginx:latest jp.icr.io/<名前空間名>/nginx:1.0
# イメージをContainer Registryにpush
docker push jp.icr.io/<名前空間名>/nginx:1.0
다시 Container Registry 이미지 목록 페이지로 이동합니다.
nginx의 검사 결과를 보면 7개의 문제가 있음을 알 수 있습니다.
자세한 내용을 보려면 '7개의 문제' 부분을 클릭합니다.
그러면 다음과 같은 페이지에서 이미지 검사 결과의 세부 정보를 볼 수 있습니다.
취약점은 0건으로 구성 문제가 7건 있다는 결과를 낳습니다.
nginx의 설정 내용을 확인하고 문제 부분을 지적해주고 있습니다.
또한 웹 화면과 유사한 결과를 CLI에서도 확인할 수 있습니다.
❯ ibmcloud cr va registry.jp.icr.io/<名前空間名>/nginx:1.0
「registry.jp.icr.io/<名前空間名>/nginx:1.0」のセキュリティー問題を確認中...
イメージ「registry.jp.icr.io/<名前空間名>/nginx:1.0」の最終スキャン時刻は Sun Aug 16 15:03:02 UTC 2020 です。
スキャン結果は、イメージに 7 件の問題が検出されたことを示しています。
検出された構成の問題
==============================
構成の問題 ID ポリシー状況 セキュリティー対策 解決方法
application_configuration:nginx.ssl_protocols アクティブ Enables the specified protocols. ssl_protocols is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.ssl_certificate アクティブ Specifies a file with the certificate in the PEM ssl_certificate is not present in
format for the given virtual server. /etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.listen アクティブ The listen port and protocol. The site does not use SSL since listen parameter
does not contain ssl keyword.
File: /etc/nginx/conf.d/default.conf
application_configuration:nginx.ssl_certificate_key アクティブ Specifies the private key file for server cert. ssl_certificate_key is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.ssl_ciphers アクティブ Specifies ciphers used in TLS. ssl_ciphers is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default. Defaults may not
be secure.
application_configuration:nginx.ssl_prefer_server_ciphers アクティブ Specifies that server ciphers should be preferred ssl_prefer_server_ciphers is not present in
over client ciphers when using the SSLv3 and TLS /etc/nginx/nginx.conf or
protocols. /etc/nginx/sites-enabled/default. The strong
ciphers preferred by server may not be selected.
application_configuration:nginx.server_tokens アクティブ Enables or disables emitting nginx version in server_tokens is not present. Default value is
error messages and in the Server response header off. nginx will send its version in HTTP responses
field. which can be used by attackers for
version-specific attacks at this nginx server.
OK
이상과 같이 Container Registry를 이용하는 것으로, 이미지의 취약성도 아울러 체크하는 것이 가능하게 됩니다.
Reference
이 문제에 관하여(IBM Cloud Container Registry의 취약점 고문 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hisato_imanishi/items/ce103078ce8b4c575b24
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ibmcloud login -a cloud.ibm.com -r jp-tok
# リージョンを設定
❯ ibmcloud cr region-set ap-north
地域は「ap-north」に設定されました。地域は「jp.icr.io」です。
OK
# ログイン
❯ ibmcloud cr login
「jp.icr.io」にログインしています...
「jp.icr.io」にログインしました。
OK
# 名前空間の作成
ibmcloud cr namespace-add <名前空間名>
# 名前空間の一覧
ibmcloud cr namespaces
# イメージをDocker Hubからpull
docker pull websphere-liberty
# Container Registryにpushするためタグを設定
# <Container Registryのホスト名>/<名前空間名>/<イメージ名>:<タグ>
docker tag websphere-liberty:latest jp.icr.io/<名前空間名>/websphere-liberty:1.0
# イメージをContainer Registryにpush
docker push jp.icr.io/<名前空間名>/websphere-liberty:1.0
# イメージをDocker Hubからpull
docker pull nginx
# Container Registryにpushするためタグを設定
# <Container Registryのホスト名>/<名前空間名>/<イメージ名>:<タグ>
docker tag nginx:latest jp.icr.io/<名前空間名>/nginx:1.0
# イメージをContainer Registryにpush
docker push jp.icr.io/<名前空間名>/nginx:1.0
❯ ibmcloud cr va registry.jp.icr.io/<名前空間名>/nginx:1.0
「registry.jp.icr.io/<名前空間名>/nginx:1.0」のセキュリティー問題を確認中...
イメージ「registry.jp.icr.io/<名前空間名>/nginx:1.0」の最終スキャン時刻は Sun Aug 16 15:03:02 UTC 2020 です。
スキャン結果は、イメージに 7 件の問題が検出されたことを示しています。
検出された構成の問題
==============================
構成の問題 ID ポリシー状況 セキュリティー対策 解決方法
application_configuration:nginx.ssl_protocols アクティブ Enables the specified protocols. ssl_protocols is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.ssl_certificate アクティブ Specifies a file with the certificate in the PEM ssl_certificate is not present in
format for the given virtual server. /etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.listen アクティブ The listen port and protocol. The site does not use SSL since listen parameter
does not contain ssl keyword.
File: /etc/nginx/conf.d/default.conf
application_configuration:nginx.ssl_certificate_key アクティブ Specifies the private key file for server cert. ssl_certificate_key is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default.
application_configuration:nginx.ssl_ciphers アクティブ Specifies ciphers used in TLS. ssl_ciphers is not present in
/etc/nginx/nginx.conf or
/etc/nginx/sites-enabled/default. Defaults may not
be secure.
application_configuration:nginx.ssl_prefer_server_ciphers アクティブ Specifies that server ciphers should be preferred ssl_prefer_server_ciphers is not present in
over client ciphers when using the SSLv3 and TLS /etc/nginx/nginx.conf or
protocols. /etc/nginx/sites-enabled/default. The strong
ciphers preferred by server may not be selected.
application_configuration:nginx.server_tokens アクティブ Enables or disables emitting nginx version in server_tokens is not present. Default value is
error messages and in the Server response header off. nginx will send its version in HTTP responses
field. which can be used by attackers for
version-specific attacks at this nginx server.
OK
Reference
이 문제에 관하여(IBM Cloud Container Registry의 취약점 고문 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hisato_imanishi/items/ce103078ce8b4c575b24텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)