B2B Solution/트러블슈팅

AD FS SAML 연동 오류: 만료된 Certificate 문제 해결 가이드 (ADFS3.0)

SangPedia 2026. 3. 31. 10:04
반응형

AD FS SAML 연동 오류: 만료된 Certificate 문제 해결 가이드

AD FS (Active Directory Federation Services) 환경에서 SAML (Security Assertion Markup Language) 연동 시 인증서 만료로 인해 Single Sign-On(SSO)이 실패하는 문제가 발생할 수 있습니다. 이 글에서는 AD FS 환경에서 SAML 연동 중 발생하는 인증서 만료 오류의 원인을 분석하고, 단계별 해결 방법과 예방 조치를 제공하여 IT 관리자 여러분의 문제 해결을 돕고자 합니다.

에러 현상

다음과 유사한 에러 메시지가 발생하며 SAML 인증에 실패합니다.

Event ID: 304
ADFS encountered an error during processing the SAML authentication request.

Additional Information:
  Relying party: urn:contoso:app
  Exception details: MSIS7007: The requested relying party trust 'urn:contoso:app' is configured to use a certificate that has expired.
Certificate is expired.
  Certificate: CN=ADFS Signing Certificate, OU=contoso, O=contoso, L=Seoul, S=Seoul, C=KR

이 오류는 AD FS 서버의 토큰 서명 인증서 (Token-Signing Certificate)가 만료되었거나, SAML Relying Party Trust 설정에서 만료된 인증서를 사용하도록 구성되었을 때 발생합니다. 문제 발생 시점은 일반적으로 SAML 인증을 사용하는 애플리케이션에 로그인하려고 할 때입니다. OS 버전은 Windows Server 2016 이상에서 발생할 수 있으며, AD FS 3.0 이상 버전을 사용하는 환경에서 주로 나타납니다.

원인 분석

SAML 인증서 만료 오류의 주요 원인은 다음과 같습니다.

1. 토큰 서명 인증서 만료

AD FS 서버에서 SAML 토큰을 서명하는 데 사용하는 인증서가 만료된 경우, SAML 인증 요청이 실패합니다. AD FS는 기본적으로 자동 인증서 롤오버 기능을 제공하지만, 설정 문제 또는 권한 부족으로 인해 자동 갱신이 실패할 수 있습니다. 이 문제는 가장 흔하게 발생하는 원인 중 하나입니다.

2. Relying Party Trust 설정 오류

SAML Relying Party Trust (RPT) 설정에서 만료된 인증서를 사용하도록 구성된 경우, 인증 과정에서 오류가 발생합니다. 이는 인증서 갱신 후 RPT 설정을 업데이트하지 않았거나, 잘못된 인증서를 지정한 경우에 발생할 수 있습니다. 예를 들어, 서비스 공급자(SP)가 이전 인증서를 사용하여 AD FS에 요청을 보내면 인증이 실패합니다.

3. 인증서 자동 롤오버 실패

AD FS의 자동 인증서 롤오버 기능이 제대로 작동하지 않는 경우, 인증서가 자동으로 갱신되지 않아 만료될 수 있습니다. 이는 Active Directory 권한 문제, AD FS 서비스 계정 문제, 또는 인증서 저장소 접근 문제 등으로 인해 발생할 수 있습니다. 또한, AutoCertificateRollover 설정이 False로 되어 있는 경우에도 자동 갱신이 이루어지지 않습니다.

Mermaid diagram: graph TD

해결 방법

1. 만료된 토큰 서명 인증서 갱신

만료된 토큰 서명 인증서를 갱신하는 방법은 다음과 같습니다.

  1. AD FS 관리 콘솔을 실행합니다.
  2. "Service" -> "Certificates"로 이동합니다.
  3. "Token-Signing" 아래에 만료된 인증서가 있는지 확인합니다.
  4. 새 인증서를 생성하거나, 기존 인증서를 가져옵니다. (새 인증서 권장)
  5. 새 인증서를 기본 토큰 서명 인증서로 설정합니다.
# 새 토큰 서명 인증서 생성 (기존 인증서 삭제 후 실행)
Remove-ADFSCertificate -CertificateType Token-Signing -Thumbprint "THUMBPRINT_OF_EXPIRED_CERTIFICATE"
New-ADFSCertificate -CertificateType Token-Signing

# AD FS 서비스 재시작
Restart-Service adfssrv

인증서 갱신 후에는 SAML 인증이 필요한 애플리케이션에 다시 로그인하여 정상적으로 작동하는지 확인합니다.

2. Relying Party Trust 설정 업데이트

Relying Party Trust 설정을 업데이트하여 새로운 인증서를 사용하도록 설정합니다.

  1. AD FS 관리 콘솔에서 "Relying Party Trusts"로 이동합니다.
  2. 해당 Relying Party Trust를 선택하고, "Properties"를 클릭합니다.
  3. "Signature" 탭에서 기존 인증서를 제거하고, 새로운 인증서를 추가합니다.
  4. 필요한 경우, Metadata URL을 업데이트합니다.
