2013-06-23 3 views
2

WPF/C# 데스크톱 응용 프로그램을 사용하고 있는데 고정 IP 주소로 인터넷을 통해 데이터베이스 서버에 연결해야하지만 경우에 따라 잘못된 인터넷 핑 및 대기 시간 때문에 SQL 연결 예외가 발생합니다.인터넷을 통한 SQL 연결 : 좋은 습관?

또한이 문제로 인해 발생할 수있는 보안 위험을 알고 있습니다. 저는 이미 모든 쿼리를 매개 변수화하고 암호화와 연결하고 있습니다.

이렇게 생각하기 시작합니다. 이것은 좋은 습관입니까? 보안과 성능을 높이려면 어떻게해야합니까?

+0

일반적으로 클라이언트와 데이터베이스 간의 웹 서비스가됩니다. WCF는 중간에이 레이어를 시작하고 쓰는 빠른 방법입니다. –

답변

2

아니요, 인터넷을 통해 SQL 서버를 노출하는 것은 좋은 생각이 아닙니다. 데이터를 자유롭게 사용할 수 있고 퍼블릭 도메인이 아니라면 (누군가가 예상 한 것 이상으로 액세스 할 수 있는지 여부는 중요하지 않습니다.) 사소한 일입니다. 교체하십시오 (손상되지 않도록 중요합니다). 그리고 심지어 나는 아마 서비스 계층을 사용하고 데이터베이스 서버를 엄격하게 "내부"에 보관할 것을 제안합니다.

다시 암호화 : 중개자가 스누핑하는 것을 방지하지만 사용자가 수행 할 수있는 작업을 제한하지 않습니다. 진정한 액세스 권한을 가진 악의적 인 사용자는 사용자가 원하는 규칙과 필터를 거치지 않고 원하는대로 연결하고 연결할 수 있습니다.

+0

Windows 인증을 사용하지 않고 강력한 암호로 연결을 보호하면 보안이 보장됩니까? – Guilherme

+0

데이터베이스에 연결할 수있는 사용자가 한 명입니다. 다른 모든 사용자를 비활성화하면 보안이 향상됩니까? – Guilherme

+0

@Guilherme 어떻게하면 보안이 향상 될 것이라고 생각합니까? * 당신을 * * 보호하고 있습니까? (또한 : Windows 보안은 아마 덜 SQL 보안 문제) –