다음을 통해 공유


Azure App Service의 TLS/SSL이란?

중요합니다

2025년 7월 28일부터 ASMC(App Service Managed Certificates )를 변경하면 특정 시나리오에서 인증서를 발급하고 갱신하는 방법에 영향을 줍니다. 대부분의 고객은 조치를 취할 필요가 없지만 자세한 내용은 ASMC 세부 블로그 게시물을 검토하는 것이 좋습니다.

TLS(전송 계층 보안)는 서버와 클라이언트 간의 연결 및 통신을 보호하도록 설계된 널리 채택된 보안 프로토콜입니다. Azure App Service에서 TLS 및 SSL(Secure Sockets Layer) 인증서를 사용하여 웹앱에서 들어오는 요청을 보호할 수 있습니다.

App Service는 TLS를 지원하여 다음을 보장합니다.

  • 전송 중인 데이터의 암호화입니다.
  • 신뢰할 수 있는 인증서를 사용하여 웹앱 인증
  • 전송 중 데이터 변조를 방지하기 위한 무결성입니다.

Azure Portal에서 AI 기반 도우미인 Azure Copilot에 다음 질문을 할 수도 있습니다.

  • App Service에서 지원되는 TLS 버전은 무엇인가요?
  • 이전 버전 대신 TLS 1.3을 사용하면 어떤 이점이 있나요?
  • 내 App Service Environment에 대한 암호 그룹 순서를 변경하려면 어떻게 해야 하나요?

Azure Portal의 페이지 헤더에서 Copilot를 선택합니다.

TLS 버전 지원

Azure App Service는 웹앱에 들어오는 요청에 대해 다음 TLS 버전을 지원합니다.

  • TLS 1.3: 이제 완전히 지원되는 가장 안전한 최신 버전입니다.
  • TLS 1.2: 새 웹앱의 기본 최소 TLS 버전입니다.
  • TLS 1.1 및 TLS 1.0: 이전 버전과의 호환성을 위해 지원되지만 권장되지 않는 버전입니다.

웹앱 및 SCM(Source Control Manager) 사이트에 들어오는 요청에 대한 최소 TLS 버전을 구성할 수 있습니다. 기본적으로 최소값은 TLS 1.2로 설정됩니다.

Azure Policy를 사용하여 리소스 및 최소 TLS 버전을 감사할 수 있습니다. App Service 앱으로 이동하여 최신 TLS 버전 정책 정의를 사용하고 웹앱에서 사용할 최소 TLS 버전으로 값을 변경해야 합니다. 다른 App Service 리소스에 대한 관련 정책 정의는 기본 제공 정책 정의 목록 - App Service용 Azure Policy를 참조하세요.

TLS 1.3

TLS 1.3은 App Service에서 완전히 지원되며 TLS 1.2에 비해 몇 가지 개선 사항이 도입되었습니다.

  • 간소화된 암호화 도구 모음 및 전달 비밀을 사용하여 보안 강화
  • 짧은 대기 시간을 위한 더 빠른 핸드셰이크.
  • 개인 정보 보호를 강화하기 위해 암호화된 핸드셰이크 메시지입니다.

모든 인바운드 요청에 대해 TLS 1.3을 요구하려면 Azure Portal, Azure CLI 또는 ARM 템플릿(Azure Resource Manager 템플릿)에서 최소 인바운드 TLS 버전을TLS 1.3 으로 설정합니다.

TLS 1.3은 고정되어 사용자 지정할 수 없는 다음 암호 그룹을 지원합니다.

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

이러한 제품군은 강력한 암호화를 제공하며 TLS 1.3을 협상할 때 자동으로 사용됩니다.

TLS 1.2

TLS 1.2는 App Service의 기본 TLS 버전입니다. PCI DSS(Payment Card Industry Data Security Standard)와 같은 규정 준수 표준을 충족하는 동안 강력한 암호화 및 광범위한 호환성을 제공합니다. 새 웹앱 및 SCM 엔드포인트는 기본적으로 TLS 1.2를 변경하지 않는 한 사용합니다.

Azure App Service는 보안 TLS 1.2 암호 그룹을 사용하여 암호화된 연결을 보장하고 알려진 취약성으로부터 보호합니다. 이전 버전과의 호환성을 위해 TLS 1.1 및 TLS 1.0을 사용하도록 설정할 수 있지만 최소 버전의 TLS 1.2를 사용하는 것이 좋습니다.

TLS 1.1 및 TLS 1.0

