NGINX Ingress Controller Documentation

NGINX App Protect WAF를 사용하여 설치

이 문서는 NGINX Ingress Controller 배포와 함께 NGINX App Protect WAF 를 사용하는 데 필요한 단계에 대한 개요를 제공합니다. 링크된 문서를 방문하여 추가 정보 및 지침을 찾을 수 있습니다.

Note: NGINX Kubernetes Ingress Controller를 NGINX App Protect WAF와 통합하려면 NGINX Plus를 사용해야 합니다.

Helm을 사용하여 App Protect WAF와 함께 Ingress Controller를 설치할 수도 있습니다. 차트의 controller.appprotect.* 매개변수를 사용합니다.

목차

1. 전제 조건
2. Docker Image Build
3. Ingress Controller 설치

1. 전제 조건

1. Ingress Controller Image에 대한 액세스 권한이 있는지 확인합니다.

  • NGINX Plus Ingress Controller의 경우 Docker Registry에서 Image를 가져오는 방법에 대한 자세한 내용은 여기를 참조하세요.
  • Kubernetes 클러스터의 컨테이너 Registry에서 가져오려면 여기의 지침에 따라 JWT 토큰을 사용하여 Docker Registry Secret을 구성합니다.
  • 여기의 지침에 따라 자체 Image를 Build하고 개인 Docker Registry에 Push할 수도 있습니다.

2. Ingress Controller Repo를 Clone합니다.

$ git clone https://github.com/nginxinc/kubernetes-ingress.git --branch v2.4.2
$ cd kubernetes-ingress

2. Docker Image Build

Kubernetes에서 App Protect와 함께 NGINX Ingress Controller를 배포하는 데 사용할 Docker Image를 생성하려면 아래 단계를 수행하십시오.

NGINX Ingress Controller Image를 Build합니다.

make 명령을 실행하여 Image를 Build할 때 debian-image-nap-plus 대상을 사용해야 합니다. 예를 들어:

make debian-image-nap-plus PREFIX=<your Docker registry domain>/nginx-plus-ingress

또는 OpenShift 클러스터에서 실행하려는 경우 ubi-image-nap-plus 대상을 사용할 수 있습니다.

Image에 App Protect DoS 모듈을 포함하려는 경우 OpenShift용 debian-image-nap-dos-plus 대상 또는 ubi-image-nap-dos-plus 대상을 사용할 수 있습니다.

NGINX App Protect WAF 정책에서 외부 참조를 사용하려는 경우 호스팅 서버에 인증하기 위해 사용자 정의 CA 인증서를 제공할 수 있습니다. 이렇게 하려면 Build 폴더에 *.crt 파일을 넣고 아래 행의 주석을 제거하십시오.

#Uncomment the lines below if you want to install a custom C

Note: Ingress Controller의 외부 참조는 더 이상 사용되지 않으며 향후 릴리스에서 지원되지 않습니다.

Note: NGINX Plus의 패치 버전이 출시되는 경우 최신 버전을 얻기 위해 Image를 다시 Build해야 합니다. Dockerfile은 Build 시 사용 가능한 최신 버전의 Attack Signatures 및 Threat Campaigns 패키지를 사용합니다. 시스템이 Docker 계층을 Caching하고 패키지를 업데이트하지 않는 경우 DOCKER_BUILD_OPTIONS="--no-cache"make 명령에 추가합니다.

3. Ingress Controller 설치

Kubernetes 클러스터에서 NGINX 인그레스 컨트롤러 및 App Protect WAF 모듈을 설정하고 배포하려면 아래 단계를 수행하십시오.

1. Role-Based Access Control(RBAC)를 구성합니다.

Important: Kubernetes 클러스터에서 RBAC를 구성하려면 Admin Role이 있어야 합니다.

2. 공통 Kubernetes 리소스를 생성합니다.

3. enable-app-protect cli Argument를 Deployment 또는 DaemonSet 파일에 추가하여 App Protect WAF 모듈을 활성화합니다.

4. Ingress Controller를 배포합니다.