0

신뢰할 수있는 연결을 사용하지 않을 경우 어떤 위험이 있습니까?SQL Server에 대한 신뢰할 수없는 연결의 위험?

예를 들어 다음과 같은 시나리오가 있습니다. 저는 web.config 내에서 연결 문자열과 SQL 연결을 사용하는 코드가 4-5 줄 밖에없는 매우 간단한 응용 프로그램을 만들고 데이터베이스에 select 명령을 보냅니다. 결과를 인터페이스에 표시합니다.

여기 보안 취약성은 무엇입니까?

편집 :

내가 무엇을 궁금해하는 것은 내가 그것을 사용하지 않을 경우 시스템을 해킹 할 수있는 방법을 몰라, 신뢰할 수있는 연결이 인증 관련이 알아? (내 회사 서버에서 응용 프로그램을 사용하고 응용 프로그램은 공용 응용 프로그램이므로 모든 회사 구성원이 사용할 수 있으므로 로컬 응용 프로그램 인 경우 신뢰할 수있는 연결이 필요한 이유는 무엇입니까?)

답변

3

는 다른 방법으로 주위를보고는 신뢰할 수있는 연결의 주요 장점은 응용 프로그램에서 암호를 관리 할 필요가 없다는 것입니다. SQL Server에 연결할 때 암호가 필요하면 응용 프로그램 사용자 (또는 다른 개발자, 시스템 관리자 또는 외부 컨설턴트 등)가 읽을 수 없도록 암호 또는 연결 문자열을 어디에 두어야합니까? 필요할 때 쉽게 변경할 수 있습니까?

응용 프로그램을 실행할 때 암호를 검색해야하므로 사용자가 액세스해야하기 때문에 파일이나 레지스트리의 암호를 사용자가 읽을 수 있습니다. 또는 시스템 관리자 또는 컨설턴트가 응용 프로그램 구성 파일이있는 파일 시스템에 액세스 할 수 있습니다. 어떤 형태의 암호화로 암호를 난독화할 수도 있지만 암호 해독 키를 보호하고 관리해야합니다. 응용 프로그램에서 암호를 하드 코딩하면 변경하기가 어려우며 일반적으로 상대적으로 안전하지 않은 시스템 (실제로는 의도하지 않은 경우) 인 암호가 소스 제어 시스템에 표시 될 가능성이 높습니다. 시작시 응용 프로그램이 암호를 가져 오지만 서비스에 대한 액세스를 어떻게 든 인증해야하는 웹 서비스를 만들 수 있습니다.

신뢰할 수있는 인증을 사용하면 운영 체제가 인증을 담당하게되므로 모든 것을 방지 할 수 있으며 세계적인 수준의 보안 프로그래머가 아니라면 Windows가 자신보다 더 신뢰할 수있는 메커니즘을 제공한다는 것이 좋습니다.

1

AFAIK, 신뢰할 수있는 연결이 제공하는 추가 보안 계층 ​​만 인증입니다. 트러스트 된 연결을 사용하는 경우 Windows는 Active Directory에서 연결을 인증합니다.

빠른 구글 수율이 링크 :

What is a Trusted Connection?

+0

신뢰할 수있는 연결이 인증과 관련되어 있음을 알고 있습니다. 사용하지 않으면 시스템이 해킹 당할 수 있습니다. (내 회사 서버에서 응용 프로그램을 사용하고 응용 프로그램은 공용 응용 프로그램이므로 모든 회사 구성원이 사용할 수 있으므로 로컬 응용 프로그램 인 경우 신뢰할 수있는 연결이 필요한 이유는 무엇입니까? – HOY

+0

SQL 서버 더 넓은 인터넷에 노출되면 어떻게 든 누군가는 SQL 사용자 이름과 암호를 얻을 수있었습니다. 나는 당신과 동의한다 ... 결코 그것을 사용하지 않는다. – mghaoui

2

나는 내 회사의 서버에서 내 응용 프로그램을 사용하고 응용 프로그램 그래서 모든 회사 구성원이 사용할 수 있습니다, 공공 응용 프로그램입니다, 왜 나는 현지 회사 응용 프로그램의 경우 신뢰할 수있는 연결이 필요 합니까?

신뢰할 수없는 연결의 보안 위험은 SQL Server 암호를 저장하고 응용 프로그램에서 사용하는 방법에 있습니다. 구성 파일이나 프로그램의 하드 코드에 암호를 저장하면 코드에 액세스 할 수있는 다른 개발자가 응용 프로그램을 볼 수 있으며 최악의 경우 응용 프로그램을 손상 시키거나 중요한 정보를 훔칠 수있는 방식으로 데이터베이스를 변경할 수 있습니다. 그것은 프라이버시 침해가 될 것이며 귀하의 회사는 이에 대해 소송을 당할 것입니다 (귀하는 어떤 일이 일어날 지 상상할 수 없습니다).

@Pondlife도 매우 정교합니다.

관련 문제