Kerberos 인증 및 SQL Server

Kerberos는 네트워크에서 클라이언트 및 서버 엔터티(보안 주체)를 인증하는 매우 안전한 방법을 제공하는 네트워크 인증 프로토콜입니다. 이러한 보안 주체는 마스터 키 및 암호화된 티켓에 기반하는 인증을 사용합니다.

Kerberos 프로토콜 모델에서 모든 클라이언트/서버 연결은 인증으로 시작합니다. 클러스터 및 서버는 차례로 다른 끝의 부분이 실제인 연결에서 각 끝의 부분을 확인하도록 디자인된 일련의 동작을 통해 단계별로 실행합니다. 인증이 성공하면 세션 설정이 완료되고 보안 클라이언트/서버 세션이 설정됩니다.

Kerberos 인증의 주요 이점은 다음과 같습니다.

  • 상호 인증. 클라이언트는 서버 주체 ID의 유효성을 검사하고 서버는 클라이언트의 유효성을 검사할 수 있습니다. 이 설명서에서 보안 네트워크 연결이 서버 간에 설정될 수 있지만 두 엔터티는 "클라이언트" 및 "서버"라고 합니다.

  • 보안 인증 티켓. 암호화된 티켓만 사용되고 암호는 티켓에 포함되지 않습니다.

  • 통합 인증. 사용자가 로그온하면 클라이언트 티켓이 만료되지 않은 한 Kerberos 인증을 지원하는 서비스에 액세스하기 위해 다시 로그온하지 않아도 됩니다. 모든 티켓에는 티켓을 생성하는 Kerberos 영역의 정책으로 결정되는 수명이 있습니다.

Kerberos는 보안 네트워크 연결을 설정하기 전에 엔터티 간의 상호 인증을 위한 메커니즘을 제공합니다. Kerberos는 신뢰할 수 있는 타사 KDC(키 배포 센터)를 사용하여 인증 티켓 및 대칭 세션 키의 생성 및 안전한 배포를 수행합니다. KDC는 보안 서버에서 서비스로 실행하며 해당 영역에서 모든 보안 주체에 대한 데이터베이스를 유지 관리합니다. Kerberos 컨텍스트에서 영역은 Windows 도메인과 동일합니다.

[!참고]

마스터 키 보안은 클라이언트 및 서버의 책임이며 KDC만 티켓 부여 서비스를 제공합니다.

Windows 환경에서 KDC 작동은 도메인 컨트롤러로 가정되며 일반적으로 Active Directory를 사용합니다. 모든 Windows 도메인 사용자는 Kerberos 주체를 효율적으로 사용하며 Kerberos 인증을 사용할 수 있습니다.

SQL Server에 Kerberos

SQL Server에서 Windows 인증을 사용할 경우 SQL Server에서는 SSPI(보안 지원 공급자 인터페이스)를 통해 Kerberos를 직접 지원합니다. SSPI에서 응용 프로그램은 보안 시스템에 대한 인터페이스를 변경하지 않고 컴퓨터나 네트워크에서 사용할 수 있는 다양한 보안 모델을 사용할 수 있습니다.

SQL Server에서 SSPI는 사용할 인증 프로토콜을 협상할 수 있습니다. Kerberos를 사용할 수 없으면 Windows는 Windows NTLM(NT Challenge/Response) 인증으로 대체됩니다.

SQL Server 2008에서는 다음 프로토콜에서 Kerberos 인증을 지원합니다.

  • TCP/IP

  • 명명된 파이프

  • 공유 메모리

위의 프로토콜에 대한 자세한 내용은 네트워크 프로토콜 및 TDS 끝점을 참조하십시오.

SQL Server 인스턴스에 대한 연결이 가능하면 Kerberos 인증을 사용하는 것이 가장 좋습니다.