다음을 통해 공유


엄격한 암호화를 사용하여 SQL Server에 연결

적용 대상: SQL Server 2022(16.x)

strict 연결 암호화는 좋은 보안 사례를 실행하며, 표준 네트워크 어플라이언스로 SQL Server 트래픽을 관리할 수 있도록 합니다.

이 문서에서는 엄격한 연결 유형을 사용하여 SQL Server 2022(16.x) 이상 버전에 연결하는 방법을 알아봅니다.

전제 조건

.NET 애플리케이션을 사용하여 SQL Server에 연결

strict 암호화 유형을 사용한 빌드 및 SQL Server 연결에 대한 자세한 내용은 연결 문자열을 적절히 빌드하는 방법에 대한 연결 문자열 구문을 참조하세요. 새 연결 문자열 속성에 대한 자세한 내용은 연결 문자열 암호화 속성의 추가 변경 내용을 참조하세요.

ODBC DSN을 사용하여 연결

SQL Server에 대한 ODBC DSN을 사용하여 Strict 연결 암호화 유형으로 연결을 테스트할 수 있습니다.

  1. Windows에서 ODBC 데이터 원본 앱을 검색하세요.

    O D B C 데이터 원본 앱의 스크린샷.

  2. ODBC 데이터 원본 관리자의 드라이버 탭을 찾아 최신 ODBC 드라이버가 있는지 확인합니다.

    사용 가능한 드라이버 스크린샷.

  3. 시스템 DSN 탭에서 추가를 선택하여 DSN을 만듭니다. 그런 다음 SQL Server용 ODBC 드라이버 18을 선택합니다. 마침을 선택합니다. 이를 사용하여 연결을 테스트하겠습니다.

  4. SQL Server에 대한 새 데이터 원본 만들기 창에서 이 데이터 원본의 이름을 제공하고 SQL Server 2022(16.x) 서버 이름을 서버에 추가합니다. 다음을 선택합니다.

    O D B C 드라이버를 사용하여 데이터 원본을 만드는 스크린샷.

  5. 연결 암호화가 있는 화면에 도달할 때까지 모든 설정에 기본값을 사용합니다. Strict를 선택합니다. 입력한 서버 이름이 인증서에 있는 이름과 다르거나 IP 주소가 대신 사용된 경우 인증서의 HostName을 인증서에서 사용되는 HostName으로 설정합니다. 마침을 선택합니다.

    엄격한 암호화 유형을 보여 주는 스크린샷.

  6. ODBC Microsoft SQL Server 설정 대화 상자가 나타나면 데이터 원본 테스트... 단추를 선택하여 연결을 테스트합니다. 그러면 이 테스트를 위해 SQL Server에 대한 strict 연결이 실행됩니다.

OLE DB 드라이버와 유니버설 데이터 링크(UDL)를 사용하여 strict 암호화로 SQL Server에 대한 연결을 테스트할 수도 있습니다.

  1. 연결을 테스트할 UDL 파일을 만들려면 바탕 화면을 마우스 오른쪽 단추로 클릭하고 새로 만들기>텍스트 문서를 선택합니다. 확장명을 txt에서 udl로 변경해야 합니다. 파일 이름은 원하는 대로 지정할 수 있습니다.

    참고 항목

    txt에서 udl로 확장명을 변경하려면 확장명을 볼 수 있어야 합니다. 확장명을 볼 수 없는 경우 파일 탐색기>보기>표시>파일 확장명을 선택하여 확장명 보기를 사용할 수 있습니다.

  2. 만든 UDL 파일을 열고 공급자 탭으로 가서 SQL Server용 Microsoft OLE DB 드라이버 19를 선택합니다. 다음>>을 선택합니다.

    U D L 공급자 화면의 스크린샷.

  3. 연결 탭에서 SQL Server 서버 이름을 입력하고 SQL Sever에 로그인할 때 사용할 인증 방법을 선택합니다.

    U D L 연결 화면의 스크린샷.

  4. 고급 탭에서 연결 유형으로 Strict를 선택합니다. 입력한 서버 이름이 인증서에 있는 이름과 다르거나 IP 주소가 대신 사용된 경우 인증서의 호스트 이름을 인증서에서 사용되는 호스트 이름으로 설정합니다. 마치면 연결 탭으로 돌아갑니다.

    U D L 고급 화면의 스크린샷.

  5. 연결 테스트를 선택하여 strict 연결 암호화로 연결을 테스트합니다.

    U D L 연결 화면 및 연결 테스트의 스크린샷.

SSMS를 사용하여 연결

버전 20부터 서버에 연결 대화 상자의 로그인 탭에 있는 SSMS(SQL Server Management Studio)에서 엄격한 암호화를 적용할 수 있습니다.

SQL Server Management Studio의 서버 연결 대화 상자 스크린샷

Always On 가용성 그룹에 연결

SQL Server 2025(17.x)부터는 연결 암호화 유형을 사용하여 Windows Server 장애 조치(failover) 클러스터와 Always On 가용성 그룹 복제본 간의 통신을 StrictMandatory 암호화할 수 있습니다. 가용성 그룹은 Windows Server 장애 조치(failover) 클러스터를 기반으로 하는 경우에만 암호화를 적용할 수 있습니다. 다른 유형의 가용성 그룹은 엄격한 암호화를 지원하지 않습니다.

단계는 가용성이 이미 존재하는지 여부에 따라 다릅니다.

