Container Network Security란?
Container Network Security는 컨테이너 간 네트워크 트래픽에 대한 향상된 제어를 제공하는 고급 컨테이너 네트워킹 서비스의 제품입니다. Container Network Security는 Cilium 기반 정책을 활용하여 기존 IP 기반 방법에 비해 네트워크 보안을 관리하는 보다 세분화되고 사용자 친화적인 접근 방식을 제공합니다.
Container Network Security의 기능
현재 Container Network Security 내에서 사용할 수 있는 첫 번째 기능은 FQDN 필터링입니다. 이를 통해 도메인 이름에 따라 네트워크 보안 정책을 정의하여 네트워크 트래픽을 관리하는 보다 세분화되고 사용자에게 친숙한 접근 방식을 제공할 수 있습니다.
FQDN 필터링 개요
컨테이너화된 환경은 고유한 보안 문제를 제시합니다. IP 기반 필터링에 의존하는 기존의 네트워크 보안 방법은 IP 주소가 자주 변경될 때 번거롭고 덜 효과적일 수 있습니다. 또한 네트워크 트래픽 패턴을 이해하고 잠재적인 위협을 식별하는 것은 복잡할 수 있습니다.
FQDN 필터링은 네트워크 정책을 관리하기 위한 효율적이고 사용자에게 친숙한 접근 방식을 제공합니다. 조직은 IP 주소가 아닌 도메인 이름을 기반으로 이러한 정책을 정의하여 정책 관리 프로세스를 크게 간소화할 수 있습니다. 이 방법을 사용하면 IP 주소가 변경될 때 일반적으로 필요한 자주 업데이트할 필요가 없으므로 관리 부담이 줄어들고 구성 오류의 위험이 최소화됩니다.
Kubernetes 클러스터에서 Pod IP 주소는 자주 변경되어 IP 주소를 사용하는 보안 정책으로 Pod를 보호하는 것이 어려울 수 있습니다. FQDN 필터링을 사용하면 IP 주소가 아닌 도메인 이름을 사용하여 Pod 수준 정책을 만들 수 있으므로 IP 주소가 변경될 때 정책을 업데이트할 필요가 없습니다.
참고 항목
고급 컨테이너 네트워킹 서비스의 Container Network 보안 기능을 사용하려면 Cilium 및 Kubernetes 버전 1.29 이상의 Azure CNI가 필요합니다.
FQDN 필터링의 구성 요소
Cilium 에이전트: Cilium 에이전트는 Cilium에서 구동되는 Azure CNI 클러스터 내에서 DaemonSet으로 실행되는 중요한 네트워킹 구성 요소입니다. 클러스터의 Pod에 대한 네트워킹, 부하 분산 및 네트워크 정책을 처리합니다. 적용된 FQDN 정책을 사용하는 Pod의 경우 Cilium 에이전트는 DNS 확인을 위해 ACNS 보안 에이전트로 패킷을 리디렉션하고 ACNS 보안 에이전트에서 가져온 FQDN-IP 매핑을 사용하여 네트워크 정책을 업데이트합니다.
ACNS 보안 에이전트: ACNS 보안 에이전트는 고급 컨테이너 네트워킹 서비스를 사용하도록 설정된 Cilium 클러스터에서 지원하는 Azure CNI에서 DaemonSet으로 실행됩니다. Pod에 대한 DNS 확인을 처리하고 성공적인 DNS 확인 시 FQDN을 사용하여 Cilium 에이전트를 IP 매핑으로 업데이트합니다.
FQDN 필터링 작동 방식
FQDN 필터링을 사용하도록 설정하면 먼저 DNS 요청이 평가되어 Pod가 네트워크 정책에 따라 지정된 도메인 이름에만 액세스할 수 있도록 허용해야 하는지 여부를 결정합니다. Cilium 에이전트는 Pod에서 시작된 DNS 요청 패킷을 표시하여 ACNS 보안 에이전트로 리디렉션합니다. 이 리디렉션은 FQDN 정책을 적용하는 Pod에 대해서만 발생합니다.
그런 다음 ACNS 보안 에이전트는 정책 기준에 따라 DNS 요청을 DNS 서버에 전달할지 여부를 결정합니다. 허용되는 경우 요청이 DNS 서버로 전송되고 응답을 받으면 ACNS 보안 에이전트가 Cilium 에이전트를 FQDN 매핑으로 업데이트합니다. 이렇게 하면 Cilium 에이전트가 정책 엔진 내에서 네트워크 정책을 업데이트할 수 있습니다. 다음 이미지는 FQDN 필터링의 상위 수준 흐름을 보여 줍니다.
주요 혜택
확장 가능한 보안 정책 관리: 클러스터 및 보안 관리자는 IP 주소가 변경되어 작업을 보다 효율적으로 수행할 때마다 보안 정책을 업데이트할 필요가 없습니다.
향상된 보안 규정 준수: FQDN 필터링은 제로 트러스트 보안 모델을 지원합니다. 네트워크 트래픽은 신뢰할 수 있는 도메인으로 제한되어 무단 액세스의 위험만 완화합니다.
복원력 있는 정책 적용: FQDN 필터링으로 구현되는 ACNS 보안 에이전트는 Cilium 에이전트가 중단되고 정책이 계속 적용되더라도 DNS 확인이 원활하게 계속되도록 합니다. 이 구현은 동적 및 분산 환경에서 보안 및 안정성을 유지하는 데 매우 중요합니다.
고려 사항:
- 컨테이너 네트워크 보안 기능을 사용하려면 Cilium 및 Kubernetes 버전 1.29 이상에서 제공하는 Azure CNI가 필요합니다.
제한 사항:
- 와일드카드 FQDN 정책은 부분적으로 지원됩니다. 즉, 특정 패턴을 선행 와일드카드(예: .example.com)와 일치시키는 정책을 만들 수 있지만 범용 와일드카드()를 사용하여 필드의 모든 도메인과 일치시킬 수는 없습니다.
spec.egress.toPorts.rules.dns.matchPattern
지원되는 패턴:
*.example.com
- 이렇게 하면 example.com 아래의 모든 하위 도메인에 대한 트래픽이 허용됩니다.지원되지 않는 패턴
*
지원되지 않는 도메인 이름과 일치시키려고 시도합니다.
- FQDN 필터링은 현재 노드 로컬 DNS에서 지원되지 않습니다.
- 이중 스택은 지원되지 않습니다.
- Kubernetes 서비스 이름은 지원되지 않습니다.
- 다른 L7 정책은 지원되지 않습니다.
- FQDN Pod는 초당 1000개 이상의 요청을 처리할 때 성능이 저하될 수 있습니다.
- Cilium 네트워크 정책과 함께 사용할 때 Alpine 기반 컨테이너 이미지에 DNS 확인 문제가 발생할 수 있습니다. 이는 musl libc의 제한된 검색 도메인 반복 때문입니다. 이 작업을 해결하려면 아래 예제와 같이 와일드카드 패턴을 사용하여 네트워크 정책의 DNS 규칙에서 모든 검색 도메인을 명시적으로 정의합니다.
rules:
dns:
- matchPattern: "*.example.com"
- matchPattern: "*.example.com.*.*"
- matchPattern: "*.example.com.*.*.*"
- matchPattern: "*.example.com.*.*.*.*"
- matchPattern: "*.example.com.*.*.*.*.*"
- toFQDNs:
- matchPattern: "*.example.com"
가격 책정
Important
고급 컨테이너 네트워킹 서비스는 유료 제품입니다. 가격 책정에 대한 자세한 내용은 고급 컨테이너 네트워킹 서비스 - 가격 책정을 참조 하세요.
다음 단계
AKS에서 Container Network Security를 사용하도록 설정하는 방법을 알아봅니다.
오픈 소스 커뮤니티가 Cilium 네트워크 정책을 빌드하는 방법을 알아보세요.
AKS(Azure Kubernetes Service)용 고급 컨테이너 네트워킹 서비스에 대한 자세한 내용은 AKS(Azure Kubernetes Service)용 고급 컨테이너 네트워킹 서비스란?을 참조하세요.
컨테이너 네트워크 관찰 기능의 고급 컨테이너 네트워킹 서비스에서 컨테이너 네트워크 관찰 기능을 살펴봅니다.
Azure Kubernetes Service