웹 브라우저는 대상이 http인지 https인지 어떻게 알 수 있나요?

웹 브라우저는 대상이 http인지 https인지 어떻게 알 수 있나요?

저는 Wireshark를 사용하여 웹 트래픽을 분석합니다.

웹 브라우저를 열고 주소: stackexchange.com을 입력하면 먼저 DNS 쿼리를 수행하고 응답을 받은 다음 포트 80의 적절한 IP 주소로 TCP Syn 패킷을 보냅니다.

하지만 www.paypal.com을 입력하면 동일하지만 TCP Syn 패킷이 포트 443으로 직접 전송됩니다.

DNS 응답에 대상 포트가 포함되지 않은 것 같고 브라우저와 대상 사이트 간의 프로토콜 협상도 없습니다.내 브라우저는 대상 포트를 어떻게 알 수 있나요?

참고로 저는 입력하지 않습니다http://stackexchange.com또는https://www.paypal.com, 그러나 단순히 stackexchange.com 및 www.paypal.com입니다.

답변1

귀하의 브라우저는 이전에 사이트와 상호 작용한 포트와 프로토콜을 기억합니다.

PayPal은 HTTP 엄격한 전송 보안을 사용합니다. 이는 Strict-Transport-Security:max-age=63072000사용자가 검색을 시작하기도 전에 서버가 응답 헤더를 (아마도 포트 80을 통해) 보냈음을 의미합니다 . 표시된 연령은 초 단위입니다. 따라서 포트 80을 방문한 후 다음 2년 동안 브라우저는 포트 80으로 다시 이동할 필요가 없습니다. 포트 443으로 이동해야 합니다. 실제로 이후에 포트 443을 방문하면 동일한 지침을 받게 되므로 매년 Paypal을 사용하는 사람들에게 무기한 적용됩니다.

이는 포트 80에 대한 각 요청이 더 느린 포트 443으로 리디렉션되는 이전 방식에 비해 개선된 것입니다. 리디렉션을 사용하는 경우 PayPal(또는 Paypal을 가장하는 MITM 공격자)이 갑자기 HTTPS에서 HTTP로 변환하더라도 브라우저는 신경 쓰지 않기 때문에 리디렉션에 의존하는 것도 덜 안전했습니다. HTTP 엄격한 전송 보안 하에서는 공격자가 브라우저와 통신하기 위해 HTTPS를 사용해야 하지만 Paypal에 발급된 HTTPS 서버 인증서에 액세스할 수 없기 때문에 이러한 종류의 공격은 훨씬 더 눈에 띄게 됩니다.

답변2

브라우저는 일반적으로 HTTP를 먼저 시도한 다음 HTTPS로 리디렉션됩니다. 그것은 일반적인 경우이지만 유일한 경우는 아닙니다.

Chrome과 Firefox는 다음 개념을 지원합니다.HTTP 엄격한 전송 보안HTTP URL로 참조되더라도 HTTPS를 통해서만 접속해야 하는 사이트 목록인 사전 로드 목록입니다.

더 자세한 정보를 확인하실 수 있습니다여기.

답변3

Google Chrome, Mozilla Firefox 및 Internet Explorer/Microsoft Edge는 HSTS를 지원하는 알려진 사이트가 포함된 목록인 "HSTS 사전 로드 목록"을 구현하여 이러한 제한 사항을 해결합니다. 따라서 브라우저의 요청은 https에서 직접 해당 HSTS 구성 서버 도메인으로 이동합니다.

그렇지 않으면 http 요청이 있어야 하고 서버가 https로 리디렉션되어야 합니다(HSTS의 경우 서버는 헤더로 응답합니다. HTTPS만 사용: Strict-Transport-Security: max-age=31536000).

답변4

웹 브라우저는 항상 포트 80을 요청하므로 모든 SSL 서비스가 서버 측에 수행된 후 클라이언트가 귀하의 서비스에 연결되면 서버는 연결을 안전한 서비스 또는 "https"로 리디렉션합니다.

관련 정보