방금 asp.net을 둘러싼 보안 기반 질문에 대해 Redmond에서 인터뷰를했습니다. 그들이 질문 한 질문 중 하나는 제한된 위임을 사용하여 SQL Server에 액세스하기위한 보안 인트라넷 응용 프로그램을 구성하는 것이 었습니다. 이 시나리오에서는 AD 사용자 계정이 SQL Server에 대한 액세스 권한을 위임받습니다. 물론 모든 목적은 a) 웹 서버 (web.config)에 사용자 이름/비밀번호를 저장하지 않고 b) Active Directory에서 관리 할 수있는 추상화 된 보안 모델을 제공하는 것입니다.익명 액세스 (IIS) 및 SQL Server
이렇게하면 익명 액세스를 위해 내 사이트를 어떻게 구성했는지 생각하게되었습니다. 일반적으로 기본 익명 계정을 사용하여 IIS 웹 사이트를 실행하고 연결 문자열을 web.config에 저장합니다 (암호화 된, 때로는 일반 텍스트로 저장 됨). 물론 SQL Server가 혼합 모드에서 실행되어야합니다. 그래서 내 질문에 우리가 web.config에 연결 문자열을 전혀 저장하지 않고 방금 SQL Server 내에서 db_datareader 액세스 권한을 가진 특정 웹 사이트에 대한 고유 한 익명 도메인 계정을 만들면 어떻게 될까요? 이 일을하는 것이 나쁜 생각 인 이유가 있습니까?
나는 이것이 나쁜 생각이 될 수있는 모든 시나리오를 생각해 보았습니다. 내가 생각할 수있는 유일한 시나리오는 "해커"가 웹 서버의 코드를 손상시킨 다음 어떻게해서든지 SQL Server ... 그러나 이것은 어느 시나리오에서나 발생할 수 있습니다.
누구나 모범 사례를 알고 있습니까?
첫 번째 단락에서 나는 제한된 위임을 언급합니다. 이렇게하면 도메인 계정을 사용하고 SQL Server에만 "제한"된 액세스 권한을 가진 사용자로 가장 할 수 있습니다. 이 시나리오에서 사용자는 응용 프로그램을 통해서만 SQL에 직접 액세스 할 수 있습니다. –