2011-08-04 1 views
0

다른 개발자와 자신이 작업중인 프로젝트에서 시도하고있는 상황이나 실험에 대해 동료 개발자로부터 의견을 얻고 싶습니다.ASP.net MVC를 사용하여 Drupal에서 POST를 처리 할 때의 안전성

우리는 우리가 추가하고있는 새로운 양식을 포함 할 공개 된 드루팔 (Drupal) 기반 웹 사이트를 가지고 있습니다. 그러나 제출 된 데이터를 SQL Server 데이터베이스 중 하나에 저장하려고합니다. 우리는이 시점에서 다른 솔루션을 시도하고 있습니다 만, 우리가 실험하고있는 것은 Drupal 폼을 다른 서버의 MVC 어플리케이션/컨트롤러에 POST하는 것입니다. 양식 자체가 MVC에 직접 게시되는 것이 아니라 게시 된 정보가 Drupal/PHP 모듈에서 서버 측에서 처리되며 내부 네트워크를 통해 두 번째 게시물을 처리합니다.

우리가 말할 수있는 한, 그것은 매력처럼 작동합니다. MVC에서 SQL 로의 SSL 터널링 (PHP에서 MVC 로의 전송)뿐만 아니라 요청 검증 (특정 IP 주소/서버 만 MVC 애플리케이션에 게시하도록 허용)을 수행 할 것입니다. 하지만 내가 다른 것을 놓치지 않았 음을 확인하고 싶습니다. 다른 사람이 비슷한 일을 한 적이 있습니까? 우리는 다른 대안 (ASP.net 웹 서비스, SOAP, JSON 등)을 사용하지만 흥미로운 실험을 제공 할 것입니다. 설치가 쉽고 두 시스템이 다른. 그러나 충분히 안전하지 않으면 사용하지 못할 것입니다.

+0

Drupal 모듈에서 직접 게시물을 처리하지 않는 이유는 무엇입니까? 또한 ASP MVC 서버에 대한 액세스를 제한하여 보안을 확보하는 방법을 보지 못했습니다 ... Drupal 모듈이 게이트웨이로 작동하지 않고 공용 IP가 게시 할 수 있습니까? – dotjoe

+0

우리는 ASP.net MVC 컨트롤러가 공개적으로 공개되지 않으므로 게시물 자체를 숨기려고합니다. 서버 측 (HTML 폼 대신 Drupal/PHP에서 MVC로)을 게시함으로써 클라이언트의 모든 것을 숨길 수 있기를 바랍니다. HTML 폼은 실제로 2 번째 게시물이 서버 측에서 처리되고 나서 MVC로 보내질 때 자신에게 게시되는 것입니다. MVC 애플리케이션은 그 사이에 방화벽을 가지고있어서 Drupal 앱과 MVC 사이의 연결 만 허용합니다. –

+0

나는 당신이 보안하려는 것을 이해하지 못합니다. 당신은 Drupal 서버를 연결 시키지만 모든 Drupal 서버는 게시물을 전달하므로 기본적으로 누구나 Drupal 서버에 게시하고 Asp 서버에 간접적으로 게시 할 수 있습니다. – dotjoe

답변

1

순수한 B2B 보안 관점에서 보았을 때 상당히 견고한 것으로 보입니다. 특정 IP에 대한 수신 연결을 제한하는 방화벽이있어서 IP 스푸핑이 거의 없으므로 공격 소스가 매우 제한적입니다.

귀하의 MVC 응용 프로그램은 DB에 대한 보안 SSL 기반 터널을 제공하므로 전송 계층의 일부가 좋게 보이지만, PHP에서 MVC 로의 일부는 일부 TLS에서도 가능합니다.

주목할만한 단점은 PHP와 MVC 애플 리케이션간에 인증이 표시되지 않는다는 것입니다. 위의 조치는 훌륭하지만 들어오는 요청의 신원을 좀 더 확신 할 수 있습니다.

다른 일반적인 관찰은 이전에 설명한대로 웹 서비스 기반 애프터런스를 추구하는 경향이 있다는 것입니다. app 프로세스에 대한 지갑 응용 프로그램 인 경우 MVC 페이지에 직접 데이터를 게시하는 것이 이상적이지 않습니다. 확실히 순수한 게시물 요청으로 작동하도록 만들 수 있지만 대신 WCF 프로젝트로 만들려고합니다.

+0

피드백에 감사드립니다. 우리는 POST 요청을 포기하고보다 전통적인 웹 서비스/WCF 접근법을 시도 할 것입니다. POST 메소드는 예상대로 작동하지 않습니다 (게시는 잘되었지만 나중에 다른 곳에서 사용하게 될 수도 있습니다). 웹 서비스를 사용하는 것은 길 아래로 더 유연하게 보였다.) –

관련 문제