Application Gateway TLS 정책 개요
Azure Application Gateway를 사용하여 TLS/SSL 인증서 관리를 중앙 집중화하고 백 엔드 서버 팜에서 암호화 및 암호 해독 오버헤드를 줄일 수 있습니다. 또한 중앙 집중식 TLS 처리를 통해 조직의 보안 요구 사항에 적합한 중앙 TLS 정책을 지정할 수 있습니다. 그러면 보안 지침과 권장되는 정보 및 규정 준수 요구 사항을 충족할 수 있습니다.
TLS 정책은 TLS 프로토콜 버전 및 TLS 핸드셰이크 도중 암호 그룹과 암호화 사용 순서를 제어합니다. Application Gateway는 TLS 정책을 제어하기 위한 두 가지 메커니즘을 제공합니다. 미리 정의된 정책이나 사용자 지정 정책을 사용할 수 있습니다.
사용량 및 버전 세부 정보
Important
2025년 8월 31일부터 Azure 애플리케이션 Gateway와 상호 작용하는 모든 클라이언트 및 백 엔드 서버는 TLS 1.0 및 1.1에 대한 지원이 중단되므로 TLS(전송 계층 보안) 1.2 이상을 사용해야 합니다.
- SSL 2.0 및 3.0은 모든 애플리케이션 게이트웨이에 대해 사용하지 않도록 설정되며 구성할 수 없습니다.
- 사용자 지정 TLS 정책을 사용하면 게이트웨이의 최소 프로토콜 버전(TLSv1_0, TLSv1_1, TLSv1_2 또는 TLSv1_3)으로 TLS 프로토콜을 선택할 수 있습니다.
- TLS 정책을 선택하지 않으면 해당 리소스를 만드는 데 사용되는 API 버전에 따라 기본 TLS 정책이 적용됩니다.
- TLS v1.3을 지원하는 2022 사전 정의 및 Customv2 정책은 Application Gateway V2 SKU(Standard_v2 또는 WAF_v2)에서만 사용할 수 있습니다.
- 2022 사전 정의 또는 Customv2 정책을 사용하면 전체 게이트웨이(SSL 정책 및 SSL 프로필용)의 SSL 보안 및 성능 상태가 향상됩니다. 따라서 기존 정책과 새 정책이 모두 게이트웨이에서 공존할 수 없습니다. 클라이언트에 이전 TLS 버전 또는 암호화가 필요한 경우(예: TLS v1.0) 게이트웨이에서 이전의 미리 정의된 정책 또는 사용자 지정 정책을 사용해야 합니다.
- 연결에 사용되는 TLS 암호 그룹은 사용 중인 인증서의 형식에 따라 달라집니다. "클라이언트-애플리케이션 게이트웨이 연결"에 사용되는 암호화 도구 모음은 애플리케이션 게이트웨이의 수신기 인증서 유형을 기반으로 합니다. 반면 "백 엔드 풀 연결에 대한 애플리케이션 게이트웨이"를 설정하는 데 사용되는 암호화 도구 모음은 백 엔드 서버에서 제공하는 서버 인증서 유형을 기반으로 합니다.
미리 정의된 TLS 정책
Application Gateway는 몇 가지 미리 정의된 보안 정책을 제공합니다. 적절한 보안 수준을 얻을 수 있도록 이러한 정책을 사용하여 게이트웨이를 구성할 수 있습니다. 정책 이름은 구성된 연도 및 월로 주석 처리됩니다(AppGwSslPolicy<YYYYMMDD>). 각 정책은 다른 TLS 프로토콜 버전 및/또는 암호화 도구 모음을 제공합니다. 이러한 미리 정의된 정책은 Microsoft 보안 팀의 모범 사례 및 권장 사항을 염두에 두고 구성됩니다. TLS 보안을 극대화되도록 최신 TLS 정책을 사용하는 것이 좋습니다.
다음 표에서는 미리 정의된 각 정책에 대한 암호화 도구 모음 및 최소 프로토콜 버전 지원 목록을 보여 줍니다. 암호 그룹의 순서는 TLS 협상 중 우선 순위 순서를 결정합니다. 이러한 미리 정의된 정책에 대한 암호화 도구 모음의 정확한 순서를 알아보려면 포털의 PowerShell, CLI, REST API 또는 수신기 블레이드를 참조하세요.
미리 정의된 정책 이름(AppGwSslPolicy<YYYYMMDD>) | 20150501 | 20170401 | 20170401S | 20220101 | 20220101S |
---|---|---|---|---|---|
최소 프로토콜 버전 | 1.0 | 1.1 | 1.2 | 1.2 | 1.2 |
활성화된 프로토콜 버전 | 1.0 1.1 1.2 |
1.1 1.2 |
1.2 | 1.2 1.3 |
1.2 1.3 |
기본값 | True (API 버전 < 2023-02-01) |
False | False | True (API 버전 >= 2023-02-01) |
False |
TLS_AES_128_GCM_SHA256 | ✗ | ✗ | ✗ | ✓ | ✓ |
TLS_AES_256_GCM_SHA384 | ✗ | ✗ | ✗ | ✓ | ✓ |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | ✓ | ✓ | ✓ | ✓ | ✓ |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | ✓ | ✓ | ✓ | ✓ | ✓ |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 | ✓ | ✗ | ✗ | ✓ | ✗ |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 | ✓ | ✗ | ✗ | ✓ | ✗ |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_RSA_WITH_AES_256_GCM_SHA384 | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_RSA_WITH_AES_128_GCM_SHA256 | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_RSA_WITH_AES_256_CBC_SHA256 | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_RSA_WITH_AES_128_CBC_SHA256 | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_RSA_WITH_AES_256_CBC_SHA | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_RSA_WITH_AES_128_CBC_SHA | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | ✓ | ✓ | ✓ | ✓ | ✓ |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | ✓ | ✓ | ✓ | ✓ | ✓ |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 | ✓ | ✓ | ✓ | ✓ | ✗ |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | ✓ | ✓ | ✓ | ✓ | ✗ |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | ✓ | ✓ | ✓ | ✗ | ✗ |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_RSA_WITH_3DES_EDE_CBC_SHA | ✓ | ✗ | ✗ | ✗ | ✗ |
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA | ✓ | ✗ | ✗ | ✗ | ✗ |
기본 TLS 정책
애플리케이션 게이트웨이 리소스 구성에 특정 SSL 정책이 지정되지 않은 경우 기본 TLS 정책이 적용됩니다. 이 기본 정책은 해당 게이트웨이를 만드는 데 사용되는 API 버전을 기준으로 선택됩니다.
- API 버전 2023-02-01 이상의 경우 최소 프로토콜 버전은 1.2로 설정됩니다(최대 1.3 버전 지원). 이러한 API 버전으로 만든 게이트웨이에는 리소스 구성에 읽기 전용 속성 defaultPredefinedSslPolicy:AppGwSslPolicy20220101이 표시됩니다. 이 속성은 사용할 기본 TLS 정책을 정의합니다.
- 이전 API 버전 < 2023-02-01의 경우 미리 정의된 정책 AppGwSslPolicy20150501을 기본값으로 사용하므로 최소 프로토콜 버전은 1.0(최대 1.2 버전 지원)으로 설정됩니다.
기본 TLS가 요구 사항에 맞지 않는 경우 다른 미리 정의된 정책을 선택하거나 사용자 지정 정책을 사용합니다.
참고 항목
업데이트된 기본 TLS 정책에 대한 Azure PowerShell 및 CLI 지원이 곧 제공될 예정입니다.
사용자 지정 TLS 정책
요구 사항에 맞게 미리 정의된 TLS 정책을 구성해야 하는 경우 사용자 지정 TLS 정책을 사용할 수 있습니다. 사용자 지정 TLS 정책을 통해, 지원되는 암호 그룹 및 해당 우선 순위 순서를 지원하려면 최소 TLS 프로토콜 버전을 완전히 제어해야 합니다.
참고 항목
더 강력한 최신 암호화 및 TLSv1.3 지원은 CustomV2 정책에서만 사용할 수 있습니다. 향상된 보안 및 성능 이점을 제공합니다.
Important
- Application Gateway v1 SKU(Standard 또는 WAF)에서 사용자 지정 SSL 정책을 사용하는 경우, 필수 암호인 “TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256”을 목록에 추가해야 합니다. 이 암호는 Application Gateway v1 SKU에서 메트릭과 로깅을 사용하도록 설정하는 데 필요합니다. Application Gateway v2 SKU(Standard_v2 또는 WAF_v2)의 경우에는 필수가 아닙니다.
- 암호화 도구 모음 "TLS_AES_128_GCM_SHA256" 및 "TLS_AES_256_GCM_SHA384"는 TLSv1.3에 필수입니다. PowerShell 또는 CLI를 통해 최소 프로토콜 버전 1.2 또는 1.3으로 CustomV2 정책을 설정할 때 명시적으로 언급할 필요가 없습니다. 따라서 이러한 암호화 도구 모음은 포털을 제외하고 Get Details 출력에 나타나지 않습니다.
암호 그룹
Application Gateway는 사용자 지정 정책을 선택할 수 있는 다음과 같은 암호 그룹을 지원합니다. 암호 그룹의 순서는 TLS 협상 중 우선 순위 순서를 결정합니다.
- TLS_AES_128_GCM_SHA256(Customv2에서만 사용 가능)
- TLS_AES_256_GCM_SHA384(Customv2에서만 사용 가능)
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_256_GCM_SHA384
- TLS_RSA_WITH_AES_128_GCM_SHA256
- TLS_RSA_WITH_AES_256_CBC_SHA256
- TLS_RSA_WITH_AES_128_CBC_SHA256
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_3DES_EDE_CBC_SHA
- TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
제한 사항
- 백 엔드 서버에 대한 연결은 항상 최소 프로토콜 TLS v1.0 및 최대 TLS v1.2입니다. 따라서 백 엔드 서버와의 보안 연결을 설정하기 위해 TLS 버전 1.0, 1.1 및 1.2만 지원됩니다.
- 현재 TLS 1.3 구현은 "0-RTT(제로 왕복 시간)" 기능으로 사용하도록 설정되어 있지 않습니다.
- TLS 세션(ID 또는 티켓) 다시 시작은 지원되지 않습니다.
- Application Gateway v2는 다음 DHE 암호화를 지원하지 않습니다. 미리 정의된 정책에 언급된 경우에도 클라이언트와의 TLS 연결에는 사용되지 않습니다. DHE 암호화 대신, 안전하고 빨라진 ECDHE 암호화가 권장됩니다.
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA
- "최대 조각 길이 협상" 지원을 원하는 제한된 클라이언트는 최신 2022 Predefined 또는 Customv2 정책을 사용해야 합니다.
다음 단계
TLS 정책을 구성하는 방법을 알아보려면 Application Gateway에서 TLS 정책 버전 및 암호 그룹 구성을 참조하세요.