이 문서에서는 SQL Server에 암호화를 사용하도록 설정하기 위한 다양한 시나리오 및 관련 절차와 암호화가 작동하는지 확인하는 방법에 대한 요약을 제공합니다.
서버에 대한 모든 연결 암호화(서버 쪽 암호화)
인증서 유형 | 서버 속성에서 암호화 강제 적용 | 각 클라이언트에서 서버 인증서 가져오기 | 보안 서버 인증서 설정 | 연결 문자열의 속성 암호화 | 코멘트 |
---|---|---|---|---|---|
자체 서명된 인증서 - SQL Server에서 자동으로 생성됨 | 예 | 수행할 수 없습니다. | 예 | 무시됨 | SQL Server 2016(13.x) 및 이전 버전에서는 SHA1 알고리즘을 사용합니다. SQL Server 2017(14.x) 이상 버전에서는 SHA256을 사용합니다. 자세한 내용은 SQL Server 2017에서 자체 서명된 인증서에 대한 해시 알고리즘 변경 내용을 참조하세요. 프로덕션 사용에는 이 방법을 사용하지 않는 것이 좋습니다. |
New-SelfSignedCertificate 또는 makecert를 사용하여 만든 자체 서명된 인증서 - 옵션 1 | 예 | 아니오 | 예 | 무시됨 | 프로덕션 사용에는 이 방법을 사용하지 않는 것이 좋습니다. |
New-SelfSignedCertificate 또는 makecert를 사용하여 만든 자체 서명된 인증서 - 옵션 2 | 예 | 예 | 선택적 | 무시됨 | 프로덕션 사용에는 이 방법을 사용하지 않는 것이 좋습니다. |
회사의 인증서 서버 또는 참가자 목록에 없는 CA(인증 기관) - Microsoft 신뢰할 수 있는 루트 프로그램 - 옵션 1 | 예 | 아니오 | 예 | 무시됨 | |
회사의 인증서 서버 또는 참가자 목록 - Microsoft Trusted Root Program - Option 2에 없는 인증 기관(CA) | 예 | 예 | 선택적 | 무시됨 | |
신뢰할 수 있는 루트 기관 | 예 | 아니오 | 선택적 | 무시됨 | 이 접근 방식을 사용하는 것이 좋습니다. |
특정 클라이언트에서 연결 암호화
인증서 유형 | 서버 속성에서 암호화 강제 적용 | 각 클라이언트에서 서버 인증서 가져오기 | 클라이언트에서 보안 서버 인증서 설정 지정 | 클라이언트 쪽에서 암호화 속성을 Yes/True로 수동으로 지정 | 코멘트 |
---|---|---|---|---|---|
자체 서명된 인증서 - SQL Server에서 자동으로 생성됨 | 예 | 수행할 수 없습니다. | 예 | 무시됨 | SQL Server 2016(13.x) 및 이전 버전에서는 SHA1 알고리즘을 사용합니다. SQL Server 2017(14.x) 이상 버전에서는 SHA256을 사용합니다. 자세한 내용은 SQL Server 2017에서 자체 서명된 인증서에 대한 해시 알고리즘 변경 내용을 참조하세요. 프로덕션 사용에는 이 방법을 사용하지 않는 것이 좋습니다. |
New-SelfSignedCertificate 또는 makecert를 사용하여 만든 자체 서명된 인증서 - 옵션 1 | 아니오 | 아니오 | 예 | 예 | 프로덕션 사용에는 이 방법을 사용하지 않는 것이 좋습니다. |
New-SelfSignedCertificate 또는 makecert를 사용하여 만든 자체 서명된 인증서 - 옵션 2 | 아니오 | 예 | 선택적 | 예 | 프로덕션 사용에는 이 방법을 사용하지 않는 것이 좋습니다. |
회사의 인증서 서버 또는 참가자 목록에 없는 CA에서 - Microsoft 신뢰할 수 있는 루트 프로그램 - 옵션 1 | 아니오 | 아니오 | 예 | 예 | |
회사의 인증서 서버 또는 참가자 목록에 없는 CA에서 - Microsoft 신뢰할 수 있는 루트 프로그램 - 옵션 2 | 아니오 | 예 | 선택적 | 예 | |
신뢰할 수 있는 루트 기관 | 아니오 | 아니오 | 선택적 | 예 | 이 접근 방식을 사용하는 것이 좋습니다. |
암호화가 작동하는지 어떻게 알 수 있나요?
Microsoft 네트워크 모니터 또는 네트워크 스니퍼와 같은 도구를 사용하여 통신을 모니터링하고 도구에서 캡처된 패킷의 세부 정보를 확인하여 트래픽이 암호화되어 있는지 확인할 수 있습니다.
또는 Transact-SQL(T-SQL) 명령을 사용하여 SQL Server 연결의 암호화 상태를 확인할 수 있습니다. 이를 수행하려면 다음 단계를 따르십시오:
- SSMS(SQL Server Management Studio)에서 새 쿼리 창을 열고 SQL Server 인스턴스에 연결합니다.
-
encrypt_option
열 값을 확인하려면 다음 T-SQL 명령을 실행하십시오. 암호화된 연결의 경우 값은 다음과 같습니다TRUE
.
SELECT * FROM sys.dm_exec_connections;