1. vPC
vPC 는 가상 내부 네트워크를 뜻하며 물리적 네트워크와 분리된 완전히 격리된 가상 네트워크를 만들 수 있다. IP 주소가 겹치는 다중 테넌트 네트워크 프로비저닝, 셀프 서비스 네트워크 프로비저닝 및 IP 주소 보존을 수행할 수 있다.
주요 사용 사례:
- 멀티-테넌트 네트워킹 (Multi-tenant networking)
- 네트워크 격리 (Network isolation)
- IP 주소 오버래핑 (Overlapping IP addresses)
- 셀프-서비스 네트워크 생성 (Self-service network creation)
- VM IP 모빌리티 (VM IP mobility)
- 하이브리드 클라우드 연결 (Hybrid Cloud connectivity)
VPCs (Virtual Private Clouds)
VPC 또는 Virtual Private Cloud는 Flow 가상 네트워킹(Flow Virtual Networking)의 기본 단위이다. 각 VPC는 VPC 내부의 모든 서브넷을 연결하는 가상 라우터 인스턴스가 있는 격리된 네트워크 네임스페이스이다. 이것은 한 VPC 내부의 IP 주소가 다른 VPC 또는 물리적 네트워크와도 겹칠 수 있도록 한다. VPC는 동일한 프리즘 센트럴에서 관리하는 모든 클러스터를 포함하도록 확장할 수 있지만, 일반적으로 VPC는 단일 AHV 클러스터 또는 동일한 가용 영역의 클러스터 내에만 존재해야 한다.
각 VM은 단일 VPC에만 배치할 수 있다. VM을 VPC와 VLAN에 동시에 연결하거나 두 개의 서로 다른 VPC에 동시에 연결할 수 없다.
Policies
가상 라우터는 VPC 내부 트래픽에 대한 컨트롤 포인트 역할을 한다. 여기에서 간단한 상태 비저장 정책을 적용할 수 있으며, 라우터를 통해 흐르는 모든 트래픽은 정책에 의해 평가된다. 동일한 서브넷 내의 한 VM에서 다른 VM으로의 트래픽은 정책을 거치지 않는다.
위와 같이 vpc 를 생성할 수 있으며 해당 vpc에 vm을 넣는 방법은 vm에 nic 를 해당 vpc로 선택하면 된다.
서브넷을 만들어 주게 되면 해당 IP 대역으로 vm에 할당된다
vpc에서 외부와 통신을 하려면 Floating IP 를 vm별로 1대1로 할당을 해야한다. 해당 Floating IP는 네트워크 설정시 External Vlan 으로 지정해 준 네트워크이어야 한다.
vpc 에서는 정책을 이용하여 접근 제어를 할 수 있다. 하지만 가장 큰 단점은 같은 서브넷에 있는 vm은 해당 정책에 적용을 받지 않는다.
위와 같이 라우팅을 지정해주어야만 통신이 가능하며 서브넷에서 지정한 IP 대역들은 로컬 통신으로 라우팅이 자동으로 되어 서브넷이 다르더라도 로컬 통신으로 인식하게된다.
맨 아래 디폴트 라우팅 경로는 지정해줘야만 Floating IP 로 외부와 통신이 가능하게 되며, 해당 라우팅을 삭제하면 외부와 통신은 되지 않는다. 즉 해당 vpc 내에서만 네트워크가 이뤄진다.
2. FLOW
Flow 네트워크 보안(Flow Network Security)은 AHV 플랫폼에서 실행되는 VM과 VM이 통신하는 외부 엔터티 간에 세분화된 네트워크 모니터링 및 시행을 가능하게 하는 분산 상태 저장 방화벽이다.
핵심 사용 사례:
- 마이크로세그멘테이션
설정은 정책을 정의하고 카테고리에 할당하여 프리즘 센트럴을 통해 수행된다. 이를 통해 중앙에서 설정을 수행하고 여러 뉴타닉스 클러스터로 푸시할 수 있다. 각 AHV 호스트는 OpenFlow를 이용하여 규칙을 구현한다. Flow 네트워크 보안(Flow Network Security) 설정은 프리즘 센트럴에서 정책을 정의하고 VM에 카테고리를 할당함으로서 수행된다. 프리즘 센트럴은 연결된 많은 AHV 클러스터의 보안 정책 및 카테고리를 중앙에서 정의할 수 있다. 각 AHV 호스트는 분산 실행의 필요에 맞게 OVS 및 OpenFlow를 사용하여 규칙을 구현한다.
카테고리 (Categories)
카테고리는 정책이 적용되는 VM 그룹을 정의하는 데 사용되는 간단한 텍스트 기반의 Key-Value 쌍이다. 일반적인 카테고리는 환경(environment), 애플리케이션 유형(application type) 및 애플리케이션 계층(application tier)이다. VM을 식별하는 데 도움이 되는 모든 키(Key) 및 값(Value) 태그를 카테고리로 사용할 수 있지만 AppType 및 AppTier와 같은 일부 카테고리는 애플리케이션 보안 정책에 필요하다.
- Category: “Key: Value” or Tag
- Examples Keys: AppType, AppTier, Group, Location
예를 들어 프로덕션 데이터베이스 서비스를 제공하는 VM에는 다음과 같은 카테고리가 할당될 수 있다.
- AppTier: Database
- AppType: Billing
- Environment: Production
그런 다음 보안 정책에서 이러한 카테고리를 활용하여 적용할 규칙이나 작업을 결정할 수 있다. 카테고리는 Flow 네트워크 보안(Flow Network Security)를 위한 것일 뿐만 아니라 보호 정책에도 이와 동일한 카테고리를 사용할 수 있다.
보안 정책 (Security Policies)
보안 정책(Security Policies)은 소스와 대상 간에 허용되는 항목을 결정하는 정의된 규칙으로 구성된다. 애플리케이션 정책 내의 규칙에는 특정 애플리케이션 계층에 대한 모든 인바운드 및 아웃바운드 트래픽이 포함된다. 단일 규칙에는 여러 소스와 여러 대상이 포함될 수 있다. 다음 예에는 AppTier: Web에 대해 정의된 단일 규칙이 있다. AppTier: Database에 허용된 트래픽을 추가하면 두 가지 규칙이 있게 된다.
Flow 네트워크 보안 - 규칙 (Flow Network Security - Rules)
보안 정책에는 몇 가지 유형이 있으며 다음과 같은 순서로 평가된다:
- 검역 정책 (Quarantine Policy)
- 지정된 VM에 대한 모든 트래픽 거부: Strict
- 조사를 위해 특정 트래픽을 제외한 모든 트래픽 거부: Forensic
- 예제 1: 바이러스에 감염된 VM A, B, C는 바이러스가 네트워크를 추가로 감염시키지 못하도록 이들을 격리한다.
- 예제 2: VM A,B,C가 감염되었다. 이들을 격리하되 보안 팀이 분석을 위해 VM에 연결할 수 있도록 허용한다.
- 격리 정책 (Isolation Policy)
- 두 카테고리 간의 트래픽을 거부하고 카테고리 내의 트래픽은 허용한다.
- 예제: 테넌트 A를 테넌트 B와 분리하고, 환경을 복제하고 정상적인 네트워크 통신에 영향을 주지 않고 병렬로 실행할 수 있다.
- 애플리케이션 정책 (Application Policy)
- 이것은 트랜스포트(TCP/UDP), 포트 및 소스/대상이 허용되는지를 정의할 수 있는 일반적인 5-튜플 규칙이다.
- 트랜스포트 허용: Port(s) To,From
- 예제: Location:HQ 카테고리의 VM에서 AppTier:Web 카테고리의 VM으로 TCP 443 허용
- VDI 정책 (VDI Policy)
- 로그인한 사용자의 AD 그룹을 기반으로 VDI VM에 카테고리를 적용하는 ID 기반 방화벽.
- 할당된 AD 그룹을 기반으로 정책 구현
정책 상태 (Policy State)
정책 상태(Policy State)는 규칙이 일치할 때 수행할 작업을 결정한다. Flow 네트워크 보안(Flow Network Security)에는 두 가지 주요 상태가 있다.
- 시행 (Enforce)
- 정의된 흐름(flow)만 허용하고 나머지는 모두 삭제(drop)하여 정책을 시행한다.
- 모니터 (Monitor)
- 모든 흐름(flow)을 허용하되 정책 시각화 페이지에서 정책을 위반한 패킷을 강조 표시한다.
Flow 네트워크 보안 - 규칙 순서 개요 (Flow Network Security - Rule Order Overview)
정책은 카테고리를 기반으로 구축되지만 규칙 시행은 감지된 VM IP 주소를 기반으로 수행된다. Flow 네트워크 보안(Flow Network Security)의 작업은 모든 VM에 할당된 카테고리와 정책을 평가한 다음 보호된 VM이 실행되는 호스트의 br.microseg 브리지에 올바른 규칙을 프로그래밍하는 것이다. 뉴타닉스 AHV IPAM을 사용하는 VM은 NIC이 프로비저닝되는 즉시 알려진 IP 주소를 가지며 VM의 전원이 켜질 때 규칙이 프로그래밍된다. 뉴타닉스 아크로폴리스 프로세스는 DHCP 및 ARP 메시지를 가로채서 고정 IP 또는 외부 DHCP가 있는 VM의 IP 주소를 감지한다. 이러한 VM의 경우 VM IP가 알려지는 즉시 규칙이 적용된다.
검역(Quarantine), 애플리케이션(Application) 및 VDI 정책에 대한 규칙 평가는 감지된 IPv4 주소를 기반으로 한다.
격리(Isolation) 정책에 대한 규칙 평가는 IPv4 주소와 VM MAC 주소를 모두 기반으로 한다.
평가 순서는 다음 순서에 기반하여 먼저 일치하는 것을 기준으로 한다.
- 검역 (Quarantine)
- 격리 (Isolation)
- 애플리케이션 (Application)
- VDI
위 화면과 같이 하나의 보안 정책을 만들어 준 뒤 해당 보안 정책에 vm을 적용 시키기 위해서는 Categori 를 이용하여야 한다. 위 화면으로 예를 들자면 DEV 라는 보안 정책을 만들고 해당 보안 정책에 vm을 할당하기 위해 TEST 라는 AppType Categori 를 생성한뒤 vm에 해당 Categori를 부여하게 되면 보안 정책으로 들어오게 된다.
위 화면에서는 AppType TEST 인 카테고리와 AppTier 로 구분하여 서버의 역할별로 구분짓기 위해 나누어 놓았다.
현재 모드는 Enforce 이며 Allowed 이외의 트래픽은 Blocked 가 된다. Monitor 모드는 말그대로 감시만 하게되며 Allowed 되지 않은 트래픽은 노란색으로 모니터링이 된다.
한눈에 보기 편하게 관리가 되며 Inbounds 에 block이 되면 Inbounds 칸에 빨간색으로 표시가 되며 같은 Categori 내에 block 이 되면 위와 같이 가운데 칸에 block 이 나타나고 Outbounds 의 block 은 Outbounds 칸에 표시 된다.
가시성이 좋고 편리하며 같은 AppTier 내부에서도 통신을 제어할 수 있어서 접근제어에 용이하다. 또 네트워크 대역이 달라도 통신만 되면 지정이 가능하다.
하지만 Categori 로 구분을 지어야하기에 관리하게되는 Categori 가 많이 늘어날 것으로 관리하기 불편할 수 있을 것 같다.
3. 테스트
목적
vPC 의 같은 서브넷 제어를 Flow 로 컨트롤 할 수 있는가 에 대한 부분이 이번 테스트의 목적이다.
test 보안 정책을 만들어 Blue vpc 에 vPC-Blue-SN1 , vPC-Blue-SN1-1 이 같은 서브넷 10.11.11.x /24 인 VM 을 정책에 넣고 Allowed 한 포트 이외에 통신이 되는지를 테스트 해보았다.
위 처럼 설정하게 되면 80 포트 통신 외에는 막히게 된다.
하지만 적용이 되지않고 ICMP 통신이 되는걸 확인 할 수 있다.
결론
vPC 는 결국 Flow 와 같이 사용할 수 없으며, 정확한 망분리를 원한다면 Flow를 이용하는 방법이 시스템에 적절 할 것으로 보인다.
'엔지니어 > Cloud' 카테고리의 다른 글
On-premise 환경에서 비용 절감을 위한 가상화 플랫폼 검토 (0) | 2022.10.27 |
---|---|
NUTANIX 테스트 - Move 를 활용한 Migration (0) | 2022.10.27 |
NUTANIX 테스트 사항 (0) | 2022.10.27 |
Private Cloud 구성도 (VMWARE) (0) | 2022.10.26 |
VMWARE NSX 관련 기능 설명 (0) | 2022.10.26 |