TLS 1.1 및 TLS 1.0은 레거시 프로토콜로 간주되며 더 이상 안전한 것으로 간주되지 않습니다. 이러한 버전은 이전 버전과의 호환성을 위해서 App Service에서 지원되며 가능한 경우 피해야 합니다. 새 앱의 기본 최소 TLS 버전은 TLS 1.2이며 TLS 1.1 또는 TLS 1.0을 사용하는 앱을 마이그레이션하는 것이 좋습니다.

중요합니다

웹앱에 들어오는 요청과 Azure로 들어오는 요청은 다르게 처리됩니다. App Service는 웹앱에 들어오는 요청에 대해 TLS 1.1 및 TLS 1.0을 계속 지원합니다.

예를 들어 Azure Resource Manager 또는 API 호출을 통해 Azure 컨트롤 플레인에 직접 들어오는 요청의 경우 TLS 1.1 또는 TLS 1.0을 사용하지 않는 것이 좋습니다.

최소 TLS 암호 그룹

참고

최소 TLS 암호 집합 설정은 다중 테넌트 'App Service'에서 기본 SKU 또는 그 이상의 버전에서 지원됩니다.

최소 TLS 암호화 도구 모음에는 변경할 수 없는 최적의 우선 순위 순서를 가진 암호화 도구 모음의 고정 목록이 포함되어 있습니다. 암호화 도구 모음의 순서를 변경하거나 다시 지정하는 것은 웹앱을 약한 암호화에 노출시킬 수 있으므로 권장되지 않습니다. 또한 이 목록에 새 암호 그룹 또는 다른 암호 그룹을 추가할 수 없습니다. 최소 암호 그룹을 선택하면 시스템에서 웹앱에 대해 덜 안전한 암호화 그룹을 모두 자동으로 사용하지 않도록 설정합니다. 일부 약한 암호 그룹만 선택적으로 사용하지 않도록 설정할 수는 없습니다.

암호 도구 모음이란 무엇이며 App Service에서 어떻게 작동하나요?

암호 도구 모음은 클라이언트와 서버 간의 네트워크 연결을 보호하는 데 도움이 되는 알고리즘 및 프로토콜을 포함하는 지침 집합입니다. 기본적으로 프런트 엔드 OS는 App Service와 클라이언트에서 모두 지원하는 가장 안전한 암호 그룹을 선택합니다. 그러나 클라이언트가 약한 암호 그룹만 지원하는 경우 프런트 엔드 OS는 결국 약한 암호 그룹을 선택하게 됩니다. 조직에서 허용되는 암호화 도구 모음에 대한 제한이 있는 경우 웹앱의 최소 TLS 암호 그룹 속성을 업데이트하여 웹앱에 대해 약한 암호 그룹을 사용하지 않도록 설정할 수 있습니다.

클러스터 설정 FrontEndSSLCipherSuiteOrder를 사용한 App Service Environment

클러스터 설정이 구성된 App Service Environment의 FrontEndSSLCipherSuiteOrder 경우 두 개의 TLS 1.3 암호 그룹을 포함하도록 설정을 업데이트합니다.

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

클러스터 설정을 업데이트한 후 변경 내용을 적용하려면 프런트 엔드를 다시 시작해야 합니다. 또한 TLS 1.3을 지원하도록 업데이트하는 경우에도 앞에서 설명한 두 개의 필수 암호 그룹을 포함해야 합니다. 이미 FrontEndSSLCipherSuiteOrder를 사용하는 경우, 웹앱에 대해 최소 TLS 암호화 제품군을 사용하지 않도록 설정하는 것이 권장됩니다. 결과가 충돌하는 구성일 수 있습니다. 이러한 옵션 중 하나만 구성하여 암호 그룹 기본 설정을 관리합니다.

엔드투엔드 TLS 암호화

E2E(엔드투엔드) TLS 암호화는 Azure App Service 내 의 프런트 엔드-작업자 통신 이 TLS를 사용하여 암호화되도록 합니다. 이 기능이 없으면 들어오는 HTTPS 요청이 프런트 엔드로 암호화되지만 프런트 엔드에서 애플리케이션 워크로드를 실행하는 작업자로의 트래픽은 Azure 인프라 내에서 암호화되지 않은 상태로 이동합니다.

E2E TLS는 다음 사이의 트래픽을 완전히 암호화하는 데 도움이 됩니다.

  • 클라이언트 및 앱 서비스 프런트 엔드
  • 애플리케이션을 호스팅하는 App Service 프런트 엔드 및 작업자 프로세스

이 기능은 다음에서 사용할 수 있습니다.

  • Premium App Service 계획(새 배포에 권장)
  • 레거시 표준 앱 서비스 플랜(기존 사용자)

