Azure SC-900: Azure 네트워크 보안과 클라우드 워크로드 보호
집을 보호하는 방법을 생각해보면, 외부에는 담장과 대문(방화벽), 현관에는 튼튼한 자물쇠(접근 제어), 그리고 내부 귀중품은 금고(암호화)에 보관합니다. 클라우드 인프라도 이처럼 여러 계층에서 보호가 필요합니다. 이 글에서는 Azure가 제공하는 네트워크 보안 서비스들과 클라우드 워크로드 보호 도구를 상세히 살펴봅니다.
Azure DDoS Protection: 홍수처럼 쏟아지는 공격을 막아라
인기 있는 식당 앞에 수백 명이 줄을 서면 실제 손님들이 들어갈 수 없습니다. 악의적으로 이런 상황을 만들어 서비스를 마비시키는 것이 DDoS(Distributed Denial of Service, 분산 서비스 거부) 공격입니다. 수천 대의 좀비 컴퓨터로 한 서버에 동시에 트래픽을 쏟아부어 정상 사용자가 서비스를 이용할 수 없게 만듭니다.
DDoS Protection Network (기본)
Azure를 사용하면 자동으로 적용되는 기본 보호입니다. 비용이 없습니다. Azure 인프라 전체를 보호하며, 가장 일반적이고 대규모의 DDoS 공격(볼륨 기반 공격, 프로토콜 공격)을 자동으로 감지하고 완화합니다. 하지만 개별 고객의 리소스에 맞춘 세밀한 보호는 제공하지 않습니다.
DDoS Protection IP/Network (유료)
더 정교한 보호가 필요한 경우 사용합니다.
적응형 튜닝: 고객의 실제 트래픽 패턴을 학습하여 맞춤형 보호를 제공합니다. 우리 서비스의 정상 트래픽이 어떤 모습인지 알기 때문에, 이상한 트래픽을 더 정확하게 감지합니다.
공격 완화 보고서: 공격이 발생하면 상세한 보고서를 제공합니다. 어디서, 어떤 종류의, 얼마나 큰 공격이 있었는지 분석할 수 있습니다.
비용 보호: DDoS 공격으로 인해 자동 스케일링이 발생하여 비용이 급증하면, 그 추가 비용을 크레딧으로 돌려받을 수 있습니다.
DDoS 공격의 세 가지 유형
볼륨 기반 공격: 엄청난 양의 트래픽으로 대역폭을 포화시킵니다. 수 Gbps에서 수 Tbps에 달하는 트래픽을 보냅니다.
프로토콜 공격: 네트워크 프로토콜의 취약점을 이용합니다. SYN 플러드 공격이 대표적입니다.
애플리케이션 계층 공격: 정상적인 HTTP 요청처럼 보이지만 서버에 과부하를 주는 공격입니다. 차단하기 가장 어렵습니다.
!DDoS Protection Basic vs Paid
Azure Firewall: 클라우드 네트워크의 지능형 문지기
건물 로비의 보안 데스크를 생각해보세요. 누가 들어오고 나가는지 기록하고, 허가되지 않은 사람은 막습니다. 상태도 기억합니다. "저 사람은 아까 회의실로 올라갔으니 나갈 때 확인이 필요해." Azure Firewall이 바로 이런 역할을 합니다.
Azure Firewall의 핵심 특징
상태 저장 방화벽 (Stateful Firewall): 트래픽의 "상태"를 추적합니다. 내가 구글에 요청을 보냈다면, 구글이 응답으로 돌아오는 트래픽은 자동으로 허용합니다. 단순히 규칙에 맞는지만 확인하는 것이 아니라, 대화의 맥락을 이해합니다.
FQDN 필터링 (Fully Qualified Domain Name): IP 주소가 아닌 도메인 이름으로 규칙을 만들 수 있습니다. 예: "*.microsoft.com으로의 트래픽은 허용", "악성사이트.com은 차단". IP 주소는 자주 바뀌지만 도메인 이름은 안정적이므로 관리가 편합니다.
완전 관리형 서비스: Microsoft가 인프라를 관리합니다. 사용자는 방화벽 규칙만 설정하면 됩니다. 가용성, 확장성, 업데이트를 자동으로 처리합니다.
위협 인텔리전스: 알려진 악성 IP와 도메인을 자동으로 차단합니다. Microsoft가 전 세계에서 수집한 위협 정보가 실시간으로 반영됩니다.
Azure Firewall Premium
더 고급 기능이 필요한 경우 Premium 계층을 사용합니다.
TLS 검사: 암호화된 HTTPS 트래픽도 검사합니다. 일반 방화벽은 암호화된 트래픽의 내용을 볼 수 없지만, Firewall Premium은 복호화하여 검사 후 다시 암호화합니다.
IDPS (침입 탐지 및 방지): 알려진 공격 패턴을 감지하고 차단합니다.
웹 카테고리 필터링: "도박 사이트 차단", "소셜 미디어 제한" 같은 카테고리 기반 필터링이 가능합니다.
WAF: 웹 애플리케이션만을 위한 전문 방화벽
일반 방화벽이 건물 대문 경비원이라면, WAF(Web Application Firewall)는 서버 룸 앞의 전문 IT 보안 담당자입니다. 웹 공격을 전문적으로 이해하고 막습니다.
일반 네트워크 방화벽은 포트와 IP를 기반으로 트래픽을 필터링합니다. 하지만 웹 공격은 허용된 포트(443, HTTPS)를 통해 들어옵니다. 이 안에 숨겨진 SQL 인젝션이나 XSS 공격을 일반 방화벽은 감지할 수 없습니다.
WAF가 막는 주요 공격
SQL 인젝션: 데이터베이스 쿼리를 조작하여 데이터를 탈취하거나 삭제하는 공격. 예: 로그인 폼에 같은 코드를 입력하여 인증을 우회.
XSS (크로스 사이트 스크립팅): 악성 스크립트를 웹페이지에 삽입하여 다른 사용자의 브라우저에서 실행시키는 공격.
CSRF (크로스 사이트 요청 위조): 사용자가 의도하지 않은 행동을 수행하도록 속이는 공격.
파일 인클루전: 서버의 내부 파일이나 외부 악성 파일을 포함시키는 공격.
OWASP Top 10
OWASP(Open Web Application Security Project)는 가장 위험한 웹 취약점 10가지를 선정하여 발표합니다. Azure WAF는 이 OWASP Top 10을 포함한 알려진 공격 패턴을 규칙으로 내장하고 있습니다.
Azure WAF 배포 위치
Azure Application Gateway: 특정 애플리케이션 앞에 배포하여 해당 앱을 보호합니다.
Azure Front Door: 전 세계에 분산된 엣지 위치에서 보호합니다. 글로벌 서비스에 적합합니다.
Azure CDN: 컨텐츠 전송 네트워크에 WAF를 적용합니다.
NSG: 네트워크의 세밀한 교통 규칙
도시의 교통 신호등처럼, NSG(Network Security Group, 네트워크 보안 그룹)는 Azure 가상 네트워크 내의 트래픽을 제어합니다. "이 서브넷에서 저 서브넷으로 이런 트래픽은 허용, 저런 트래픽은 차단"이라는 규칙을 설정합니다.
NSG의 작동 방식
NSG는 인바운드(들어오는)와 아웃바운드(나가는) 트래픽 모두에 규칙을 적용합니다. 각 규칙은 다음을 지정합니다: 소스: 어디서 오는 트래픽인가 (IP 범위, 태그) 목적지: 어디로 가는 트래픽인가 포트: 어떤 포트인가 (80=HTTP, 443=HTTPS, 22=SSH 등) 프로토콜: TCP, UDP 등 행동: 허용 또는 거부 우선순위: 숫자가 낮을수록 먼저 적용됩니다
기본 규칙
NSG를 만들면 기본으로 포함된 규칙들이 있습니다. 이 기본 규칙들은 삭제할 수 없고 우선순위가 매우 낮아(높은 숫자) 사용자 정의 규칙이 먼저 적용됩니다.
기본 허용 인바운드: Azure 부하 분산 장치와 가상 네트워크 내부 트래픽 기본 거부 인바운드: 그 외 모든 인바운드 트래픽 거부
NSG 적용 위치
서브넷 레벨: 서브넷 전체에 적용됩니다. 서브넷 안의 모든 VM에 영향을 줍니다.
NIC(네트워크 인터페이스 카드) 레벨: 개별 VM에 적용됩니다. 더 세밀한 제어가 가능합니다.
둘 다 적용할 경우: 두 NSG의 규칙이 모두 평가됩니다. 인바운드는 서브넷 NSG → NIC NSG 순으로, 아웃바운드는 NIC NSG → 서브넷 NSG 순으로 평가됩니다.
Azure Bastion: 공용 IP 없이 VM에 안전하게 접속
서버에 원격으로 접속해야 할 때, 예전에는 서버에 공용 IP 주소를 부여하고 인터넷을 통해 직접 접속했습니다. 하지만 이렇게 하면 서버가 인터넷에 노출되어 공격 대상이 됩니다.
Azure Bastion은 이 문제를 해결합니다. VM에 직접 공용 IP를 부여하지 않고도, 웹 브라우저를 통해 안전하게 VM에 접속할 수 있습니다.