Sixth Korean l10n work for release 1.18
- Update outdated files in dev-1.18-ko.6 partly (#21714) - Translate StorageClass to Korean word (#21805) - Translate StatefulSet to Korean word in pods.md (#21794) - Translate tasks/run-application/delete-stateful-set/ in Korean (#21686) - Translate tasks/administer-cluster/change-default-storage-class in Korean (#21801) - update outdated docs (#21940) - Modify spacing term StatefulSet in Korean (#21871) - Translate /tasks/administer-cluster/coredns in Korean (#21876) - Fix typo in k8s.io/ko/docs/contribute/new-content/new-content/ (#21975) - Translation error correction in /concepts/containers/runtime-class.md (#21868) - Translate tasks/tls/certificate-rotation/ in Korean (#21838) - Translate /tasks/configure-pod-container/static-pod in Korean (#21798) - Update to Outdated files in the dev-1.18-ko.6 branch - (1/4) (#21911) - Fix English bugs in Korean documentation (#21994) - Update outdated dev-1.18-ko.6 partly (#22067) Co-authored-by: Jerry Park <jaehwa@gmail.com> Co-authored-by: PyungHo Yoon <learder@gmail.com> Co-authored-by: Yuk, Yongsu <ysyukr@gmail.com> Co-authored-by: Jerry Park <jaehwa@gmail.com> Co-authored-by: Seokho Son <shsongist@gmail.com> Co-authored-by: Jordy Ruiter <jordy.ruiter@gmail.com> Co-authored-by: bluefriday <bluefriday86@gmail.com> Co-authored-by: Dajin Gwon <d.gweon@samsung.com> Co-authored-by: Hyungseok Lee <hs0426.lee@samsung.com> Co-authored-by: Jihoon Seo <jihoon.seo@etri.re.kr> Co-authored-by: coolguyhong <podolsmith@naver.com> Co-authored-by: jmyung <jesang.myung@gmail.com> Co-authored-by: June Yi <june.yi@samsung.com>
This commit is contained in:
@@ -7,13 +7,13 @@ weight: 1
|
||||
{{< toc >}}
|
||||
|
||||
<!-- overview -->
|
||||
쿠버네티스 보안(일반적인 보안)은 관련된 많은 부분이 상호작용하는
|
||||
방대한 주제다. 오늘날에는 웹 애플리케이션의 실행을 돕는
|
||||
수많은 시스템에 오픈소스 소프트웨어가 통합되어 있으며,
|
||||
전체적인 보안에 대하여 생각할 수 있는 방법에 대한 통찰력을 도울 수 있는
|
||||
몇 가지 중요한 개념이 있다. 이 가이드는 클라우드 네이티브 보안과 관련된
|
||||
몇 가지 일반적인 개념에 대한 멘탈 모델(mental model)을 정의한다. 멘탈 모델은 완전히 임의적이며
|
||||
소프트웨어 스택을 보호할 위치를 생각하는데 도움이되는 경우에만 사용해야
|
||||
쿠버네티스 보안(일반적인 보안)은 관련된 많은 부분이 상호작용하는
|
||||
방대한 주제다. 오늘날에는 웹 애플리케이션의 실행을 돕는
|
||||
수많은 시스템에 오픈소스 소프트웨어가 통합되어 있으며,
|
||||
전체적인 보안에 대하여 생각할 수 있는 방법에 대한 통찰력을 도울 수 있는
|
||||
몇 가지 중요한 개념이 있다. 이 가이드는 클라우드 네이티브 보안과 관련된
|
||||
몇 가지 일반적인 개념에 대한 멘탈 모델(mental model)을 정의한다. 멘탈 모델은 완전히 임의적이며
|
||||
소프트웨어 스택을 보호할 위치를 생각하는데 도움이되는 경우에만 사용해야
|
||||
한다.
|
||||
|
||||
|
||||
@@ -22,8 +22,8 @@ weight: 1
|
||||
## 클라우드 네이티브 보안의 4C
|
||||
계층적인 보안에 대해서 어떻게 생각할 수 있는지 이해하는 데 도움이 될 수 있는 다이어그램부터 살펴보자.
|
||||
{{< note >}}
|
||||
이 계층화된 접근 방식은 보안에 대한 [심층 방어](https://en.wikipedia.org/wiki/Defense_in_depth_(computing))
|
||||
접근 방식을 강화하며, 소프트웨어 시스템의 보안을 위한 모범 사례로
|
||||
이 계층화된 접근 방식은 보안에 대한 [심층 방어](https://en.wikipedia.org/wiki/Defense_in_depth_(computing))
|
||||
접근 방식을 강화하며, 소프트웨어 시스템의 보안을 위한 모범 사례로
|
||||
널리 알려져 있다. 4C는 클라우드(Cloud), 클러스터(Clusters), 컨테이너(Containers) 및 코드(Code)이다.
|
||||
{{< /note >}}
|
||||
|
||||
@@ -31,23 +31,23 @@ weight: 1
|
||||
|
||||
|
||||
위 그림에서 볼 수 있듯이,
|
||||
4C는 각각의 사각형의 보안에 따라 다르다. 코드
|
||||
수준의 보안만 처리하여 클라우드, 컨테이너 및 코드의 열악한 보안 표준으로부터
|
||||
보호하는 것은 거의 불가능하다. 그러나 이런 영역들의 보안이 적절하게
|
||||
처리되고, 코드에 보안을 추가한다면 이미 강력한 기반이 더욱
|
||||
4C는 각각의 사각형의 보안에 따라 다르다. 코드
|
||||
수준의 보안만 처리하여 클라우드, 컨테이너 및 코드의 열악한 보안 표준으로부터
|
||||
보호하는 것은 거의 불가능하다. 그러나 이런 영역들의 보안이 적절하게
|
||||
처리되고, 코드에 보안을 추가한다면 이미 강력한 기반이 더욱
|
||||
강화될 것이다. 이러한 관심 분야는 아래에서 더 자세히 설명한다.
|
||||
|
||||
## 클라우드
|
||||
|
||||
여러 면에서 클라우드(또는 공동 위치 서버, 또는 기업의 데이터 센터)는 쿠버네티스 클러스터 구성을 위한
|
||||
[신뢰 컴퓨팅 기반(trusted computing base)](https://en.wikipedia.org/wiki/Trusted_computing_base)
|
||||
이다. 이러한 구성 요소 자체가 취약하거나(또는 취약한 방법으로 구성된)
|
||||
경우 이 기반 위에서 구축된 모든 구성 요소의 보안을
|
||||
실제로 보장할 방법이 없다. 각 클라우드 공급자는 그들의 환경에서 워크로드를
|
||||
안전하게 실행하는 방법에 대해 고객에게 광범위한 보안 권장 사항을
|
||||
제공한다. 모든 클라우드 공급자와 워크로드는 다르기 때문에
|
||||
클라우드 보안에 대한 권장 사항을 제공하는 것은 이 가이드의 범위를 벗어난다. 다음은
|
||||
알려진 클라우드 공급자의 보안 문서의 일부와
|
||||
이다. 이러한 구성 요소 자체가 취약하거나(또는 취약한 방법으로 구성된)
|
||||
경우 이 기반 위에서 구축된 모든 구성 요소의 보안을
|
||||
실제로 보장할 방법이 없다. 각 클라우드 공급자는 그들의 환경에서 워크로드를
|
||||
안전하게 실행하는 방법에 대해 고객에게 광범위한 보안 권장 사항을
|
||||
제공한다. 모든 클라우드 공급자와 워크로드는 다르기 때문에
|
||||
클라우드 보안에 대한 권장 사항을 제공하는 것은 이 가이드의 범위를 벗어난다. 다음은
|
||||
알려진 클라우드 공급자의 보안 문서의 일부와
|
||||
쿠버네티스 클러스터를 구성하기 위한 인프라
|
||||
보안에 대한 일반적인 지침을 제공한다.
|
||||
|
||||
@@ -65,7 +65,7 @@ Microsoft Azure | https://docs.microsoft.com/en-us/azure/security/azure-security
|
||||
VMWare VSphere | https://www.vmware.com/security/hardening-guides.html |
|
||||
|
||||
|
||||
자체 하드웨어나 다른 클라우드 공급자를 사용하는 경우 보안에 대한
|
||||
자체 하드웨어나 다른 클라우드 공급자를 사용하는 경우 보안에 대한
|
||||
모범 사례는 해당 문서를 참조한다.
|
||||
|
||||
### 일반적인 인프라 지침 표
|
||||
@@ -73,32 +73,33 @@ VMWare VSphere | https://www.vmware.com/security/hardening-guides.html |
|
||||
쿠버네티스 인프라에서 고려할 영역 | 추천 |
|
||||
--------------------------------------------- | ------------ |
|
||||
API 서버에 대한 네트워크 접근(마스터) | 이상적으로는 인터넷에서 쿠버네티스 마스터에 대한 모든 접근을 공개적으로 허용하지 않으며 클러스터를 관리하는데 필요한 IP 주소 집합으로 제한된 네트워크 접근 제어 목록(ACL)에 의해 제어되어야 한다. |
|
||||
노드에 대한 네트워크 접근(워커 서버) | 노드는 마스터의 지정된 포트 연결_만_ 허용하고(네트워크 접근 제어 목록의 사용), NodePort와 LoadBalancer 유형의 쿠버네티스 서비스에 대한 연결을 허용하도록 구성해야 한다. 가능한 노드가 공용 인터넷에 완전히 노출되어서는 안된다.
|
||||
노드에 대한 네트워크 접근(워커 서버) | 노드는 마스터의 지정된 포트 연결_만_ 허용하고(네트워크 접근 제어 목록의 사용), NodePort와 LoadBalancer 유형의 쿠버네티스 서비스에 대한 연결을 허용하도록 구성해야 한다. 가능한 노드가 공용 인터넷에 완전히 노출되어서는 안된다.
|
||||
클라우드 공급자 API에 대한 쿠버네티스 접근 | 각 클라우드 공급자는 쿠버네티스 마스터 및 노드에 서로 다른 권한을 부여해야 함으로써, 이런 권장 사항이 더 일반적이다. 관리해야 하는 리소스에 대한 [최소 권한의 원칙](https://en.wikipedia.org/wiki/Principle_of_least_privilege)을 따르는 클라우드 공급자의 접근 권한을 클러스터에 구성하는 것이 가장 좋다. AWS의 Kops에 대한 예제: https://github.com/kubernetes/kops/blob/master/docs/iam_roles.md#iam-roles
|
||||
etcd에 대한 접근 | etcd (쿠버네티스의 데이터저장소)에 대한 접근은 마스터로만 제한되어야 한다. 구성에 따라 TLS를 통해 etcd를 사용해야 한다. 자세한 정보: https://github.com/etcd-io/etcd/tree/master/Documentation#security
|
||||
etcd 암호화 | 가능한 모든 드라이브를 유휴 상태에서 암호화 하는 것이 좋은 방법이지만, etcd는 전체 클러스터(시크릿 포함)의 상태를 유지하고 있기에 디스크의 암호화는 유휴 상태에서 암호화 되어야 한다.
|
||||
|
||||
## 클러스터
|
||||
|
||||
이 섹션에서는 쿠버네티스의 워크로드
|
||||
이 섹션에서는 쿠버네티스의 워크로드
|
||||
보안을 위한 링크를 제공한다. 쿠버네티스
|
||||
보안에 영향을 미치는 다음 두 가지 영역이 있다.
|
||||
|
||||
* 클러스터를 구성하는 설정 가능한 컴포넌트의 보안
|
||||
* 클러스터에서 실행되는 컴포넌트의 보안
|
||||
|
||||
|
||||
### 클러스터_의_ 컴포넌트
|
||||
|
||||
우발적이거나 악의적인 접근으로부터 클러스터를 보호하고,
|
||||
모범 사례에 대한 정보를 채택하기 위해서는
|
||||
우발적이거나 악의적인 접근으로부터 클러스터를 보호하고,
|
||||
모범 사례에 대한 정보를 채택하기 위해서는
|
||||
[클러스터 보안](/docs/tasks/administer-cluster/securing-a-cluster/)에 대한 조언을 읽고 따른다.
|
||||
|
||||
### 클러스터 _내_ 컴포넌트(애플리케이션)
|
||||
애플리케이션의 공격 영역에 따라, 보안의 특정 측면에
|
||||
중점을 둘 수 있다. 예를 들어, 다른 리소스 체인에 중요한 서비스(서비스 A)와
|
||||
리소스 소진 공격에 취약한 별도의 작업 부하(서비스 B)를 실행하는 경우,
|
||||
리소스 제한을 설정하지 않은 서비스 B에 의해
|
||||
서비스 A 또한 손상시킬 위험이 있다. 다음은 쿠버네티스에서
|
||||
애플리케이션의 공격 영역에 따라, 보안의 특정 측면에
|
||||
중점을 둘 수 있다. 예를 들어, 다른 리소스 체인에 중요한 서비스(서비스 A)와
|
||||
리소스 소진 공격에 취약한 별도의 작업 부하(서비스 B)를 실행하는 경우,
|
||||
리소스 제한을 설정하지 않은 서비스 B에 의해
|
||||
서비스 A 또한 손상시킬 위험이 있다. 다음은 쿠버네티스에서
|
||||
실행 중인 워크로드를 보호할 때 고려해야 할 사항에 대한 링크 표이다.
|
||||
|
||||
워크로드 보안에서 고려할 영역 | 추천 |
|
||||
@@ -115,9 +116,9 @@ RBAC 인증(쿠버네티스 API에 대한 접근) | https://kubernetes.io/docs/r
|
||||
|
||||
## 컨테이너
|
||||
|
||||
쿠버네티스에서 소프트웨어를 실행하려면, 소프트웨어는 컨테이너에 있어야 한다. 이로 인해,
|
||||
쿠버네티스의 원시적인 워크로드 보안으로부터 이점을 얻기 위해서
|
||||
반드시 고려해야 할 보안 사항이 있다. 컨테이너 보안
|
||||
쿠버네티스에서 소프트웨어를 실행하려면, 소프트웨어는 컨테이너에 있어야 한다. 이로 인해,
|
||||
쿠버네티스의 원시적인 워크로드 보안으로부터 이점을 얻기 위해서
|
||||
반드시 고려해야 할 보안 사항이 있다. 컨테이너 보안
|
||||
또한 이 가이드의 범위를 벗어나지만, 해당 주제에 대한 추가적인 설명을 위하여
|
||||
일반 권장사항 및 링크 표를 아래에 제공한다.
|
||||
|
||||
@@ -129,9 +130,9 @@ RBAC 인증(쿠버네티스 API에 대한 접근) | https://kubernetes.io/docs/r
|
||||
|
||||
## 코드
|
||||
|
||||
마지막으로 애플리케이션의 코드 수준으로 내려가면, 가장 많은 제어를 할 수 있는
|
||||
주요 공격 영역 중 하나이다. 이런 코드 수준은 쿠버네티스의 범위
|
||||
밖이지만 몇가지 권장사항이 있다.
|
||||
마지막으로 애플리케이션의 코드 수준으로 내려가면, 가장 많은 제어를 할 수 있는
|
||||
주요 공격 영역 중 하나이다. 이런 코드 수준은 쿠버네티스의 범위
|
||||
밖이지만 몇 가지 권장사항이 있다.
|
||||
|
||||
### 일반적인 코드 보안 지침표
|
||||
|
||||
@@ -146,8 +147,8 @@ TLS를 통한 접근 | 코드가 TCP를 통해 통신해야 한다면, 클라이
|
||||
|
||||
## 강력한(robust) 자동화
|
||||
|
||||
위에서 언급한 대부분의 제안사항은 실제로 일련의 보안 검사의 일부로 코드를
|
||||
전달하는 파이프라인에 의해 자동화 될 수 있다. 소프트웨어 전달을 위한
|
||||
위에서 언급한 대부분의 제안사항은 실제로 일련의 보안 검사의 일부로 코드를
|
||||
전달하는 파이프라인에 의해 자동화 될 수 있다. 소프트웨어 전달을 위한
|
||||
"지속적인 해킹(Continuous Hacking)"에 대한 접근 방식에 대해 알아 보려면, 자세한 설명을 제공하는 [이 기사](https://thenewstack.io/beyond-ci-cd-how-continuous-hacking-of-docker-containers-and-pipeline-driven-security-keeps-ygrene-secure/)를 참고한다.
|
||||
|
||||
|
||||
@@ -159,4 +160,3 @@ TLS를 통한 접근 | 코드가 TCP를 통해 통신해야 한다면, 클라이
|
||||
* 컨트롤 플레인에 대한 [전송 데이터 암호화](/docs/tasks/tls/managing-tls-in-a-cluster/) 알아보기
|
||||
* [Rest에서 데이터 암호화](/docs/tasks/administer-cluster/encrypt-data/) 알아보기
|
||||
* [쿠버네티스 시크릿](/docs/concepts/configuration/secret/)에 대해 알아보기
|
||||
|
||||
|
||||
Reference in New Issue
Block a user