NGINX Ingress Controller Documentation

Security

NGINX Ingress Controller Security 권장 사항.

Ingress Controller Security 은 사용자의 성공에 가장 중요하지만 Ingress Controller는 사용자가 사용자 환경에 배포하므로 Ingress Controller의 배포를 보호할 책임이 있습니다. 모든 사용자가 다음 보안 문제를 읽고 이해할 것을 강력히 권장합니다.

목차

1. Kubernetes
1-1. RBAC 및 서비스 계정
1-2. 인증서 및 개인키
2. Ingress Controller
2-1. 권장되는 보안 기본값
2-2. Snippets

1. Kubernetes

클러스터 보안에 대한 Kubernetes 가이드를 권장합니다. 또한 다음은 특히 Ingress Controller와 관련이 있습니다.

1-1. RBAC 및 서비스 계정

Ingress Controller는 Kubernetes 환경 내에 배포되며 이 환경은 보안되어야 합니다. Kubernetes는 RBAC를 사용하여 다양한 유형의 사용자가 사용할 수 있는 리소스와 작업을 제어합니다. Ingress Controller에는 RBAC를 사용하여 구성된 서비스 계정이 필요합니다. 표준 배포 구성에 제공된 RBAC 구성을 사용하는 것이 좋습니다. Ingress Controller가 작동하는 데 필요한 최소한의 권한으로 구성됩니다.

Ingress Controller 서비스 계정에 어떤 액세스 권한이 있고 어떤 리소스에 대한 액세스 권한이 있는지 이해하려면 RBAC 구성(Manifests 설치용 또는 helm용)을 검사하는 것이 좋습니다. 예를 들어 기본적으로 서비스 계정은 클러스터의 모든 Secret 리소스에 액세스할 수 있습니다.

1-2. 인증서 및 개인키

일부 구성의 경우 Ingress Controller에 Secret가 필요합니다. Secret은 기본적으로 암호화되지 않은 Kubernetes에 의해 저장됩니다. 유휴 상태에서 암호화된 Secret을 저장하도록 Kubernetes를 구성하는 것이 좋습니다. Kubernetes에는 이를 구성하는 방법에 대한 설명서가 있습니다.

2. Ingress Controller

2-1. 권장되는 보안 기본값

가장 안전한 구성을 위해 다음을 권장합니다.

2-2. Snippets

Snippets을 사용하면 Raw NGINX 구성을 NGINX 구성의 다른 Context에 삽입할 수 있으며 Ingress, VirtualServer/VirtualServerRouteTransportServer 리소스에 대해 지원됩니다. 또한 ConfigMap 리소스는 전역적으로 Snippets을 구성합니다.

Snippets은 기본적으로 비활성화되어 있습니다. Snippets을 사용하려면 enable-snippets Command-line를 설정합니다. ConfigMap 리소스의 경우 Snippets이 항상 활성화되어 있습니다.