# Relying Party Trust 설정 업데이트
Set-ADFSRelyingPartyTrust -TargetName "urn:contoso:app" -SignatureCertificateThumbprint "THUMBPRINT_OF_NEW_CERTIFICATE"

# 변경 사항 적용을 위해 AD FS 구성 업데이트
Update-ADFSFederation

Relying Party (서비스 공급자) 측에도 변경된 AD FS Metadata를 제공하여 SAML 설정을 업데이트해야 합니다. 서비스 공급자에서 요구하는 형식이 있다면 해당 형식에 맞춰 제공해야 합니다.

3. 자동 인증서 롤오버 설정 확인 및 활성화

AD FS의 자동 인증서 롤오버 설정이 활성화되어 있는지 확인하고, 필요한 경우 활성화합니다.

  1. PowerShell을 관리자 권한으로 실행합니다.
  2. 다음 명령어를 실행하여 자동 롤오버 설정을 확인합니다.
Get-ADFSProperties | Select-Object AutoCertificateRollover
  1. AutoCertificateRollover 값이 "False"인 경우, 다음 명령어를 실행하여 활성화합니다.
Set-ADFSProperties -AutoCertificateRollover $true
  1. AD FS 서비스를 재시작하여 변경 사항을 적용합니다.

자동 인증서 롤오버 활성화 후에는 AD FS 이벤트 로그를 주기적으로 확인하여 인증서 갱신 과정에서 오류가 발생하는지 모니터링해야 합니다.

Mermaid diagram: sequenceDiagram

예방 조치

1. 인증서 만료 모니터링 스크립트

다음 PowerShell 스크립트를 사용하여 AD FS 인증서 만료일을 주기적으로 모니터링하고, 만료 임박 시 알림을 받을 수 있도록 설정합니다.

# 인증서 만료일 확인 스크립트
$threshold = (Get-Date).AddDays(30) # 30일 이내 만료되는 인증서
$certs = Get-ChildItem Cert:\LocalMachine\My\ | Where-Object {$_.Subject -like "*ADFS Signing Certificate*"}

foreach ($cert in $certs) {
    if ($cert.NotAfter -lt $threshold) {
        Write-Warning "ADFS 인증서 '$($cert.FriendlyName)' 만료 임박: $($cert.NotAfter)"
        # 이메일 또는 SMS 알림 전송 로직 추가
    }
}

이 스크립트를 작업 스케줄러에 등록하여 주기적으로 실행하면 인증서 만료로 인한 장애를 사전에 예방할 수 있습니다.

2. 자동 인증서 갱신 자동화

AD FS 자동 인증서 롤오버 기능을 활성화하고, Active Directory 권한 설정을 적절히 구성하여 인증서 갱신 과정을 자동화합니다. 또한, 인증서 갱신 후에는 Relying Party Trust 설정을 자동으로 업데이트하는 스크립트를 작성하여 운영 효율성을 높일 수 있습니다.

3. 알림 설정

AD FS 이벤트 로그를 모니터링하고, 인증서 관련 오류 발생 시 관리자에게 즉시 알림을 전송하도록 설정합니다. System Center Operations Manager (SCOM) 또는 기타 SIEM 솔루션을 사용하여 AD FS 이벤트 로그를 중앙 집중적으로 관리할 수 있습니다.

FAQ

  1. AD FS 인증서 자동 롤오버가 작동하지 않는 이유는 무엇인가요?
    Active Directory 권한 부족, AD FS 서비스 계정 문제, 또는 인증서 저장소 접근 문제 등이 원인일 수 있습니다. 이벤트 로그를 확인하여 구체적인 오류 메시지를 확인하고, 필요한 권한을 부여하거나 서비스 계정을 변경해야 합니다. 또한, AutoCertificateRollover 설정이 True로 되어 있는지 확인해야 합니다.

  2. SAML Relying Party Trust 설정에서 Metadata URL은 왜 업데이트해야 하나요?
    → Metadata URL은 AD FS의 구성 정보를 포함하고 있으며, 인증서 정보도 포함되어 있습니다. 인증서가 갱신되면 Metadata URL도 업데이트되어야 Relying Party가 최신 인증서 정보를 가져올 수 있습니다. Metadata URL 업데이트를 통해 SAML 연동의 안정성을 확보할 수 있습니다.

  3. AD FS에서 토큰 서명 인증서 외에 다른 인증서도 관리해야 하나요?
    토큰 서명 인증서 외에 서비스 통신 인증서 (Service Communications Certificate)도 관리해야 합니다. 서비스 통신 인증서는 AD FS 서버 간의 통신을 암호화하는 데 사용되며, 만료 시 AD FS 서비스에 영향을 줄 수 있습니다. 서비스 통신 인증서 또한 주기적으로 모니터링하고 갱신해야 합니다.


반응형