2014-10-14 1 views
0

회사의 사용자 랩톱에 작은 응용 프로그램이있는 클라이언트 - 서버 응용 프로그램을 작성하고 있습니다.웹 서비스를 피기 백하는 것이 좋습니까?

SQL 데이터를 읽거나 쓸 필요가 있습니다 (아주 적은 양, 마지막으로 누가 마지막으로 로그인했는지 확인하는 쿼리).

내부 SQL 서버를 인터넷의 "모든"호스트에 노출하고 싶지 않지만 (신뢰할 수있는) 인터넷 웹 호스트에서 http 액세스 권한을 얻고 싶습니다. 외부 웹 호스트에서 사용할 수있는 내부 IIS 서버에 웹 서비스를 작성할 계획입니다. 그런 다음 외부 호스트에서 클라이언트의 대상인 두 번째 웹 서비스를 가질 계획입니다.

는 기본적으로 워크 플로가 될 것입니다 :

클라이언트가 웹 서비스를 통해 외부 호스트를 조회 -> 외부 호스트는

복잡한 동안이인가 웹 서비스를 통해 내부 웹 서버에 쿼리, 또는 HTTP를 열지 않도록하기위한 받아 연습 어떤 호스트에서 내 서버로 내 방화벽의 트래픽?

답변

0

이것은 작동 할 수 있지만 다소 복잡합니다. 하나의 웹 서비스를 호스팅하고 네트워크 팀에게 외부면이 노출 된 측면을 노출하고 보호하도록 요청하십시오.

예를 들어, 서버에는 내부 용으로 하나씩, 외부 트래픽 용으로 두 개의 네트워크 카드가있을 수 있습니다. 또한 DNS는 외부 주소를 내부 IP 주소로 라우팅 할 수 있습니다. 문제를 복잡하게 만드는 이유는 웹 서비스를 변경하면 두 곳에서 변경해야하기 때문입니다. 또한 체인에서 두 개의 포인트가 끊어 질 수 있습니다. 구현중인 패턴을 파사드 (facade) 라 부르며 일반적으로 세부 사항을 추상화하기 위해 사용됩니다. 실제로 생각해 보면 세부 사항은 프록시 디자인 패턴의 경우입니다.

내가보기에 또 다른 잠재적 인 문제는이 유형의 서비스가 사용자 이름을 수집하기 위해 더 나쁜 개발자 일부 (HACKERS)에 의해 악용 될 수 있다는 것입니다. 사용자가이 서비스에 대해 권한을 부여하는 방법에 대해서는 언급하지 않으며 설명에서 사용자가 사용할 수 있도록 공개됩니다. 그러나 이것은 당신이 정말로 이것에 대한 충분한 정보를 제공하지 못했기 때문에 직감에 불과합니다.