none
TLS 1.2만 사용시에 MSSQL 2008r2 서비스 실행 불가 문제 RRS feed

  • 질문

  • 최근 SSL3.0과 하위 TLS 버전의 취약점 문제로 TLS1.2만 사용할 것을 권고 받고 있습니다.

    조치사항으로 MSDN을 참고하여 SSL3.0, TLS1.0, TLS1.1를 disable하고, TLS1.2 만을 사용하도록 수정하였습니다.

    문제는, MSSQL 2008r2 서비스가 조치 이후로 실행되지 않는 현상이 발생했습니다.

     원인이 무엇인지, 해결은 어떻게 해야 하는지 빠른 답변 부탁 드립니다.


    • 편집됨 Joshua Chae 2014년 12월 29일 월요일 오전 4:23
    2014년 12월 29일 월요일 오전 3:26

모든 응답

  • MSSQL 2008R2 서비스 실행의 원인을 확인해보셔야겠지만...

    SSL3.0에 영향으로 웹서버 연결이 정상적이지 않은 부분에 대해서는 아래와 같이 권고 페이지에 명시되어져 있을 것 같습니다.

    "주의 이 대안을 적용하면 Internet Explorer가 SSL 3.0 이하만을 지원하고 TLS 1.0, TLS 1.1, TLS 1.2를 지원하지 않는 웹 서버에 연결하지 못합니다. "

    [참고자료]

    Can TLS certificate be used for SQL Server encryption on the wire???

    제시해 드린 답변이 도움이 되었기를 바랍니다.
       
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다

    2014년 12월 29일 월요일 오전 5:52
    중재자
  • 우선, 응답 감사합니다.

    참고 자료는 이미 검토한 사항입니다.

    "이 대안을 적용하면 Internet Explorer가 SSL 3.0 이하만을 지원하고 TLS 1.0, TLS 1.1, TLS 1.2를 지원하지 않는 웹 서버에 연결하지 못합니다. "

    문구 번역문 자체도 매우 이상하지만, 어쨌든...

    제가 질문한 사항의 요지는 IE 지원 문제가 아니라

    TLS1.2만 열어두었을때 MSSQL 서버 서비스가 실행되지 않고 구동 실패하는 점입니다.

     의심 가는 부분은 MSSQL 2008 R2 에서 TLS1.2를 지원하지 않는것이 아닌가 하는 부분입니다.

    2014년 12월 29일 월요일 오전 9:00
  • 안녕하세요.

    좀 오래된 thread긴 하지만, 개인적으로 확인한 내용에 대해서 공유할까 합니다.

    일단 테스트 결과 SQL Server의 default 인증서를 사용하기 위해서는 SSL3.0이나 TLS1.0 둘 중 하나는 enable해두어야 합니다.

    이 내용은 테스트 결과 SQL Server 2014까지 동일하게 적용되는 것으로 보입니다.

    질문주신 분은 두 개 모두 disable한 경우로 보이며, SQL Server 시작 시 아래와 같은 오류가 발생하면서 SQL Server가 중지 되었을 것으로 생각됩니다.

    ----------------------------------------------------------------------------------------------------------------------------------

    The server could not load the certificate it needs to initiate an SSL connection. It returned the following error: 0x80090331. Check certificates to make sure they are valid.
    Unable to initialize SSL encryption because a valid certificate could not be found, and it is not possible to create a self-signed certificate.
    오류: 17182, 심각도: 16, 상태: 1.
    TDSSNIClient initialization failed with error 0x80090331, status code 0x80. Reason: SSL 지원을 초기화할 수 없습니다. 클라이언트 및 서버에 공용 알고리즘이 없기 때문에 통신할 수 없습니다.
    오류: 17182, 심각도: 16, 상태: 1.
    TDSSNIClient initialization failed with error 0x80090331, status code 0x1. Reason: 인프라 오류로 인해 초기화하지 못했습니다. 이전 오류를 확인하십시오. 클라이언트 및 서버에 공용 알고리즘이 없기 때문에 통신할 수 없습니다.
    오류: 17826, 심각도: 18, 상태: 3.
    Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
    오류: 17120, 심각도: 16, 상태: 1.
    SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

    ----------------------------------------------------------------------------------------------------------------------------------

    지금까지 제가 확인한 것으로는 Microsoft에서 해당 보안 이슈로 발표된 내용은 아래와 같습니다.

    https://technet.microsoft.com/en-us/library/security/3009008.aspx

    해당 문서에는 SSL3.0만 disable하라는 내용이 있네요.

    제 개인적인 의견으로는 TLS1.0과 TLS1.1 모두 Server쪽에 보안 이슈가 있어서 disable하라는 Microsoft의 공식 발표가 있어야만 원하시는 patch 혹은 workaround를 제공할 것 같습니다.

    속시원한 답변을 드리지 못해서 아쉽네요.

    감사합니다.

    Younggun Kim

    MVP, MCDBA, MCITP
    Consultant @ Database Division in SQLRoad
    http://www.sqlroad.com  http://www.sqlserver.co.kr
    ygkim@sqlroad.com

    2015년 1월 13일 화요일 오전 7:40