none
SQL Server 통신채널 암호화 TLS 1.2 설정 방법 문의 RRS feed

  • 질문

  • SQL 과 ODBC 통신 구간 암호화를 설정하였습니다. 해당 구간이 TLS V1 을 사용하는것 같아 TLS 1.2를 사용하도록 레지스터리를 수정해 보았으나 원하는 결과가 나오지 않습니다.

    SSL 통신시 확인되는 Client Hello 및 Server Hello 패킷도 보이지 않구요.

    - 서버OS : Windows Server 2012 

    - DB : MS SQL 2012 

    - ODBC : Windows 7 Professional K

    - 패킷캡쳐 : WireShark

    - 목적 : ODBC 와 DBMS 의 통신 구간을 암호화 하기 위해 설정함.

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

    1. 서버 OS 설정 (DBMS 설치 OS)

      1) AD 설치. 인증서 발급, 등록

      2) SQL Server Configuration Manager 설정

       - SQL Server 네트워크 구성 - 암호화 적용(예) , 인증서 선택

       - SQL Native Client 11.0 - 서버인증서신뢰(예) , 프로토콜 암호화 강제 사용(예)

      3) SQL Server Management Studio

       - 연결 > 데이터베이스엔진 > 옵션 > 연결 암호화 (체크)

      4)  regedit 편집
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
       TLS 1.0,TLS 1.1,SSL 3.0 (키 추가 : Client, Server  / DWORD 추가 : DisableByDefault 1 , Enabled 0)
       TLS 1.2 (키 추가 : Client, Server  / DWORD 추가 : DisableByDefault 0 , Enabled 1)

        => 위와같이 설정하고 접근했을 경우 Client PC(ODBC설정)에서 DBMS 로그인 안됨.

        => TLS 1.0을 레지스터리에서 활성화 
        (키 추가 : Client, Server  / DWORD 추가 : DisableByDefault 0 , Enabled 1) 하면
         TLS V1로 로그인 성공 후 통신함.

        => TLS 1.0을 비활성화 하고 SSL 3.0을 활성화 하면 SSL V3로 로그인 성공 후 통신함.

        => 전부 비활성화하고 TLS 1.1 만 활성화 되어 있을 경우 로그인 불가.. 통신 불가..

        => 전부 비활성화하고 TLS 1.2 만 활성화 되어 있을 경우 로그인 불가.. 통신 불가..

    결론적으로 서버OS의 레지스터리 설정을 변경하더라도 TLS 1.1 및 TLS 1.2 통신 자체를 지원하지 않는 것 같습니다.

     




    • 편집됨 ockdol 2014년 9월 11일 목요일 오전 7:28
    2014년 9월 11일 목요일 오전 6:14

모든 응답

  • 아래 단계 모두 수행 하셨나요? 

    TLS 사용을 제어하려면 TLS 1.2 준수를 강제하는 컴퓨터의 암호 그룹 요구 사항을 설정해야 합니다. 다음 단계를 수행합니다.

    1. 그룹 정책을 사용하여 시스템 암호화: 암호화, 해시, 서명에 FIPS 규격 알고리즘 사용 보안 정책 설정을 사용하도록 설정합니다.
    2. Internet Explorer를 엽니다. 도구 메뉴에서 인터넷 옵션을 클릭합니다. 고급 탭을 클릭한 다음 TLS 1.2 사용 확인란을 선택합니다.

    [참고자료]

    Microsoft 관리 콘솔을 사용 하 여 SQL Server 인스턴스에 대해 SSL 암호화를 사용 하는 방법

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


    2014년 9월 12일 금요일 오전 1:46
    중재자
  • 답변 감사합니다.

    1. 그룹정책 FIPS 규격 알고리즘 사용 설정 했습니다. => SQL Server 및 ODBC Client 시스템 둘 다 해줬구요.
       FIPS 알고리즘 사용 설정 후에는 레지스터리에서 TLS 1.0, 1.1, 1.2 Disable 여부 상관없이 TLS 1.0으로 ODBC연결 됩니다.

    2. IE 는 오늘 설정해서 해봤는데 결과에 영향이 없습니다.

    3. 그룹정책 SSL 암호그룹순서 에서 TLS 1.2 에서만 지원되는 그룹만을 설정하였습니다. (SQL Server 시스템 , ODBC Client 동일 설정)  
      1) SSL 암호그룹       (TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_NULL_SHA256) -

      2) ODBC 연결시 다음 에러 출력됩니다.

       "SQL 상태 : 08001" SQL Server 오류 18 , [ODBC SQL Server Driver][DBNETLIB] SSL보안오류

      3) SSL 암호그룹을 SHA1 으로 다음과 같이 설정하면 ODBC 연결에 성공합니다.

     (TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384)

    SHA256으로 통신이 안되는 것을 봐서는.. TLS 1.2로 통신을 못하는 것 같습니다.

    WireShark로 캡쳐떠도 계속 TLS 1.0 으로 나오구요.

    따로 설정해줘야 하는 부분이 있을까요??



    • 편집됨 ockdol 2014년 9월 16일 화요일 오전 3:48
    2014년 9월 16일 화요일 오전 3:47