4. NSG의 적용 범위와 In/Outbound 규칙의 의미
NSG의 적용 범위
- 서브넷
- NSG를 서브넷에 적용하면, 해당 서브넷 내의 모든 리소스에 대해 인바운드 및 아웃바운드 트래픽을 필터링할 수 있다.
- ex) 특정 서브넷에 대한 보안 규칙을 설정하여, 해당 서브넷 내의 모든 가상 머신(VM)과 리소스에 동일한 보안 정책을 적용할 수 있다.
- NIC
- NSG를 개별 NIC에 적용하면, 해당 NIC에 연결된 특정 VM이나 리소스에 대해 트래픽을 필터링할 수 있다.
- 특정 VM에 대한 보안 규칙을 설정하여, 해당 VM에만 적용되는 세부적인 보안 정책을 설정할 수 있다.
- 추가 적용범위 및 고려사항
- ASG
- NSG 규칙을 ASG에 적용할 수 있으며, 이를 통해 더 유연하고 관리하기 쉬운 보안 정책을 설정할 수 있다.
- 다중 적용
- NSG는 서브넷과 NIC에 동시에 적용될 수 있지만, 이는 권장되지 않는다.
- 두 위치에 동일한 NSG를 적용하면, 관리가 복잡해질 수 있다.
- 기본 보안 규칙
- 기본적으로 설정되는 보안 규칙 또한 고려하여 NSG 규칙을 설정해야 한다.
- 기본적으로 설정되는 보안 규칙 또한 고려하여 NSG 규칙을 설정해야 한다.
- ASG
In/Out Bound
- 인바운드 규칙: 외부에서 내부로 들어오는 트래픽을 제어한다.
- ex) 인터넷에서 VM으로 들어오는 트래픽을 규칙에 따라 허용 또는 차단 가능.
- 아웃바운드 규칙: 내부에서 외부로 나가는 트래픽을 제어한다.
- ex) VM에서 인터넷으로 나가는 트래픽을 규칙에 따라 허용 또는 차단 가능.
- 동일한 주요 요소
- 원본: 트래픽의 출발지 IP 주소 또는 범위.
- 대상: 트래픽의 도착지 IP 주소 또는 범위.
- 포트: 트래픽이 도착하는 포트 번호.
- 프로토콜: 트래픽이 사용하는 프로토콜.
- 액션: Allow 또는 Deny를 결정.
- 규칙 처리 순서: 낮은 번호의 우선 순위가 더 높은 우선 순위를 가진다.
서브넷과 NSG
서브넷에 연결된 NSG의 보안 규칙은 서브넷 내 VM 간의 연결에 영향을 줄 수 있다.
기본적으로 동일한 서브넷의 VM은 기본 NSG 규칙(서브넷 내 트래픽을 허용하는)에 따라 통신이 가능하다. 그러나, 모든 인-아웃바운드 트래픽을 거부하는 규칙을 nsg에 추가하면 VM1과 VM2는 서로 통신이 불가능하다.
참고
0개 또는 1개의 NSG를 VM의 각 서브넷 및 NIC에 연결 가능하며, 동일한 NSG를 원하는 수의 서브넷 및 NIC에 연결할 수 있다.
서브넷, NIC에 NSG가 적용되어 있을 때
- 트래픽이 들어올 때: 서브넷의 NSG --> NIC의 NSG 순서로 처리된다.
- 트래픽이 나갈 때: NIC의 NSG --> 서브넷의 NSG 순서로 처리된다.
NSG와 TCP 세션
NSG는 Azure에서 네트워크 트래픽을 필터링하는 데 사용되며, TCP 세션의 설정과 유지에 영향을 미칠 수 있다.
트래픽 필터링
- NSG는 특정 IP 주소, 포트, 프로토콜(TCP 포함)에 따라 트래픽을 허용하거나 차단하는 규칙을 설정할 수 있다.
- ex) 특정 포트에서 들어오는 TCP 트래픽을 차단하면 해당 포트를 통해 TCP 세션이 설정되지 않는다.
세션 유지
- NSG 규칙에 따라 허용된 트래픽만이 TCP 세션을 설정하고 유지할 수 있다.
- 만약 NSG가 특정 트래픽을 차단하면, 해당 트래픽에 대한 TCP 세션은 설정되지 않거나 중단될 수 있다.
인바운드 규칙
- 외부에서 Azure VM으로 들어오는 TCP 트래픽을 허용하거나 차단할 수 있다.
- ex) 포트 80(HTTP)에서 들어오는 트래픽을 허용하면, 웹 서버와 클라이언트 간의 TCP 세션이 설정될 수 있다.
아웃바운드 규칙
- Azure VM에서 외부로 나가는 TCP 트래픽을 제어할 수 있다.
- ex) 포트 443(HTTPS)에서 나가는 트래픽을 허용하면, VM이 외부 서버와 안전하게 통신할 수 있다.