Azure에서 가상 머신(VM)을 운영할 때 가장 중요한 과제 중 하나가 네트워크 보안입니다. 이 글에서는 NSG(네트워크 보안 그룹)의 개념부터 VM에 보안 그룹을 할당하고, 인바운드 규칙을 설정하고, 보안 위협에 대응하는 방법까지 단계별로 정리했습니다.
Azure VM을 안전하게 보호하는 기본 원칙
Azure에는 방화벽 역할을 하는 NSG(Network Security Group, 네트워크 보안 그룹)가 있습니다. NSG는 인바운드·아웃바운드 트래픽을 허용하거나 차단하는 보안 규칙의 집합으로, VM을 외부 위협으로부터 지키는 첫 번째 방어선입니다.
NSG를 가상 네트워크의 서브넷과 NIC에 연결할 수 있나요?
네, 가능합니다. NSG는 서브넷과 네트워크 인터페이스(NIC) 모두에 연결할 수 있으며, 하나의 NSG를 여러 서브넷과 NIC에 동시에 적용할 수도 있습니다. 반대로 각 서브넷과 NIC에는 하나의 NSG만 연결할 수 있다는 점을 기억하세요.
Azure에서 인바운드 보안 규칙을 추가하는 방법
규칙을 만들 때는 해당 NSG가 자동으로 선택됩니다. 진행 순서는 다음과 같습니다.
- Azure Portal에서 대상 NSG를 엽니다.
- 왼쪽 메뉴에서 [인바운드 보안 규칙]을 선택한 뒤 [추가]를 클릭합니다.
- 원본(Source)과 원본 포트 범위는 필요에 따라 지정하거나 기본값(Any)으로 둘 수 있습니다.
- 대상(Destination)도 특정 IP나 태그로 좁히거나, 필요 없다면 Any로 유지합니다.
Azure Security Center로 VM 보안 점검하기
Azure Security Center(현재 Microsoft Defender for Cloud)의 보안 점수(Secure Score)를 활용하면 현재 보안 상태를 한눈에 파악할 수 있습니다. 주요 권장 사항은 다음과 같습니다.
- VM의 관리 포트(RDP 3389, SSH 22 등)를 인터넷에 직접 노출하지 않고, 필요할 때만 엽니다.
- 사용자 계정에는 추측하기 어려운 복잡한 비밀번호를 사용합니다.
- 운영체제를 항상 최신 상태로 유지하고 보안 패치를 즉시 적용합니다.
- 서드파티 애플리케이션도 정기적으로 업데이트하고 패치하는 것이 필수입니다.
Azure VM은 안전한가요?
네, Azure는 규정 준수(compliance) 요건을 충족하는 솔루션 구축을 지원합니다. 바이러스와 맬웨어가 VM에 감염되는 것을 예방하고, 민감한 정보는 암호화해 보호하며, 네트워크 트래픽도 안전하게 암호화할 수 있습니다.
외부에서 Azure VM에 접속하도록 설정하는 방법
웹 서비스를 공개하려면 포트 80(HTTP)을 열어야 합니다. 먼저 로컬 환경에서 localhost로 서비스가 정상 동작하는지 확인한 뒤, NSG의 인바운드 규칙에 포트 80을 추가하면 외부에서 VM에 접근할 수 있습니다. Windows VM이라면 OS 자체 방화벽 설정도 함께 점검해야 합니다.
가상 머신 자체를 보호하는 요령
- 호스트 머신에는 꼭 필요한 소프트웨어만 설치합니다.
- 방화벽으로 VM을 격리해 불필요한 통신을 차단합니다.
- 백신 프로그램을 설치하고 항상 최신 버전으로 유지합니다.
Azure VM이 직면하는 대표적인 보안 위협
- 무차별 대입 공격(Brute Force): 관리 포트를 통해 비밀번호를 반복 시도해 접근 권한을 탈취합니다.
- DDoS 공격: 대량의 트래픽으로 시스템의 대역폭과 리소스를 고갈시킵니다.
- 포트 스캐닝: 열려 있는 포트를 스캔해 악용 가능한 통신 채널을 찾아냅니다.
이런 위협에 대비하려면 관리 포트를 최소화하고, JIT(Just-In-Time) VM 액세스 같은 기능을 활용해 안전하게 접속하는 것이 좋습니다.
AZ-900 시험 포인트: NSG와 가상 네트워크
AZ-900(Azure Fundamentals) 시험에서도 자주 등장하는 내용입니다. NSG는 네트워크 인터페이스나 서브넷에 자유롭게 연결하거나 해제할 수 있습니다. 예를 들어 Subnet1에 NSG를 할당하기만 하면, 해당 NSG의 규칙에 따라 서브넷 전체의 인터넷 접근을 차단할 수 있습니다.
Azure Portal에서 네트워크 보안 그룹 만들기
- Portal 검색창에서 [네트워크 보안 그룹]을 검색해 선택합니다.
- [+ 만들기]를 클릭합니다.
- 구독을 선택하고, 기존 리소스 그룹을 고르거나 새로 생성합니다.
- 고유한 이름을 입력하고 지역을 지정한 뒤 만들기를 완료합니다.
VNet에 NSG를 적용할 수 있나요?
네. Azure VNet(Virtual Network)의 NSG는 어떤 트래픽을 허용하고 거부할지 결정하는 보안 정책의 집합입니다. NSG는 서브넷 또는 각 VM에 바인딩된 NIC에 연결할 수 있으며, 서브넷 단위로 적용하면 해당 서브넷의 모든 VM에 일괄 적용되어 관리가 훨씬 효율적입니다.
VM에 NSG를 연결하는 방법
- Azure Portal에서 [가상 머신] 메뉴로 이동합니다.
- 목록에서 대상 VM을 선택합니다.
- [네트워킹] 설정으로 이동합니다.
- 네트워크 인터페이스에 적용할 NSG를 선택합니다.
- 애플리케이션 보안 그룹(ASG)을 활용한다면 미리 만들어 둔 보안 그룹을 선택한 후 저장합니다.
NSG는 올바르게 설정했을 때 강력한 방어막이 되지만, 규칙을 잘못 구성하면 오히려 보안 허점이 될 수 있습니다. 최소 권한 원칙에 따라 필요한 포트만 열고, 규칙을 주기적으로 점검하는 습관을 들이세요.