하위 도메인 인수는 정기적으로 많은 리소스를 만들고 삭제하는 조직에 일반적인 위협입니다. 프로비전 해제된 Azure 리소스를 가리키는 DNS 레코드가 있는 경우 하위 도메인 인수가 발생할 수 있습니다. 이러한 DNS 레코드를 "현수 DNS" 항목이라고도 합니다. 하위 도메인 인수를 사용하면 악의적인 행위자가 조직의 도메인에 대한 트래픽을 악의적인 활동을 수행하는 사이트로 리디렉션할 수 있습니다.
하위 도메인 인수의 위험은 다음과 같습니다.
- 하위 도메인의 콘텐츠에 대한 제어 손실
- 의심하지 않는 방문자로부터 쿠키 수확
- 피싱 캠페인
- XSS, CSRF 또는 CORS 바이패스와 같은 클래식 공격의 추가 위험
하위 도메인 인수에 대한 자세한 내용은 현수 DNS 항목 방지 및 하위 도메인 인수 방지를 참조하세요.
Azure App Service는 하위 도메인 인수를 방지하기 위해 이름 예약 및 도메인 확인 토큰 을 제공합니다.
App Service에서 하위 도메인 인수를 방지하는 방법
App Service 앱 또는 ASE(App Service Environment)를 삭제하면 해당 DNS는 원래 DNS를 소유한 구독의 테넌트에 속한 구독을 제외하고 재사용할 수 없습니다. 따라서 고객은 해당 DNS에 대한 연결 또는 포인터를 정리하거나 동일한 이름의 리소스를 다시 만들어 Azure에서 DNS를 회수할 시간이 있습니다. 이 동작은 기본적으로 Azure App Service for *.azurewebsites.net 및 *.appserviceenvironment.net 리소스에서 사용하도록 설정되므로 고객 구성이 필요하지 않습니다.
예제 시나리오
구독 A 및 구독 B 는 테넌트 AB에 속하는 유일한 구독입니다. 구독 A에는 DNS 이름이 있는 App Service 웹앱 test.azurewebsites.net가 포함되어 있습니다. 앱을 삭제하면 구독 A 또는 B만 test.azurewebsites.net라는 웹앱을 만들어 DNS 이름을 즉시 다시 사용할 수 있습니다. 다른 구독은 리소스 삭제 직후에 이름을 청구할 수 없습니다.
하위 도메인 인수를 방지하는 방법
Azure App Service에 대한 DNS 항목을 만들 때, 도메인 확인 ID가 포함된 asuid.{subdomain} TXT 레코드를 만듭니다. 이러한 TXT 레코드가 있는 경우 다른 Azure 구독은 DNS 항목에 토큰 확인 ID를 추가하지 않는 한 사용자 지정 도메인의 유효성을 검사하거나 이를 인수할 수 없습니다.
이러한 레코드는 CNAME 항목에서 동일한 이름을 사용하여 다른 App Service 앱을 만들지 못하게 합니다. 도메인 이름의 소유권을 증명할 수 없는 위협 행위자는 트래픽을 받거나 콘텐츠를 제어할 수 없습니다.
사이트를 삭제하기 전에 DNS 레코드를 업데이트하여 잘못된 행위자가 삭제 및 다시 만드는 기간 사이에 도메인을 인수할 수 없도록 해야 합니다.
도메인 확인 ID를 가져오려면 Azure App Service에서 기존 사용자 지정 도메인 설정을 참조하세요.