인프라

CredSSP 암호화 Oracle 수정 때문일 수 있습니다. 해결 방안

팬도라 2023. 4. 19. 16:49
반응형

RDP 연결시 "CredSSP 암호화 Oracle 수정 때문일 수 있습니다." 오류가 발생하는 경우 해결방법을 공유합니다.

AWS EC2에 Windows Server 2012, Windows Server 2016 등과 같은 구 버전을 사용하거나 고객사에서 하이퍼바이저에서 사용하던 이미지를 EC2에 마이그레이션을 진행한 경우 위와 같이 RDP 접속이 불가한 문제가 발생할 수 있습니다.

해당 오류는 CVE-2018-0886으로 명칭된 보안 패치로 인한 발생합니다. CredSSP (Credential Security Support Provider 프로토콜)는 다른 응용 프로그램의 인증 요청을 처리하는 인증 공급자로 패치가 적용되지 않은 CredSSP 버전에는 원격 코드 실행 취약성(RCE)이 존재합니다.

본 취약성 악용에 성공한 공격자는 사용자 자격 증명을 릴레이하여 대상 시스템에서 코드를 실행할 수 있으므로, 인증에 CredSSP를 사용하는 모든 응용 프로그램은 이러한 공격 유형에 취약할 수 있습니다.
마이크로소프트는 이러한 문제를 해결하기 위해 2018년 3월 13일 본 취약점에 영향받는 모든 플랫폼에서 CredSSP 인증 프로토콜 및 원격 데스크톱 클라이언트를 업데이트를 진행했습니다.

이에 따라 Server와 Clinet는 해당 보안패치가 반드시 적용되어 있어야 하며, 상호간 하나라도 업데이트가 되어 있지 않은 경우 RDP 접속을 거부합니다.

본 글에서는 이러한 문제를 해결하기 위해 일반적인 환경과 AWS 환경에서 수정하는 방법에 대해 서술합니다.

  • 가장 좋은 방법은 "업데이트"를 진행하는 것임을 인지합니다.

레지스트리 수정

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters
  • AllowEncryptionOracle=dword:00000002
  • AllowEncryptionOracle 1 => 2
  • REBOOT WINDOWS SYSTEM

보안정책 수정

  • CMD -> gpedit.msc

CLI 적용

GUI에서 수정이 불가능한 경우 AWS SSM을 통해 CLI 작업을 수행할 수 있습니다.

  • EC2에 SSM (AmazonSSMManagedInstanceCore) 역할을 부여합니다.
  • 인스턴스 재부팅 이후, Session Manager 접속을 통해 Windows PowerShell 접속을 진행합니다.
  • 다음 명령을 순차적으로 입력합니다.
    • $env:computername # 호스트 이름을 가져옵니다.
    • $ComputerName = "EC2AMAZ-******" # 호스트 이름을 변수로 등록합니다.
    • (Get-WmiObject -class Win32_TSGeneralSetting -Namespace root\cimv2\terminalservices -ComputerName $ComputerName -Filter "TerminalName='RDP-tcp'").SetUserAuthenticationRequired(0)
  • EC2를 재부팅합니다.