2009-12-20 1 views
1

종종 소프트웨어 용 예제 코드에서 연결 문자열이 표시됩니다. mysql : // user @ localhost 은 소프트웨어가 데이터베이스에 접근 할 수 있도록 설정 파일에있다. 이것은 테스트/개발 서버에서는 좋지만 프로덕션에서는 매우 안전하지 않은 것처럼 보입니다. 프로덕션 환경에서이 작업을 수행하는 올바른 방법은 무엇입니까?프로덕션 환경의 구성 파일에 데이터베이스 연결 문자열을 저장하는 올바른 방법은 무엇입니까?

답변

1

프로덕션 서버에서도 마찬가지입니다. 가능한 한 제한된 계정을 사용하여 데이터베이스에 응용 프로그램을 액세스하게하는 것이 좋습니다 (예 : 응용 프로그램에 따라 테이블, 스키마, 데이터베이스를 만들거나 삭제할 수있는 권한이 없거나 읽기 전용 일 수도 있음)), 누군가가 응용 프로그램 서버에 대한 액세스 권한을 얻게되면 데이터베이스 서버에 대한 인증 수준이 "신뢰"(즉, 일부 Windows 유형의 스키마)를 기반으로하더라도 최소한 데이터베이스 서버에 대한 액세스 수준은 거의 얻을 수 있습니다. 공격자는 신뢰할 수있는 호스트에 액세스 할 수 있습니다.

과거의 작업에서 다양한 난독 화 시나리오에 대한 고려 사항을 들었지만 궁극적으로 많은 성과를 내지 못했습니다.

+0

와우, 나는 그것이 우리가 할 수있는 최선이라는 것에 놀랐다. 오히려 불안한 시나리오입니다 ... 난 당신이 동의하는 것은 난독 화가 지금까지 갈 수 있다는 것입니다. –

2

프로덕션 서버를 보호해야하며 임의의 사용자/사용자가 연결 문자열이 포함 된 app.config와 같은 중요한 파일에 액세스 할 수 있어야합니다.

+0

내 걱정은 서버가 손상되어 누군가가 실제로 파일에 액세스 할 수있는 경우입니다. –

관련 문제