Azure Firewall의 패킷 캡처 기능을 사용하면 문제 해결을 위해 네트워크 트래픽을 캡처하고 분석할 수 있습니다. 이 문서에서는 필터를 구성하고, 트래픽을 캡처하고, 결과를 분석하는 방법을 보여 줍니다.
필수 조건
- Azure 구독. 계정이 없는 경우, 무료 계정을만드세요.
- 관리 NIC를 사용하도록 설정된 Azure Firewall
Azure Firewall 및 정책 배포 및 구성을 참조하세요.
- 관리 NIC는 기본 SKU 및 Virtual WAN 배포에서 기본적으로 사용하도록 설정됩니다.
- 가상 네트워크에서 표준 또는 프리미엄 SKU를 사용하려면 Azure Firewall Management NIC를 참조하여 활성화하십시오.
스토리지 계정 만들기
스토리지 계정을 만들고 캡처된 패킷이 저장되는 컨테이너에 대한 SAS URL을 가져옵니다.
스토리지 계정 설정
Azure Portal에서 리소스 만들기를 선택하고 , Storage 계정을 검색하고, 만들기를 선택합니다.
기본 사항 탭에서 스토리지 계정에 필요한 정보를 입력합니다.
고급 탭의 보안 아래에서 개별 컨테이너에서 익명 액세스를 사용하도록 허용을 선택합니다. 그 외에는 기본 설정을 유지합니다.
컨테이너 만들기
스토리지 계정을 만든 후 리소스로 이동하여 데이터 스토리지에서 컨테이너를 선택합니다.
+ 컨테이너를 선택하고 새 컨테이너의 이름을 제공합니다.
익명 액세스 수준의 경우 컨테이너(컨테이너 및 Blob에 대한 익명 읽기 액세스)를 선택합니다.
SAS URL 생성
컨테이너를 만든 후 옆에 있는 ... (줄임표)를 선택하고 SAS 생성을 선택합니다.
SAS 생성 페이지의 사용 권한 아래에서 읽기 권한을 지우고 쓰기를 선택합니다.
SAS 토큰 및 URL 생성을 선택하고 생성된 SAS URL을 복사합니다.
중요합니다
스토리지 계정 SAS URL이 올바르게 구성되지 않은 경우 패킷 캡처가 실패합니다. 모든 단계를 정확하게 수행합니다.
- 개별 컨테이너에서 익명 액세스 사용
- 익명 액세스 수준을 컨테이너로 설정
- 쓰기 권한만 부여하고 읽기 취소
일반적인 구성 오류:
- SAS URL에 대한 쓰기 권한이 없습니다.
- 컨테이너 수준 액세스를 사용할 수 없음
- 컨테이너 대신 Blob Storage를 가리키는 SAS URL
패킷 캡처 구성 및 실행
방화벽에서 패킷 캡처를 구성하고 시작합니다.
패킷 캡처에 접근하기
- Azure Portal에서 방화벽으로 이동합니다.
- 도움말에서 패킷 캡처를 선택합니다.
캡처 설정 구성
패킷 캡처 페이지에서 다음 설정을 구성합니다.
- 패킷 캡처 이름: 캡처 파일의 고유한 이름을 입력합니다.
- 출력 SAS URL: 만든 스토리지 컨테이너의 SAS URL을 붙여넣습니다.
팁 (조언)
각 캡처에 고유한 파일 이름을 사용하여 이전 결과를 유지합니다. 동일한 SAS URL에 동일한 파일 이름으로 여러 캡처를 실행하면 기존 파일이 덮어씁니다.
기본 캡처 매개 변수를 설정합니다.
- 최대 패킷 수: 100~90,000개의 패킷 값을 입력합니다.
- 시간 제한(초): 30초에서 1,800초 사이의 값을 입력합니다.
- 프로토콜: 캡처할 프로토콜( 모두, TCP, UDP 또는 ICMP)을 선택합니다.
- TCP 플래그: TCP 또는 모든 프로토콜을 선택한 경우 캡처할 패킷 유형( FIN, SYN, RST, PSH, ACK 또는 URG)을 선택합니다.
비고
최대 패킷 수와 시간 제한을 모두 지정합니다. 첫 번째 제한에 도달하면 캡처가 중지됩니다.
캡처 필터 정의
필터링 섹션에서 캡처할 패킷을 지정합니다.
- 원본 IP 주소 또는 서브넷
- 대상 IP 주소 또는 서브넷
- 대상 포트
비고
- 하나 이상의 필터가 필요합니다.
- 패킷 캡처는 각 필터와 일치하는 양방향 트래픽을 기록합니다.
- 여러 값(예: 192.168.1.1, 192.168.2.1 또는 192.168.1.0/24)에 대해 쉼표로 구분된 목록을 사용합니다.
- SNAT를 사용하거나 인터넷에 연결하거나 애플리케이션 규칙을 처리할 때 들어오고 나가는 패킷을 모두 캡처하려면 원본 필드에 주소 공간을 포함합니다
AzureFirewallSubnet.
캡처 시작
상태 섹션에서 새로 고침 상태를 선택하여 패킷 캡처가 현재 실행되고 있지 않은지 확인합니다.
- 방화벽이 준비되면 상태가 진행 중인 패킷 캡처 없음을 표시합니다. 새 패킷 캡처를 시작할 수 있습니다.
- 패킷 캡처가 이미 진행 중인 경우 패킷 캡처 중지를 선택한 다음 상태를 새로 고쳐 새 캡처를 시작하기 전에 중지되었는지 확인합니다.
패킷 캡처 시작을 선택하여 구성된 설정으로 패킷 캡처를 시작합니다.
비고
Azure는 방화벽의 기본 컴퓨팅 인스턴스의 절반 이상에서 캡처를 가져올 때 패킷 캡처 작업을 성공으로 보고합니다. 포털에는 캡처를 제공한 인스턴스가 표시되지 않으므로 상태 메시지가 성공의 주요 지표입니다.
패킷 캡처 분석
패킷 캡처가 완료되면 상태가 성공적으로 완료된 패킷 캡처를 표시합니다. 새 패킷 캡처를 시작할 준비가 완료되었습니다.
캡처 파일 다운로드 및 검사
Azure Portal에서 스토리지 컨테이너로 이동합니다.
캡처 파일은 컨테이너의 루트 폴더에 저장됩니다. 방화벽의 백 엔드에 있는 각 가상 머신 인스턴스에 대해 하나씩 여러
pcap파일이 표시됩니다.pcap파일을 다운로드합니다.Wireshark와 같은 패킷 분석 도구를 사용하여 파일을 분석합니다.
패킷 흐름 패턴 이해
각 패킷 캡처에는 들어오고 나가는 패킷 쌍이 포함됩니다. 방화벽이 처리하는 모든 패킷에 대해 캡처에 해당 쌍이 표시됩니다. 다음 표에서는 네 가지 일반적인 패킷 흐름 패턴에 대해 설명합니다.
| Scenario | 들어오는 패킷 | 나가는 패킷 |
|---|---|---|
| 가상 네트워크 간의 가상 네트워크 연결(별도의 SNAT 없음) 온-프레미스에 대한 가상 네트워크(SNAT 제외) |
원본: 클라이언트 대상: 서버 |
원본: 클라이언트 대상: 서버 계층 2 헤더는 다르지만 계층 3 이상은 동일하게 유지됩니다. |
| [가상 네트워크에서 가상 네트워크로(SNAT 사용) 가상 네트워크를 온-프레미스로(SNAT 사용) 가상 네트워크에서 인터넷으로 |
원본: 클라이언트 대상: 서버 |
원본: 방화벽 대상: 서버 SNAT로 인해 계층 3 원본 IP가 변경되었습니다. 계층 4 이상은 변경되지 않은 상태로 유지됩니다. |
| 애플리케이션 규칙 흐름 | 원본: 클라이언트 대상: 서버 |
원본: 방화벽 대상: 서버 레이어 4 이상은 방화벽이 연결을 프록시하여 대상에 대한 새 세션을 설정하기 때문에 다릅니다. HTTP 또는 TLS 키를 사용하여 들어오고 나가는 패킷을 일치시킵니다. 계층 7은 동일하게 유지합니다. |
| DNAT 흐름 | 원본: 클라이언트 대상: 방화벽 공용 IP |
원본: 방화벽 대상: DNATed 개인 IP 계층 3 대상 IP는 DNAT로 인해 들어오는 패킷과 다르지만 계층 4는 동일하게 유지됩니다. |
이러한 시나리오에 대한 자세한 지침은 Azure Firewall 흐름 문제 해결을 위해 패킷 캡처 사용을 참조하세요.
자주 묻는 질문
대상 포트를 0으로 설정하여 모든 포트에서 트래픽을 캡처할 수 있나요?
각 필터에서 하나 이상의 대상 포트를 지정해야 합니다. 모든 포트에서 트래픽 캡처는 지원되지 않습니다.
필터에서 IP 주소 범위를 사용할 수 있나요?
필터는 개별 IP 주소 또는 서브넷을 지원하지만 IP 주소 범위는 지원하지 않습니다. 범위를 캡처해야 하는 경우 해당 주소를 포함하는 서브넷을 사용합니다. 필터를 5개 이하의 IP 주소 또는 서브넷으로 제한합니다.
모든 트래픽을 캡처하기 위해 최대 패킷 또는 시간 제한을 비워 둘 수 있나요?
두 값이 모두 필요합니다. 필요한 경우 허용되는 최대 값으로 설정합니다. 한도에 도달하면 캡처가 자동으로 중지됩니다.
실행 중인 패킷 캡처를 수동으로 중지할 수 있나요?
예, 구성된 제한에 도달하기 전에 패킷 캡처 중지 단추를 선택하여 캡처를 종료합니다.
패킷 캡처는 연속 또는 주기적 캡처를 지원하나요?
주기적(연속) 패킷 캡처는 지원되지 않습니다. 문제 해결을 위해 확장 또는 반복 캡처가 필요한 경우 Azure 지원 요청을 엽니다. Microsoft 지원은 사용자 대신 더 긴 캡처를 실행할 수 있습니다.
모든 트래픽을 캡처하도록 대상을 0.0.0.0/0으로 설정할 수 있나요?
패킷 캡처는 특정 흐름 문제를 해결하도록 설계되었습니다. 대상을 0.0.0.0/0으로 설정하면 빈 캡처가 발생하며 모든 트래픽을 캡처하지는 않습니다.
IP 주소 대신 필터에서 FQDN을 사용할 수 있나요?
필터는 FQDN을 지원하지 않습니다. 그러나 DNS를 사용하여 FQDN을 IP 주소로 확인하고 해당 IP 주소를 필터에 추가할 수 있습니다.
모든 플래그를 선택하는 것과 동일하게 TCP 플래그를 선택 취소하시겠습니까?
TCP 플래그가 선택되지 않은 경우(기본값) 모든 패킷 형식이 캡처됩니다. 특정 패킷 유형을 캡처하려는 경우에만 특정 플래그를 선택합니다.
ICMP, TCP 및 UDP 패킷을 동시에 캡처할 수 있나요?
예, 모든 패킷 유형을 캡처하려면 프로토콜로 Any 를 선택합니다. 프로토콜 필드는 필요할 때 특정 프로토콜을 필터링하도록 설계되었습니다.
패킷 캡처가 성공했는지 어떻게 알 수 있나요?
Azure는 기본 컴퓨팅 인스턴스의 절반 이상에서 캡처를 가져올 때 성공을 보고합니다. 빈 캡처 파일은 작업이 성공했지만 필터와 일치하는 트래픽이 없음을 나타냅니다. 필터를 넓히고 캡처를 다시 실행합니다.