it-swarm-korea.com

HTTP에서 HTTPS 로의 게시는 나쁜 습관입니까?

SSL이 데이터를 암호화하고 and 웹 사이트의 로그온 양식을 제공하는 경우 웹 사이트의 신원 및 적법성에 대한 보증을 제공한다고 가정합니다. HTTP를 통해 게시 된 페이지에서도 HTTP를 통해 요청 된 페이지를 피할 수 있습니까?

질문은 내가 어제 암호가 나쁜 사람 에 대해 게시 한 게시물과 관련이 있으며 일부 피드백은 실제로 양식이 안전하게 게시 된 경우 인증 전에 브라우저에 표시된 인증서를 볼 수 없다는 것을 암시합니다. .

내 생각에 이것은 자격 증명을 넘기기 전에 사이트의 적법성을 검증 할 수있는 능력을 잃을뿐만 아니라 _ ​​is에 대한 확신이 없기 때문에 SSL이 짧습니다. _ HTTPS를 통한 게시. 트위터 나 페이스 북 같은 사람들이이 접근법을 취하고 있다는 것을 알고 있습니다. 나는 여기서 뭔가를 간과하고 있습니까? 또는 이것이 권장되지 않는 관행입니까?

pdate :이 질문의 결과와 블로그 게시물의 후속 토론에 대해 자세히 설명했습니다. SSL은 암호화에 관한 것이 아닙니다

64
Troy Hunt

OWASP 상태 :

( http://www.owasp.org/index.php/SSL_Best_Practices 에서 복사 한 그대로)

보안 로그인 페이지
로그인 페이지를 안전하게 디자인하기 위해 고려해야 할 몇 가지 주요 사항이 있습니다. 다음 텍스트는 SSL과 관련하여 고려해야 할 사항을 설명합니다.

로그인은 SSL 페이지에 게시해야합니다 이것은 명백합니다. 사용자 이름과 비밀번호는 SSL 연결을 통해 게시해야합니다. 양식의 action 요소를 보면 https 여야합니다.

로그인 랜딩 페이지는 반드시 SSL을 사용해야합니다 사용자가 양식을 작성하는 실제 페이지는 HTTPS 페이지 여야합니다. 그렇지 않은 경우 공격자는 사용자에게 전송 될 때 페이지를 수정하고 양식 제출 위치를 변경하거나 입력 한대로 사용자 이름/암호를 훔치는 JavaScript를 삽입 할 수 있습니다.

SSL 오류 또는 경고 메시지가 없어야합니다 SSL 경고 메시지가 있으면 오류입니다. 이러한 오류 메시지 중 일부는 합법적 인 보안 문제입니다. 다른 사용자는 맹목적으로 수락을 클릭하기 때문에 실제 보안 문제에 대해 사용자를 민감하게 만듭니다. SSL 오류 메시지가 있으면 허용되지 않습니다. www와 도메인 이름이 일치하지 않더라도 말입니다.

HTTP 연결을 끊어야합니다 사용자가 로그인 페이지의 HTTP 버전에 연결하려고하면 연결이 거부되어야합니다. 한 가지 전략은 HTTP 연결을 HTTPS 연결로 자동 리디렉션하는 것입니다. 이렇게하면 사용자가 보안 페이지로 이동하지만 한 가지 느린 위험이 있습니다. 중간 공격에서 사람을 수행하는 공격자는 HTTP 리디렉션 응답을 가로 채서 사용자를 대체 페이지로 보낼 수 있습니다.

반복하려면 : 로그인 랜딩 페이지는 SSL 을 사용해야합니다

58
Tate Hansen

OWASP 모범 사례의 상태를 정확하게 수행하기위한 자동 도구 를 추가하는 것이 좋습니다. "링크에는 공격에 대한 Black Hat 프레젠테이션이 포함됩니다.

13
PulpSpy

이미 제공된 답변에 추가합니다. HTTPS 이외의 랜딩 페이지를 사용하여 공격자가 사이트를 수정하고 사용자 자격 증명을 얻을 수있는 실제 사례가있었습니다. 이 예 는 내가 본 가장 최근의 것입니다. 이 경우 ISP 수준에서 수행되었지만 무선 핫스팟 공급자 또는 관련 도구를 사용하여 Man-In-The-Middle 공격을 수행하는 모든 사람이 수행 할 수 있습니다.

10
Rory McCune