새 가용성 그룹에 엄격한 암호화를 적용하려면 다음 단계를 수행합니다.

  1. 아직 없는 경우 인증서 요구 사항에 정의된 대로 가용성 그룹의 모든 복제본으로 TLS인증서를 가져옵니다. 인증서를 가져온 후 각 SQL Server 인스턴스를 다시 시작합니다.
  2. 암호화를 적용하는 이 문서에 언급된 방법 중 하나를 사용하여 각 SQL Server 복제본에 대한 연결을 테스트합니다.
  3. 가용성 그룹에 대한 절에 속성이 Encrypt 설정된 StrictCLUSTER_CONNECTION_OPTIONS GROUP입니다. 이렇게 하면 가용성 그룹에 대한 모든 연결에서 지정된 암호화 유형을 사용할 수 있습니다.
  4. 가용성 그룹이 현재 온라인 상태인 경우 가용성 그룹을 보조 복제본으로 장애 조치하여 가용성 그룹에 새 암호화 설정을 적용합니다. 가용성 그룹이 온라인 상태가 되지 않으면 올바르게 설정되지 않은 것일 ClusterConnectionOptions 수 있습니다. CLUSTER.LOG SQL Server 복제본에 연결하지 못한 클러스터와 관련된 ODBC 오류를 확인합니다. 필요에 따라 새 보조 복제본이 온라인 상태이고 가용성 그룹에 연결된 후 가용성 그룹을 원래 주 복제본으로 다시 장애 조치(failback)할 수 있습니다.
  5. (선택 사항) 각 복제본에 대한 연결 프로토콜에 대한 SQL Server Configuration Manager 속성에서 Yes 옵션을 설정하여 암호화를 추가로 적용할 수 있습니다. 이 설정은 가용성 그룹 복제본에 대한 모든 연결에서 엄격한 암호화를 사용하도록 합니다. 이 설정을 변경한 후 각 SQL Server 복제본을 다시 시작합니다.

장애 조치(failover) 클러스터 인스턴스에 연결

SQL Server 2025(17.x)부터 Windows Server 장애 조치(failover) 클러스터와 Always On 장애 조치(failover) 클러스터 인스턴스 간의 통신을 암호화하거나 Strict 연결 암호화 유형을 사용하여 Mandatory 암호화할 수 있습니다. 이를 수행하려면 다음 단계를 따르십시오:

  1. 아직 없는 경우 인증서 요구 사항에 정의된 대로 장애 조치(failover) 클러스터의 모든 노드로 TLS인증서를 가져옵니다. 인증서를 가져온 후 SQL Server 인스턴스를 다시 시작합니다.
  2. 암호화를 적용하는 이 문서에 언급된 방법 중 하나를 사용하여 장애 조치(failover) 클러스터 인스턴스에 대한 연결을 테스트합니다.
  3. 속성을 CLUSTER_CONNECTION_OPTIONS설정할 Encrypt 절이 Mandatory 있는 Strict 이렇게 하면 장애 조치(failover) 클러스터 인스턴스에 대한 모든 연결에서 지정된 암호화 유형을 사용합니다.
  4. 장애 조치(failover) 클러스터 인스턴스에 새 암호화 설정을 적용하기 위해 인스턴스를 보조 노드로 장애 조치(failover)합니다. 장애 조치(failover) 클러스터 인스턴스가 온라인 상태가 되지 않으면 올바르게 설정되지 않을 수 있습니다 ClusterConnectionOptions . CLUSTER.LOG SQL Server 인스턴스에 연결하지 못한 클러스터와 관련된 ODBC 오류를 확인합니다. 필요에 따라 새 보조 노드가 온라인 상태이고 장애 조치(failover) 클러스터 인스턴스에 연결된 후 인스턴스를 원래 주 노드로 다시 장애 조치(failback)할 수 있습니다.
  5. (선택 사항) 클러스터의 각 노드에 대한 연결 프로토콜에 대한 SQL Server Configuration Manager 속성에서 Yes 옵션을 설정하여 암호화를 추가로 적용할 수 있습니다. 이 설정은 장애 조치(failover) 클러스터 인스턴스에 대한 모든 연결에서 엄격한 암호화를 사용하도록 합니다. 보조 노드에서 이 변경을 수행하고 인스턴스를 장애 조치(failover)한 다음 주 노드에서 변경합니다.

SQL Server Configuration Manager를 사용하여 엄격한 암호화 강제 적용

SQL Server 2022(16.x)부터 SQL Server Configuration Manager를 사용하여 엄격한 암호화를 적용할 수 있습니다. 이렇게 하려면 다음 단계를 따르십시오.

  1. SQL Server 구성 관리자를 엽니다.

  2. 왼쪽 창에서 SQL Server 네트워크 구성을 확장하고 [InstanceName]에 대한 프로토콜을 선택합니다.

  3. TCP/IP를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  4. TCP/IP 속성 대화 상자에서 플래그 탭으로 이동한 다음 엄격한 암호화 강제 적용 옵션에 대해 예를 선택합니다.

    SQL Server 구성 관리자의 강제 암호화 옵션 스크린샷.

  5. 유지 관리 기간 동안 SQL Server 인스턴스를 다시 시작하여 변경 내용을 적용합니다.

설명

SSL certificate validation failed가 표시되면 다음을 확인합니다.

  • 테스트에 사용 중인 컴퓨터에서 서버 인증서가 유효합니다
  • 다음 중 적어도 하나가 true입니다.
    • 공급자 SQL Server가 CA 이름 또는 인증서에 있는 DNS 이름 중 하나와 일치합니다.
    • HostNameInCertificate 연결 문자열 속성이 CA 이름 또는 인증서에 있는 DNS 이름 중 하나와 일치합니다.