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.