중요합니다

프리미엄 플랜은 E2E 암호화 및 기타 고급 보안 기능이 필요한 새 배포에 권장됩니다.

엔드투엔드 TLS 암호화 사용

다음을 통해 E2E TLS 암호화를 사용하도록 설정할 수 있습니다.

  • Azure Portal 설정
  • Azure CLI 명령
  • 자동화를 위한 ARM 템플릿

E2E TLS 암호화를 사용하도록 설정하면 웹앱에 대한 모든 클러스터 내 통신이 TLS를 사용하여 암호화되어 엔드투엔드 데이터 보호가 보장됩니다.

App Service의 TLS/SSL 인증서

HTTPS 트래픽을 제공하려면 App Service에 사용자 지정 도메인에 바인딩된 TLS/SSL 인증서가 필요합니다. App Service는 완전 관리형 무료 인증서부터 고객 관리형 인증서에 이르기까지 다양한 인증서 옵션을 제공합니다.

인증서의 종류

  • App Service 관리형 인증서 (무료)

    • 비용 없이 제공됩니다.
    • 자동 갱신을 포함하여 Azure App Service에서 완전히 관리됩니다.
    • 고객은 App Service 외부에서 이러한 인증서에 액세스, 내보내기 또는 사용할 수 없습니다.
    • 와일드카드 또는 사용자 지정 루트 CA를 지원하지 않습니다.
  • ASC(App Service 인증서)

    • GoDaddy에서 발급한 유료 인증서입니다.
    • 고객은 인증서를 소유하고 관리합니다.
    • 고객의 KV(Key Vault)에 저장되며 App Service 외부에서 내보내고 사용할 수 있습니다.
  • BYOC(사용자 고유의 인증서 가져오기)

    • 고유한 TLS/SSL 인증서(PFX 형식)를 업로드하고 관리합니다.
    • 고객이 완전히 관리합니다.

이러한 각 옵션은 보안 및 관리 요구 사항에 따라 유연성을 제공합니다.

사용자 지정 도메인에 인증서 바인딩

인증서를 업로드하거나 만든 후 다음을 사용하여 웹앱의 사용자 지정 도메인에 바인딩합니다.

  • 다중 테넌트 호스팅에 대한 SNI(서버 이름 표시) SSL 바인딩
  • 전용 IP 주소에 대한 IP SSL 바인딩

참고

Azure 관리되는 도메인(예: *.azurewebsites.net)은 기본 인증서로 자동으로 보호되므로 추가 구성이 필요하지 않습니다.

MTLS(상호 TLS) 인증

Azure App Service는 Linux 및 Windows App Service 계획 모두에서 mTLS(상호 TLS) 를 지원하므로 앱은 보안을 강화하기 위해 클라이언트 인증서를 요구할 수 있습니다.

mTLS 작동 방식

  • 클라이언트는 사용자가 구성하는 신뢰할 수 있는 CA 체인에 대해 유효성이 검사되는 인증서를 제공합니다.
  • 유효한 인증서가 있는 클라이언트만 연결할 수 있습니다.
  • 일반적으로 API 및 내부 앱을 보호하는 데 사용됩니다.

구성 옵션

  • Azure Portal, Azure CLI 또는 ARM 템플릿을 사용하여 mTLS를 사용하도록 설정합니다.
  • 클라이언트 유효성 검사를 위해 신뢰할 수 있는 CA 인증서를 업로드합니다.
  • 요청 헤더를 통해 앱 코드의 클라이언트 인증서 정보에 액세스합니다.

자동 인증서 관리

Azure App Service는 인증서를 자동으로 관리하는 기본 제공 기능을 제공합니다.

  • App Service 관리 인증서(무료). 사용자 지정 도메인에 대해 자동으로 발급 및 갱신됩니다. 이러한 인증서는 기본 도메인 유효성 검사로 제한되며 와일드카드 또는 내보낼 수 있는 인증서를 지원하지 않습니다.

  • App Service 인증서(유료). 와일드카드 도메인 및 내보낼 수 있는 인증서를 포함하여 고급 시나리오를 지원하는 완전 관리형 인증서입니다. 이러한 인증서는 Azure Key Vault에 저장 및 관리됩니다.

Azure App Service를 사용하면 TLS 및 SSL을 사용하여 웹앱을 쉽게 보호할 수 있습니다. 최신 TLS 버전, 유연한 인증서 옵션 및 상호 TLS와 같은 고급 기능을 지원하여 App Service를 사용하면 전송 중인 데이터를 보호하고 규정 준수 요구 사항을 충족할 수 있습니다.