2011-05-11 4 views
11

내가 알 수있는 한 web.config 파일의 모든 섹션은 aspnet_regiis.exe를 사용하여 암호 해독 된 &을 암호화 할 수 있습니다.웹 구성 파일을 암호화하는 이유는 무엇입니까?

aspnet_regiis를 사용하여 web.config 파일의 암호를 해독 할 수 있다면 암호화의 요지는 무엇입니까? & 중요한 정보가 일반 텍스트로 저장되는 것을 막기 위해서입니까? 파일과 exe를 가진 사람이 암호를 해독 할 수 있다면 민감한 구성 정보를 실제로 보호합니까?

UPDATE 기계 키에 대한 대답 모든 사람에게

감사합니다. 필자가이 질문을 한 이유는 codeplex.com에서 오픈 소스 프로젝트를 호스팅했기 때문입니다. 그러나이 프로젝트를 Windows Azure에도 배포합니다. 나는 민감한 패스워드를 소스 컨트롤에서 지키기위한 최선의 접근법을 찾고 있지만 Azure에 배포 할 때 내 프로젝트의 일부로 접근 가능하게 유지하려고 노력 중이다.

현재 저는 Web config 변환을 사용하여 Azure 연결 문자열 (system.net의 Gmail 비밀번호는 물론)을 저장하고 있습니다. Web.PublishToAzure.config 변형 파일을 만들었고 그 파일을 소스 제어에서 제외 시켰습니다. 나는 또한 더 나은 옵션이 될 수도 this article을 발견. 다시 한번 감사드립니다.

+0

"이 기사"에 대한 링크가 존재하지 않습니다. 가능하다면 정말보고 싶습니다. 고마워. –

답변

2

단순한 대답 : 그들은, 내가 키가 컴퓨터의 인증서 저장소에 저장됩니다 기본적으로 생각 키

에 액세스 할 수 없습니다 때문에 악의적 인 사용자가 너무 그에 접근 할 필요가있다. 나는 전문가는 아니지만 그것의 요지입니다.

8

파일은 컴퓨터 고유 키를 사용하여 암호화됩니다. 컴퓨터 수준의 액세스 권한을 가진 사람이 누구나 암호를 해독 할 수 있지만 암호화하면 컴퓨터의 DPAPI 키가 없기 때문에 FTP 액세스 권한이있는 사용자는 암호화를 중지하게됩니다.

4

나의 이해는 다음 aspnet_regiis.exe 당신이 컴퓨터에 섹션을 암호화하는 경우에 "소금"

로 기계 특정 키를 사용하고, 그것을 다른 컴퓨터에 설정을하고 암호를 해독하려고한다는 것입니다 작동 안 할 것이다.

+0

+1 암호화 된 파일을 다른 컴퓨터로 옮기는 것에 관한 언급. – Andrew

4

이전에는 브라우저 나 웹 서버 소프트웨어에서 사용자가 서버의 하드 드라이브에있는 파일을 볼 수있는 악용 사례가있었습니다. 이와 같은 경우에는 암호화 된 web.config 파일을 사용할 수 있습니다. 그러나 서버 자체에 대한 원격 액세스를 허용하는 웹 서버가 손상된 경우 암호화 된 web.config 파일을 갖는 것이 가장 이상한 일은 아닙니다.

+0

동의. 암호 및 기타 민감한 정보를 소스 제어에서 제외하는면에서 더 많은 것을 생각하고 있습니다. – danludwig

관련 문제