로그인 프로세스 중에 발생하는 SSL(Secure Sockets Layer) 오류 문제 해결
참고 항목
- 이 문서는 Windows 전용입니다.
- 일관된 인증 오류는 일반적으로 잘못된 설정으로 인해 발생하지만 간헐적인 오류는 일반적으로 연결 끊기, 성능 저하 또는 시간 제한 문제로 인해 발생합니다.
- Windows 파일 탐색기 파일 확장자를 설정하는 것이 좋습니다.
증상
TLS/SSL을 사용할 때 다음 오류 중 일부가 발생할 수 있습니다.
명명된 파이프
서버에 연결했지만 로그인하는 동안 오류가 발생했습니다. (공급자: SSL 공급자, 오류: 0 - 파이프의 다른 쪽 끝에 프로세스가 없음) Microsoft SQL Server, 오류: 233.
TCP
서버에 연결했지만 로그인하는 동안 오류가 발생했습니다. (공급자: SSL 공급자, 오류: 0 - 원격 호스트 10054에 의해 연결이 강제로 닫혔습니다.) Microsoft SQL Server, 오류: 233.
해결
이러한 SSL 오류를 해결하려면 다음 단계를 수행합니다.
- 만료되었거나 잘못된 인증서를 업데이트합니다.
- TLS 프로토콜을 사용하도록 설정합니다.
- 클라이언트와 서버에 일치하는 암호 그룹이 있는지 확인합니다.
이러한 단계에 대한 자세한 내용은 TLS 1.2로 업그레이드한 후 보고되는 SSL 오류를 참조하세요.
이 해결 방법이 작동하지 않는 경우 다음 섹션의 단계를 사용하여 자세한 로그를 수집하여 이러한 오류의 근본 원인을 파악합니다.
고급 SSL 데이터 캡처
SQLCHECK를 사용하여 Windows 설정 캡처
클라이언트 컴퓨터, 서버 컴퓨터 및 웹 서버 또는 SQL Server 연결된 서버 중간 컴퓨터와 같은 기타 관련 시스템에서 SQLCHECK를 실행합니다.
- 최신 버전의 SQLCHECK를 다운로드하고 C:\MSDATA와 같은 폴더에 압축을 풉
- Windows 파일 탐색기 실행 파일을 두 번 클릭합니다. 보고서는 SQLCheck.exe 있는 폴더에 기록됩니다.
드라이버 BID(기본 제공 진단) 추적 구성
최신 버전의 SQLTRACE를 다운로드하고 C:\MSDATA와 같은 폴더로 추출합니다.
SQLTrace.ps1 및 SQLTrace.ini 두 개의 파일이 있습니다. INI 파일은 캡처할 항목을 구성하는 데 사용됩니다.
메모장에서 SQLTrace.ini 열고 BID 추적 섹션으로 이동합니다.
설정되어
BIDTrace=yes
있는지 확인합니다.애플리케이션에서
BIDProviderList
사용하는 드라이버를 준수하는지 확인합니다.기본 제공 System.Data.SqlClient .NET 드라이버는 자동으로 사용하도록 설정됩니다. 애플리케이션에서 사용하는 드라이버가 아닌 경우 문자를 사용하여
#
이 줄을 주석으로 처리하고 ODBC 섹션 또는 OLEDB 섹션과 같은 다른 항목 중 하나의 주석 처리를 제거합니다. 확실하지 않은 경우 DBA(데이터베이스 관리자) 또는 애플리케이션 개발자에게 문의하거나 현재 사용 중인 모든 드라이버가 포함된 네 번째BIDProviderList
드라이버를 사용합니다.파일을 저장합니다.
네트워크 추적 구성
네트워킹 섹션은 를 사용하여 Network=yes
자동으로 구성됩니다NETSH=yes
. 이러한 설정은 적절한 이유 없이 변경해서는 안 됩니다.
로컬 연결을 추적하는 경우 애플리케이션이 공유 메모리 또는 명명된 파이프 대신 TCP/IP를 사용하는지 확인합니다. LoopBack 캡처를 지원하므로 네트워크 캡처에 WireShark를 설치하고 사용합니다. 또한 WireShark는 VPN 트래픽을 아주 잘 캡처합니다.
인증 추적 구성
인증 섹션은 다른 많은 설정과 함께 Auth=yes
자동으로 구성됩니다.
MISC 섹션에서 설정 FlushTickets=yes
해야 할 수도 있습니다. 컴퓨터의 모든 사용자 및 서비스에 대해 Kerberos 티켓을 플러시합니다.
BID 추적 사용
SQLTrace.ini 파일의 모든 변경 내용을 저장한 후에는 추적을 시작하기 전에 BID 추적을 사용하도록 설정해야 합니다.
관리자 권한으로 PowerShell을 엽니다.
디렉터리를 SQLTrace.ps1이 포함된 폴더로 변경합니다.
CD C:\MSDATA
BID 추적 레지스트리를 초기화합니다.
.\SQLTrace.ps1 -setup
추적하려는 서비스 또는 애플리케이션을 다시 시작합니다. 그렇지 않으면 애플리케이션이 추적되지 않습니다.
추적 데이터 수집
참고 항목
계속하기 전에 모든 컴퓨터에서 이전 단계가 완료되었는지 확인합니다.
관리자 권한으로 추적되는 모든 컴퓨터에서 PowerShell을 엽니다. 문제를 재현하기 전에 모든 컴퓨터에서 시작 단계를 완료합니다.
디렉터리를 SQLTrace.ps1이 포함된 폴더로 변경합니다.
CD C:\MSDATA
추적 컬렉션을 시작합니다.
.\SQLTrace.ps1 -start
명령 프롬프트가 표시되면 문제를 재현합니다.
추적을 중지합니다.
.\SQLTrace.ps1 -stop
출력 폴더는 현재 디렉터리에 생성되며 추가 분석에 사용할 수 있습니다.
이벤트 로그를 다운로드하는 데 시간이 걸릴 수 있기 때문에 추적을 완전히 중지하는 데 1~2분 정도 걸릴 수 있습니다.
구성 단계를 다시 실행하지 않고 추적을 여러 번 시작하고 중지할 수 있습니다. 이 폴더를 만들 때마다 폴더 이름의 일부로 타임스탬프가 있는 새 폴더가 만들어집니다. 이 시간은 추적이 시작되는 시간에 해당합니다.
타사 정보 고지 사항
이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.