Az - Azure Network
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Azure는 사용자가 Azure 클라우드 내에서 격리된 네트워크를 생성할 수 있도록 하는 **가상 네트워크(VNet)**를 제공합니다. 이러한 VNet 내에서 가상 머신, 애플리케이션, 데이터베이스와 같은 리소스를 안전하게 호스팅하고 관리할 수 있습니다. Azure의 네트워킹은 클라우드 내의 통신(Azure 서비스 간)과 외부 네트워크 및 인터넷과의 연결을 지원합니다. 또한, VNet을 다른 VNet 및 온프레미스 네트워크와 연결할 수 있습니다.
Azure 가상 네트워크(VNet)는 클라우드에서 자신의 네트워크를 나타내며, 구독에 전념하는 Azure 환경 내에서 논리적 격리를 제공합니다. VNet은 Azure에서 가상 사설 네트워크(VPN)를 프로비저닝하고 관리할 수 있게 하며, 가상 머신(VM), 데이터베이스 및 애플리케이션 서비스와 같은 리소스를 호스팅합니다. 이들은 IP 주소 범위, 서브넷 생성, 라우트 테이블 및 네트워크 게이트웨이를 포함한 네트워크 설정에 대한 완전한 제어를 제공합니다.
서브넷은 특정 IP 주소 범위로 정의된 VNet 내의 세분화입니다. VNet을 여러 서브넷으로 분할함으로써 네트워크 아키텍처에 따라 리소스를 조직하고 보호할 수 있습니다. 기본적으로 동일한 Azure 가상 네트워크(VNet) 내의 모든 서브넷은 서로 통신할 수 있습니다.
예시:
MyVNet
의 IP 주소 범위는 10.0.0.0/16입니다.
서브넷-1: 웹 서버용 10.0.0.0/24.
서브넷-2: 데이터베이스 서버용 10.0.1.0/24.
Azure 계정의 모든 VNet 및 서브넷을 나열하려면 Azure Command-Line Interface (CLI)를 사용할 수 있습니다. 단계는 다음과 같습니다:
**네트워크 보안 그룹 (NSG)**는 Azure 가상 네트워크 (VNet) 내의 Azure 리소스에 대한 네트워크 트래픽을 필터링합니다. 이는 인바운드 및 아웃바운드 트래픽을 위해 열어야 할 포트를 소스 포트, 소스 IP, 포트 목적지에 따라 지정할 수 있는 보안 규칙 세트를 포함하고 있으며, 우선 순위를 할당할 수 있습니다 (우선 순위 번호가 낮을수록 우선 순위가 높습니다).
NSG는 서브넷 및 NIC에 연결될 수 있습니다.
규칙 예시:
모든 소스에서 웹 서버로의 HTTP 트래픽 (포트 80)을 허용하는 인바운드 규칙.
특정 목적지 IP 주소 범위로의 SQL 트래픽 (포트 1433)만 허용하는 아웃바운드 규칙.
Azure Firewall는 클라우드 리소스를 보호하기 위해 트래픽을 검사하고 제어하는 관리형 네트워크 보안 서비스입니다. 이는 상태 저장 방화벽으로, 3계층에서 7계층까지의 규칙에 따라 트래픽을 필터링하며, Azure 내(동서 트래픽) 및 외부 네트워크와의 통신(남북 트래픽)을 지원합니다. 가상 네트워크(VNet) 수준에 배포되어 VNet의 모든 서브넷에 대한 중앙 집중식 보호를 제공합니다. Azure Firewall은 트래픽 수요를 처리하기 위해 자동으로 확장되며, 수동 설정 없이 높은 가용성을 보장합니다.
세 가지 SKU—기본, 표준, 프리미엄—로 제공되며, 각각 특정 고객 요구에 맞춰져 있습니다:
추천 사용 사례
제한된 요구가 있는 중소기업(SMB)
일반 기업 사용, 3–7계층 필터링
매우 민감한 환경(예: 결제 처리)
성능
최대 250 Mbps 처리량
최대 30 Gbps 처리량
최대 100 Gbps 처리량
위협 인텔리전스
경고만 제공
경고 및 차단(악성 IP/도메인)
경고 및 차단(고급 위협 인텔리전스)
L3–L7 필터링
기본 필터링
프로토콜 전반에 걸친 상태 저장 필터링
고급 검사를 통한 상태 저장 필터링
고급 위협 보호
사용 불가
위협 인텔리전스를 기반으로 한 필터링
침입 탐지 및 방지 시스템(IDPS) 포함
TLS 검사
사용 불가
사용 불가
인바운드/아웃바운드 TLS 종료 지원
가용성
고정 백엔드(2 VM)
자동 확장
자동 확장
관리 용이성
기본 제어
방화벽 관리자를 통해 관리
방화벽 관리자를 통해 관리
Azure Route Tables는 서브넷 내에서 네트워크 트래픽의 라우팅을 제어하는 데 사용됩니다. 이들은 패킷이 Azure 리소스, 인터넷 또는 Virtual Appliance나 Azure Firewall과 같은 특정 다음 홉으로 어떻게 전달되어야 하는지를 지정하는 규칙을 정의합니다. 라우트 테이블을 서브넷과 연결할 수 있으며, 해당 서브넷 내의 모든 리소스는 테이블의 경로를 따릅니다.
예: 서브넷이 검사를 위해 Network Virtual Appliance (NVA)를 통해 아웃바운드 트래픽을 라우팅해야 하는 리소스를 호스팅하는 경우, 라우트 테이블에 라우트를 생성하여 모든 트래픽(예: 0.0.0.0/0
)을 NVA의 개인 IP 주소로 다음 홉으로 리디렉션할 수 있습니다.
Azure Private Link는 Azure 서비스에 대한 개인 액세스를 가능하게 하는 Azure의 서비스로, Azure 가상 네트워크(VNet)와 서비스 간의 트래픽이 Microsoft의 Azure 백본 네트워크 내에서 완전히 이동하도록 보장합니다. 이 설정은 서비스를 VNet으로 가져옵니다. 이로 인해 데이터가 공용 인터넷에 노출되지 않아 보안이 강화됩니다.
Private Link는 Azure Storage, Azure SQL Database 및 Private Link를 통해 공유되는 사용자 지정 서비스와 같은 다양한 Azure 서비스와 함께 사용할 수 있습니다. 이는 자신의 VNet 내에서 또는 다른 Azure 구독에서 서비스를 안전하게 소비할 수 있는 방법을 제공합니다.
NSG는 개인 엔드포인트에 적용되지 않으므로, Private Link를 포함하는 서브넷에 NSG를 연결하는 것은 효과가 없음을 의미합니다.
예시:
VNet에서 안전하게 액세스하고자 하는 Azure SQL Database가 있는 시나리오를 고려해 보십시오. 일반적으로 이는 공용 인터넷을 통해 이동해야 할 수 있습니다. Private Link를 사용하면 VNet 내에 Azure SQL Database 서비스에 직접 연결되는 개인 엔드포인트를 생성할 수 있습니다. 이 엔드포인트는 데이터베이스가 자신의 VNet의 일부인 것처럼 보이게 하며, 개인 IP 주소를 통해 접근할 수 있도록 하여 안전하고 개인적인 액세스를 보장합니다.
Azure 서비스 엔드포인트는 가상 네트워크의 개인 주소 공간과 VNet의 ID를 Azure 서비스에 직접 연결하여 확장합니다. 서비스 엔드포인트를 활성화하면, VNet의 리소스가 Azure의 백본 네트워크를 사용하여 Azure 서비스에 안전하게 연결할 수 있습니다. 이는 VNet에서 Azure 서비스로의 트래픽이 Azure 네트워크 내에 유지되도록 하여, 보다 안전하고 신뢰할 수 있는 경로를 제공합니다.
예시:
예를 들어, Azure Storage 계정은 기본적으로 공용 인터넷을 통해 접근할 수 있습니다. VNet 내에서 Azure Storage에 대한 서비스 엔드포인트를 활성화하면, VNet의 트래픽만이 스토리지 계정에 접근할 수 있도록 보장할 수 있습니다. 그런 다음 스토리지 계정 방화벽을 구성하여 VNet에서만 트래픽을 수락하도록 설정할 수 있습니다.
Microsoft는 문서에서 프라이빗 링크 사용을 권장합니다:
서비스 엔드포인트:
VNet에서 Azure 서비스로의 트래픽은 Microsoft Azure 백본 네트워크를 통해 이동하며, 공용 인터넷을 우회합니다.
엔드포인트는 Azure 서비스에 대한 직접 연결이며, VNet 내에서 서비스에 대한 프라이빗 IP를 제공하지 않습니다.
서비스 자체는 VNet 외부에서 공용 엔드포인트를 통해 여전히 접근할 수 있으며, 서비스 방화벽을 구성하여 이러한 트래픽을 차단하지 않는 한 접근이 가능합니다.
서브넷과 Azure 서비스 간의 일대일 관계입니다.
프라이빗 링크보다 비용이 저렴합니다.
프라이빗 링크:
프라이빗 링크는 Azure 서비스를 VNet 내의 프라이빗 엔드포인트를 통해 매핑하며, 이는 VNet 내의 프라이빗 IP 주소를 가진 네트워크 인터페이스입니다.
Azure 서비스는 이 프라이빗 IP 주소를 사용하여 접근되며, 마치 네트워크의 일부인 것처럼 보입니다.
프라이빗 링크를 통해 연결된 서비스는 VNet 또는 연결된 네트워크에서만 접근할 수 있으며, 서비스에 대한 공용 인터넷 접근은 없습니다.
Azure 서비스 또는 Azure에 호스팅된 자체 서비스에 대한 안전한 연결을 가능하게 하며, 다른 사람들이 공유하는 서비스에 대한 연결도 제공합니다.
서비스 엔드포인트와 달리 VNet 내의 프라이빗 엔드포인트를 통해 더 세분화된 접근 제어를 제공합니다.
요약하자면, 서비스 엔드포인트와 프라이빗 링크 모두 Azure 서비스에 대한 안전한 연결을 제공하지만, 프라이빗 링크는 서비스를 공용 인터넷에 노출하지 않고 프라이빗하게 접근하도록 보장함으로써 더 높은 수준의 격리와 보안을 제공합니다. 반면 서비스 엔드포인트는 VNet 내에서 프라이빗 IP가 필요 없는 일반적인 경우에 Azure 서비스에 대한 간단하고 안전한 접근을 설정하기가 더 쉽습니다.
Azure Front Door는 글로벌 웹 애플리케이션의 빠른 배포를 위한 확장 가능하고 안전한 진입점입니다. 이는 글로벌 로드 밸런싱, 사이트 가속화, SSL 오프로드 및 웹 애플리케이션 방화벽(WAF) 기능과 같은 다양한 서비스를 하나의 서비스로 결합합니다. Azure Front Door는 사용자에게 가장 가까운 엣지 위치에 기반한 지능형 라우팅을 제공하여 최적의 성능과 신뢰성을 보장합니다. 또한 URL 기반 라우팅, 다중 사이트 호스팅, 세션 친화성 및 애플리케이션 계층 보안을 제공합니다.
Azure Front Door WAF는 웹 기반 공격으로부터 웹 애플리케이션을 보호하도록 설계되었으며, 백엔드 코드를 수정할 필요가 없습니다. SQL 인젝션, 크로스 사이트 스크립팅 및 기타 일반적인 공격과 같은 위협으로부터 보호하기 위해 사용자 정의 규칙 및 관리 규칙 세트를 포함합니다.
예시:
전 세계에 사용자들이 있는 글로벌 분산 애플리케이션이 있다고 가정해 보십시오. Azure Front Door를 사용하여 사용자 요청을 애플리케이션을 호스팅하는 가장 가까운 지역 데이터 센터로 라우팅할 수 있으며, 이를 통해 지연 시간을 줄이고 사용자 경험을 개선하며 WAF 기능으로 웹 공격으로부터 방어할 수 있습니다. 특정 지역에서 다운타임이 발생하면 Azure Front Door는 자동으로 트래픽을 다음 최적의 위치로 재라우팅하여 높은 가용성을 보장합니다.
Azure Application Gateway는 웹 트래픽 로드 밸런서로, 웹 애플리케이션에 대한 트래픽을 관리할 수 있게 해줍니다. 이는 레이어 7 로드 밸런싱, SSL 종료 및 웹 애플리케이션 방화벽(WAF) 기능을 서비스로 제공하는 애플리케이션 배달 컨트롤러(ADC)입니다. 주요 기능으로는 URL 기반 라우팅, 쿠키 기반 세션 친화성 및 보안 소켓 계층(SSL) 오프로드가 있으며, 이는 글로벌 라우팅 및 경로 기반 라우팅과 같은 복잡한 로드 밸런싱 기능이 필요한 애플리케이션에 중요합니다.
예시:
사용자 계정 및 결제 처리와 같은 다양한 기능을 위한 여러 하위 도메인을 포함하는 전자 상거래 웹사이트가 있다고 가정해 보십시오. Azure Application Gateway는 URL 경로에 따라 적절한 웹 서버로 트래픽을 라우팅할 수 있습니다. 예를 들어, example.com/accounts
로의 트래픽은 사용자 계정 서비스로, example.com/pay
로의 트래픽은 결제 처리 서비스로 라우팅될 수 있습니다.
그리고 WAF 기능을 사용하여 웹사이트를 공격으로부터 보호합니다.
VNet 피어링은 Azure의 네트워킹 기능으로 서로 다른 가상 네트워크(VNet)를 직접적이고 원활하게 연결할 수 있게 해줍니다. VNet 피어링을 통해 한 VNet의 리소스는 마치 같은 네트워크에 있는 것처럼 다른 VNet의 리소스와 개인 IP 주소를 사용하여 통신할 수 있습니다. VNet 피어링은 온프레미스 네트워크와도 사용할 수 있습니다. 사이트 간 VPN 또는 Azure ExpressRoute를 설정하여 가능합니다.
Azure 허브와 스포크는 Azure에서 네트워크 트래픽을 관리하고 조직하는 데 사용되는 네트워크 토폴로지입니다. "허브"는 서로 다른 "스포크" 간의 트래픽을 제어하고 라우팅하는 중앙 지점입니다. 허브는 일반적으로 네트워크 가상 장치(NVA), Azure VPN 게이트웨이, Azure 방화벽 또는 Azure Bastion과 같은 공유 서비스를 포함합니다. "스포크"는 워크로드를 호스팅하고 VNet 피어링을 사용하여 허브에 연결되는 VNet입니다, 이를 통해 허브 내의 공유 서비스를 활용할 수 있습니다. 이 모델은 여러 VNet에 걸쳐 있는 여러 워크로드가 사용할 수 있는 공통 서비스를 중앙 집중화하여 복잡성을 줄이고 깔끔한 네트워크 레이아웃을 촉진합니다.
Azure에서 VNET 피어링은 비전이전적입니다, 즉 스포크 1이 스포크 2에 연결되고 스포크 2가 스포크 3에 연결되어도 스포크 1은 스포크 3과 직접 통신할 수 없습니다.
예시:
판매, 인사 및 개발과 같은 별도의 부서를 가진 회사를 상상해 보십시오. 각 부서는 자체 VNet(스포크)을 가지고 있습니다. 이러한 VNet은 중앙 데이터베이스, 방화벽 및 인터넷 게이트웨이와 같은 공유 리소스에 대한 접근이 필요합니다, 이 모든 것은 다른 VNet(허브)에 위치해 있습니다. 허브와 스포크 모델을 사용함으로써 각 부서는 공유 리소스를 허브 VNet을 통해 안전하게 연결할 수 있으며, 이러한 리소스를 공용 인터넷에 노출시키지 않거나 수많은 연결로 복잡한 네트워크 구조를 만들 필요가 없습니다.
Azure의 Site-to-Site VPN은 온프레미스 네트워크를 Azure 가상 네트워크(VNet)에 연결할 수 있게 해주며, Azure 내의 VM과 같은 리소스가 로컬 네트워크에 있는 것처럼 보이게 합니다. 이 연결은 두 네트워크 간의 트래픽을 암호화하는 VPN 게이트웨이를 통해 설정됩니다.
예시:
뉴욕에 본사가 있는 한 기업은 Azure에서 가상화된 워크로드를 호스팅하는 VNet에 안전하게 연결해야 하는 온프레미스 데이터 센터를 가지고 있습니다. Site-to-Site VPN을 설정함으로써, 회사는 온프레미스 서버와 Azure VM 간의 암호화된 연결을 보장할 수 있으며, 두 환경 모두에서 리소스에 안전하게 접근할 수 있도록 하여 마치 동일한 로컬 네트워크에 있는 것처럼 만듭니다.
Azure ExpressRoute는 온프레미스 인프라와 Azure 데이터 센터 간의 개인적이고 전용의 고속 연결을 제공하는 서비스입니다. 이 연결은 연결 제공자를 통해 이루어지며, 공용 인터넷을 우회하여 일반 인터넷 연결보다 더 높은 신뢰성, 더 빠른 속도, 더 낮은 대기 시간 및 더 높은 보안을 제공합니다.
예시:
다국적 기업은 데이터의 높은 양과 높은 처리량의 필요성으로 인해 Azure 서비스에 대한 일관되고 신뢰할 수 있는 연결이 필요합니다. 이 회사는 Azure ExpressRoute를 선택하여 온프레미스 데이터 센터를 Azure에 직접 연결하여, 일일 백업 및 실시간 데이터 분석과 같은 대규모 데이터 전송을 향상된 개인 정보 보호 및 속도로 용이하게 합니다.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)