C# 다중 사용자 클라이언트 - 서버 응용 프로그램과 SQL Server 2008 Express가 데이터베이스로 있다고 가정 해 보겠습니다. 회사의 모든 사람들이 액세스 할 수있는 즉, .mdf
파일에 대한 물리적 액세스가 무료 인 고객의 PC에 설치해야하는 응용 프로그램이므로 .mdf
파일을 자신의 컴퓨터에 쉽게 복사 할 수 있습니다. 그것을 첨부하고 내가 개발 한 모든 DB 구조와 저장 프로 시저의 코드를 봅니다.EFS로 암호화 된 데이터베이스 파일에 로컬 관리자가 액세스하는 것을 방지하려면 어떻게합니까?
나는이 문제와 관련하여 많은 정보를 읽으면서 무료 Windows의 EFS (파일 시스템 암호화)를 사용하도록 지시했습니다. 결과적으로 필자는 .mdf
파일을이 파일을 위해 특별히 만든 특정 Windows 사용자 계정으로 암호화하여 아무도 내 사용자로 로그온하지 않고 파일의 암호를 해독 할 수 없도록 암호를 설정했습니다. 모든 것이 좋았지 만, 고객이 로그온하는 사용자가 거의 항상 Local Admin 그룹에있을 것이라는 딜레마에 직면했기 때문에 내 사용자의 비밀번호를 쉽게 재설정하고 사용자가 파일을 해독 할 수 있도록 로그온 할 수 있습니다. 관리자 그룹에서 사용자를 제외 할 수 없습니다.
누구든지이 문제를 해결할 수 있도록 도와 주시겠습니까? 또는 추가 사용자를 만들지 않고도 파일을 해독하여 .mdf
파일을 해독 할 수 없습니까?
정말 도움이됩니다.
일반적으로 누군가 다른 사람이 시스템을 실제로 제어하는 경우이를 방지 할 수 없습니다 어떻게 든 데이터에 액세스 할 수 있습니다. 아마도 당신은 그것을 어렵게 만들 수 있지만 궁극적으로 당신이 충분히 열심히 노력한다면 그들을 막을 수는 없습니다. 나는 당신이 보호하려고 노력하고있는 것과 당신에게 가치있는 것을 열심히 생각할 것입니다. [이 질문에 대한 내 대답을 참조하십시오 (http://stackoverflow.com/questions/5645097/protect-stored-procedure-by-deny-view-definition); 기술적 솔루션보다 계약을 통해이를 처리하는 것이 더 나을 수도 있습니다. – Pondlife
그래서 모든 사람들이 데이터베이스를 자유롭게 복사하여 로컬에 첨부하고 사용하기로되어 있습니다 ... 그러나 그것도 할 수 없습니까? – Andy
@Pondlife 당연히 나는 누군가가 .mdf에 액세스하려고한다면 그/그녀는 이것을 달성 할 수 있지만, 내가 원하는 것은이 직업을 가능한 한 어렵게 만드는 것임을 이해한다. –