본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

SQL Server - CATEGORY

SQL Server에 Kerberos 인증 사용

AWS-in 2015. 11. 20. 12:58

SQL의 인증프로토콜(Authentication Protocol) Kerberos, NTLM 등을 사용한다.


간혹 장애발생시 인증프로토콜에 대한 이슈도 발생한다.


SQL Errorlog에 보면 아래와 같은 오류 메시지를 볼 수 있다. 아래는 SPN 등록에 대한 이슈 이므로 꼭 확인을 해보자


The SQL Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0x2098. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies.


SPN : MSSQLSvc/FQDN:tcpport 형식이다.,




또한 로그중에 SSPI 관련 로그인 실패로그 도 가끔 본다. 이런 것들이 모두 Kerberos 통신과 관련이 있다.


https://technet.microsoft.com/ko-kr/library/cc280744(v=sql.105).aspx

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

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

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


https://technet.microsoft.com/ko-kr/library/cc280745(v=sql.105).aspx

클라이언트 및 서버 컴퓨터는 동일한 Windows 도메인이나 트러스트된 도메인의 일부여야 합니다.

SPN(서비스 사용자 이름)은 Windows 도메인에서 키 배포 센터 역할을 가정하는 Active Directory에 등록해야 합니다. SPN은 등록된 후에, SQL Server 인스턴스 서비스를 시작하는 Windows 계정에 매핑됩니다. SPN 등록이 수행되지 않았거나 실패하면 Windows 보안 계층이 SPN과 연결된 계층을 결정할 수 없고 Kerberos 인증이 사용되지 않습니다.



[참고문서]

Using Kerberos with SQL Server

http://blogs.msdn.com/b/sql_protocols/archive/2005/10/12/479871.aspx

SQL Server 2005의 인스턴스에 원격 연결을 만들 때 Kerberos 인증을 사용하고 있는지 확인하는 방법

https://support.microsoft.com/ko-kr/kb/909801

SQL Server Kerberos 인증을 사용 하는 방법

https://support.microsoft.com/ko-kr/kb/319723




댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday