Web App 클라이언트 인증서 설정 점검

클라이언트 인증서가 필요한 서비스는 인증서 요구 모드와 애플리케이션 검증을 함께 구성하세요.

설명

제한된 클라이언트만 사용하는 관리 API나 B2B 서비스에는 클라이언트 인증서가 추가 인증 수단이 될 수 있습니다. 모든 웹 앱에 필수인 방식은 아니므로 서비스의 인증 요구사항에 따라 선택하세요.

App Service는 클라이언트 인증서를 애플리케이션에 전달하며 신뢰 여부를 대신 검증하지 않습니다. 인증서 제시만으로 요청자를 승인하면 안 되며, 애플리케이션이 발급자·신뢰 연결, 유효 기간, 폐기 상태와 허용된 클라이언트의 신원을 검증해야 합니다.

잠재적 영향

  • 인증서가 필요한 경로에서 요구나 검증이 빠지면 승인되지 않은 클라이언트의 요청이 처리될 수 있습니다.
  • 만료·폐기된 인증서를 계속 허용하거나 교체 절차가 없으면 무단 접근 또는 연결 중단이 발생할 수 있습니다.

해결 방법

지원되는 App Service 요금제에서 clientCertEnabled를 켜고 인증서가 필수라면 clientCertMode를 Required로 설정하세요. 제외 경로와 프로토콜 호환성을 확인하고 HTTPS를 사용하세요. 애플리케이션에서 인증서를 검증하고 필요한 작업만 허용한 뒤 정상·누락·유효하지 않은 인증서 요청을 시험하세요. 발급·교체·폐기 절차도 유지하세요.

예시

사이트 속성의 발췌입니다. 실제 앱 이름·지역과 인증서를 지원하는 App Service 계획 등 나머지 입력은 별도로 구성하세요. 인증서 모드와 애플리케이션 검증 코드는 생략했습니다.

변경 전

bicep
resource webSite 'Microsoft.Web/sites@2020-12-01' = {
  name: 'webSite'
  location: 'location1'
  tags: {}
  properties: {
    enabled: true
  }
}

클라이언트 인증서 기능을 명시하지 않습니다. 서비스가 요구하는 인증 방식과 현재 설정을 확인해야 합니다.

변경 후

bicep
resource webSite 'Microsoft.Web/sites@2020-12-01' = {
  name: 'webSite'
  location: 'location1'
  tags: {}
  properties: {
    enabled: true
    clientCertEnabled: true
  }
}

클라이언트 인증서 기능을 켭니다. 인증서 필수 여부는 모드와 제외 경로로 정하고, 전달된 인증서를 검증하는 로직을 애플리케이션에 구성해야 합니다.

참조