Windows 관리자에 대한 액세스 제한


11

는 AS SQL 서버 모범 사례는 말한다, " Windows 인증 모드는 SQL 인증보다 안전합니다 ." 이제 Windows 관리자 권한이있는 사용자로부터 SQL Server를 보호 할 수있는 방법이 있습니까?


4
6 번째 불변의 보안법 : "컴퓨터는 관리자가 신뢰할 수있는만큼 안전합니다." 법률 2와 10도 여기에 관련됩니다. technet.microsoft.com/library/cc722487.aspx
— Dan이 불을 피우다 By

답변:


15

아니.

사용자가 상자의 Windows 관리자 인 경우 상자의 모든 내용을 소유한다고 가정합니다 (SQL Server 포함). Windows Administrator 권한을 사용하면 다른 사람 (예 NT AUTHORITY\SYSTEM: 모든 로컬 SQL Server 인스턴스에 대한 실질적인 관리자 권한 포함 )을 사칭 하여 적용한 대상 보호 (예 : 사용자 이름을 식별하는 로그온 트리거)를 무시하는 것이 쉽지 않습니다 . 감사는 쉽게 해제 할 수 있기 때문에 많은 도움이되지 않지만, 만일의 경우에 대비해 감사해야합니다.

다른 사람을 신뢰하지 않으면 Windows 관리자에게 기간을 부여하지 마십시오.


2
\ 관리자 내장 부정하는 주장 +1 아무것도 뱀 기름
— 레무스 Rusanu

1

아니요, 로컬 관리자 sysadmin가 SQL Server 인스턴스에 액세스하는 것을 완전히 막을 수는 없습니다 .

단일 사용자 모드에서 인스턴스가 다시 시작sysadmin 되면 명시적인 로그인이 없더라도 로컬 관리자 권한 을 허용하도록 SQL Server가 하드 코딩됩니다 . 이것이 존재하는 이유는 인스턴스에서 자신을 잠글 수 있기 때문에 복구 목적입니다.

즉, 인스턴스가 다중 사용자 모드에서 실행되는 동안 (서비스 중단없이) 액세스 를 제한 하는 것은 어렵지 않습니다. Aaron이 언급했듯이 로컬 관리자는 NT AUTHORITY\SYSTEM기본적 sysadmin으로 SQL Server 2008에서 생성 된 수준의 로그인 이있는 가장을 가장 할 수 있습니다.이 기능은 서버가 실행되는 동안 액세스 를 복구하기 위해 악용 될 수 있습니다 sysadmin. (참고 : SQL Server 2012 에서이 로그인은 더 이상 없습니다 sysadmin.)이 로그인이 무엇인지 정확히 알지 못하지만 (업그레이드 / 핫픽스 등) 아마도 사용하지 않는 것이 안전하다고 생각합니다. 그 사건. 다른 가장 할 수없는 로그인이 없으면 액세스를 거부하기에 충분해야합니다. 다시, 인스턴스가 실행중인 경우에만 중단되지 않습니다 .


0

기본적으로 SQL 2008 및 2012에서는 Windows 관리자가 SQL Server에 액세스 할 수있는 기본 액세스 권한이 없습니다. Windows 관리자 (예 : 도메인 관리자 또는 로컬 관리자 인 사람)가 액세스 권한을 가지려면 로그인에 명시 적으로 액세스 권한이 부여되거나 해당 그룹이 SQL Server 자체의 권한과 함께 액세스 권한을 부여 받아야합니다. 인스턴스를 설정할 때 하나의 Active Directory 로그인 또는 그룹을 관리자로 지정해야하지만 해당 로그인 / 그룹은 도메인의 모든 사람이 될 수 있습니다.

SQL 2005에는 BUILTIN\Administratorssysadmin 액세스 권한 이있는 그룹 이있었습니다 . 이 그룹은 로컬 관리자 sysadmin이 SQL Server에 액세스 할 수 있도록합니다. 이 그룹은 SQL Server에서 제거 할 수 있으며 그렇게하는 것이 좋습니다.

즉, Windows (로컬 또는 도메인)가 SQL Server가있는 서버에 영향을 미치는 것을 막을 방법은 없습니다. 즉, 관리자는 여전히 서비스 및 OS 수준 구성에 영향을 미치고 디렉터리 보안 변경 및 기타 OS 수준 작업에 영향을 줄 수 있습니다. 이것이 결국 Windows 관리자 인 이유입니다.

일반적으로 관리자는 SQL Server와 Windows를 모두 신뢰해야합니다. Windows 관리자는 SQL Server 자체에서 작업을 수행하거나 데이터에 액세스 할 수 없지만 (기본적으로) SQL Server가있는 환경을 제어합니다. 해당 역할에 할당 된 사람을 관리해야합니다.


3
마이크로 소프트가 변경 한 내용이 좀 더 안전 해졌지만 아직 방탄은 거의 없다. 로컬 관리자가 가장하여 로컬 SQL Server 인스턴스에 직접 입찰하는 것은 쉽지 않으므로 OS 수준에서 간접적 인 영향 이상의 것에 대해 걱정할 필요가 있습니다.
— Aaron Bertrand

질문 : 신뢰할 수없는 사용자 관리자에게 서버에 대한 액세스 권한을 부여하는 것이 어떤 상황에 해당됩니까?
— Mark Allen

개인적으로, 나는 전혀 생각하지 않습니다. 다른 많은 사람들이 다른 답변에서 언급했듯이 (여기서는 명확하지 않음) 관리자를 신뢰해야합니다. 그리고 당신이 그들을 믿지 않는다면, 그들을 관리자로 만들지 마십시오.
— Mike Fal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.