2011-12-17 2 views
4

이 설정은 얼마나 안전할까요?안전하지 않은 페이지에서 SSL을 통한 XMLHttpRequest

보안되지 않은 페이지 'http://www.site.com이'페이지 dosomething.asp이있다

'https://www.site.com/dosomething.asp'URL에 POST 과 XMLHttpRequest를하게 'Access-Control-Allow-Origin : http://www.site.com'헤더를 으로 설정하고 보안이 필요한 사용자 관련 데이터를 반환합니다.

오류없이 모두 잘됩니다.

실제 POST 요청의 보안 수준은 어느 정도입니까? 이 요청의 responseText는 얼마나 안전합니까?

+3

비 SSL 구성 요소를 응용 프로그램에 도입하자 마자 SSL의 모든 이점을 잃게됩니다. 당신은 가장 약한 부분만큼이나 안전합니다. 이것이 브라우저가 사용자에게 보안 경고로 혼합 된 SSL/비 SSL 콘텐츠를보고하는 이유입니다. – Cheekysoft

답변

4

내가 볼 수있는 가장 중요한 문제는 안전하지 않은 페이지가 안전하지 않다는 것입니다 (확인, 분명). 누군가가 보안되지 않은 페이지에 중간자 (man-in-the-middle) 공격을 시도하면 JavaScript 인젝션 등을 사용하여 페이지의 기능을 편집하여 보안 URL과주고받는 내용을 가로 챌 수 있습니다. 보안 모드 (SSL/TLS)에서 두 페이지를 모두 사용하는 것이 가장 좋습니다.

+0

좋아, 여기는 내 생각이다 - 어쩌면 내가 틀렸어. 비보안 페이지에는 두 개의 formfield 사용자 이름과 비밀번호가 있다고 가정 해 보겠습니다. SSL을 통해서만 dosomething.asp에 연결되며 responseText가 안전하다면 기본 개인 정보 보호 요구 사항을 충족 할만큼 안전하지 않은 것보다 안전합니까? – user980261

+0

응용 프로그램에서 개발하거나 그에 대해 책임을지지 않습니다. 귀하의 접근 방식은 네트워크를 통해 "눈길을 사로 잡는"데이터를 안전하게 보호 할 것입니다. 그러나 위에서 언급하지 않았지만 원본 페이지를 보호하지 않으면 누군가가 요청과 응답을 가로 채기 위해보다 쉽게 ​​악용 할 수있는 열린 경로를 유지하게됩니다. 그렇게하지 않는 한 좋은 이유가 없다면 두 페이지의 보안을 강력히 권장합니다. 또한 사용자가 실제로 데이터를 입력 할 때 웹 브라우저가 "보안 모드"로 표시되므로 사용자에게 자신감이 추가됩니다. – ziesemer

+0

좋아, 할 수있는 일은 ...이 설정에서 가장 긴급한 문제를 해결하려면 ...이 설정을 어떤 이유로 든 변경할 수없는 경우? 브라우저 "보안 모드"는 사용자에게 보여줄 중요성이 없습니다 ...이 경우. – user980261

2

SSL 구성 요소를 응용 프로그램에 도입하자 마자 SSL의 모든 이점을 잃게됩니다. 당신은 가장 약한 부분만큼이나 안전합니다. 이것이 브라우저가 사용자에게 보안 경고로 혼합 된 SSL/비 SSL 콘텐츠를보고하는 이유입니다.

-2

Wireshark는 네트워크를 통해 이동하는 네트워크 패킷을 모니터링하는 프로그램입니다. 그것은 무료이며 인기가 있습니다. 이 질문에 답하는 확실한 방법은 Wireshark를 얻고, 하루를 배우고 그것을 적용하는 것입니다.

원본 사이트의 트래픽을 볼 필터 것이다 : & & (ip.dst == 대상의 IP 주소])

(ip.src == 소스 IP 주소])

돌아 오는 것을보기 위해 ip.src와 ip.dst를 바꿉니다. 실제로 실제로 하나의 필터 식에서 두 필터를 결합 할 수 있습니다.

이것은 패킷이 이동하는 네트워크를 통해 제공되는 경우 작동합니다.

마지막으로 항목 : http://www.mitre.org/news/the_edge/february_01/steve.html

내가 비슷한 상황의 종류 Wiresharked, 내가 보내고 TLS (HTTPS) 트래픽을 수신했다 확인 : 여기에 PKI (HTTPS/SSL/TLS)을의 설명입니다. 그러나 나는이 상황이 아니므로 추측하고 싶지 않습니다.

+0

당신이 여기서 무엇을 말하려고하는지 확실하지 않습니다. 이러한 XHR이 HTTPS를 통해 전송된다는 사실은 전체 설정이 안전하다는 것을 의미하지 않습니다 (@ ziesemer의 대답 참조). 이 문제는 다음과 매우 유사합니다. http://stackoverflow.com/a/8893704/372643 – Bruno

+0

Wireshark를 사용하면 데이터가 TLS로 암호화되었는지 여부를 사용자가 실제로 확인할 수 있습니다. Wireshark는 익숙해 져 있지만 네트워크 트래픽을 검사하는 데 매우 유용한 도구입니다. https 방문 페이지에서 로그인 자격 증명을 보냅니다. 그것은 모두 https를 넘습니다. 네트워크 트래픽을 보면 데이터가 TLS로 암호화되어 있음이 분명합니다. 그러므로 그것은 안전합니다. – kermit

+0

또한, 나는 차선의 상황을 최대한 활용하려고 노력합니다. 아마도 포스터는 AES 암호화를 조사 할 수 있습니다. http://msdn.microsoft.com/ko-kr/magazine/cc164055.aspx -이 기술은 전송 보안이 필요한 응용 프로그램에서 좋은 효과를 나타 냈습니다. – kermit