글 작성자: 써니루루

 

발췌 : http://blog.naver.com/crazydev/130013860087

 

- 암호화

aspnet_regiis.exe -pe connectionStrings -app /Intro20

 

- 암호화 해제

aspnet_regiis.exe -pd connectionStrings -app /Intro20

 

ASP.NET 2.0에서는 DB 연결 문자열등을 손쉽게 암호화 하는 방법을 제공한다.

DB 연결 문자열에는 DB 계정의 ID/PW가 노출되어 있으므로 암호화를 하는 것이 보안상 좋을 것이다.

web.config의 어느 섹션도 다 암호화가 가능하고, 개발자가 따로 해주는 부분은 없다.

 

닷넷 프레임 워크에서 알아서 암호를 풀어서 반환해 주기 때문에 단지 암호화만 하면 된다.

-p 옵션에는 암호화를 하고자 하는 섹션 명을 적어주고 -app 에는 가상 디렉토리 명을

적어 주면 된다.

 

디폴트는 RSA암호화 방식을 사용하는데 이 키가 machine.config 파일에 있다.

하지만 IIS용 계정인 network service 계정이 이 키에 대한 접근 권한이 없다면 에러가 날 수

있는데, 그럴 때에는 아래와 같은 명령어로 권한을 주면 해결이 가능하다.

 

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT Authority\Network Service"

 

참고 사이트) http://msdn2.microsoft.com/en-us/library/ms998283.aspx