HSTS란 무엇입니까?

HSTS는 웹 보안 응답 헤더입니다. 이름은 "HTTP Strict Transport Security"의 약어입니다. HSTS 헤더의 기능은 브라우저가 HTTPS를 사용하여 웹사이트에 연결하도록 하는 것입니다.

팁: HTTPS는 암호화를 사용하여 웹 연결을 수정하거나 모니터링하려는 해커로부터 웹 연결을 보호합니다. HTTP에는 이러한 보호 기능이 없으므로 적절한 위치에 있는 해커가 HTTP 트래픽을 모니터링하고 수정할 수 있습니다.

웹 응답 헤더는 웹 요청에 응답할 때 서버에서 보내는 메타 데이터 조각입니다. 이러한 헤더의 하위 집합은 웹 사이트와 사용자의 보안을 강화하는 것이 목적이므로 보안 헤더라고도 합니다.

HSTS 헤더에는 두 개의 필수 부분과 두 개의 선택적 부분이 있습니다. 헤더 이름 "Strict-Transport-Security"와 "max-age" 연산자 및 값은 모두 필수입니다. 다른 쌍의 연산자인 "includeSubDomains" 및 "preload"도 때때로 사용됩니다.

브라우저가 HSTS 헤더가 포함된 HTTPS 응답을 수신하면 "max-age" 타이머 기간 동안 독점적으로 HTTPS를 사용하여 이 웹사이트와 웹사이트의 모든 리소스에 연결하라는 지시를 받습니다. "Max-age"는 브라우저가 설정을 기억해야 하는 기간을 설명하는 변수입니다. "max-age"의 값은 초 단위로 나열되며 권장 값은 1년인 "31536000"입니다.

각 후속 페이지 로드와 함께 재설정되는 이 타이머의 지속 시간 내에서 브라우저는 HTTPS 연결을 요구하고 모든 HTTP 리소스를 거부합니다. 이는 사용자와 웹 서버 사이의 해커가 사용자가 수신하는 응답을 조작할 수 있는 중간자 공격으로부터 보호합니다.

이것이 당신을 보호하는 주요 지점은 첫 번째 연결입니다. 일반적으로 웹 사이트에 연결할 때 HTTP 웹 사이트를 요청한 다음 HTTPS 웹 사이트로 전달할 수 있습니다. 불행히도 중간자 위치에 있는 해커가 이 HTTPS로의 업그레이드를 방지하고 웹사이트에서 사용자의 활동을 훔치거나 모니터링할 수 있습니다. 그러나 브라우저에서 HSTS 헤더를 본 후에는 브라우저가 HTTPS를 통한 첫 번째 연결도 만들어 해커로부터 사용자를 보호합니다.

HSTS는 또한 HTTP를 통해 전달되는 경우 공격자가 악의적으로 수정할 수 있는 안전하지 않은 리소스가 로드되는 것을 방지합니다.

"includeSubDomains" 연산자는 헤더가 웹사이트의 모든 하위 도메인에도 적용되어야 함을 나타내는 데 사용됩니다.

HSTS 사전 로드 목록

웹 사이트에 처음 연결할 때 HSTS가 여전히 사용자를 보호하지 않는다는 것을 알 수 있습니다. 여기에서 "예비 로드" 연산자가 등장합니다. 웹사이트는 HSTS 사전 로드 목록에 포함되도록 스스로 제출할 수 있으며, 이 경우 "예비 로드" 연산자는 필수 지표입니다. HSTS 사전 로드 목록은 정기적으로 업데이트되고 브라우저에 저장됩니다. 사이트가 해당 목록에 포함되어 있으면 브라우저는 HSTS 보호를 해당 목록에 적용합니다. 이것은 브라우저가 HSTS 응답 헤더를 보기 전의 첫 번째 연결에서도 발생합니다.

팁: HSTS 사전 로드 목록에 추가하려면 1년 이상의 "최대 연령"이 필요합니다. 

HSTS 관련 문제

HSTS의 주요 포인트 중 하나는 HTTPS 연결에 문제가 있는 경우 오류 메시지를 표시한다는 것입니다. 추가 보안 예방 조치로 사용자는 HSTS 오류 메시지를 우회할 수 없어야 합니다. 일반 HTTPS 오류는 가능하기 때문입니다.

불행히도 회사가 전체 웹 사이트와 웹 사이트에서 사용되는 모든 리소스가 HTTPS를 지원하기 전에 HSTS를 출시하면 문제가 발생할 수 있습니다. 이 경우 사용자는 우회할 수 없는 HSTS 보안 오류 메시지를 보기 시작하여 기본적으로 웹 사이트를 완전히 손상시킵니다. 최악의 부분은 단순히 HSTS 헤더를 제거해도 해당 사용자의 문제가 해결되지 않는다는 것입니다. 사용자의 브라우저는 잠재적으로 몇 달 동안의 "최대 사용 기간" 동안 HSTS를 계속 적용하기 때문입니다.

따라서 헤더를 처음 배포할 때 짧은 "max-age"를 사용하는 것이 매우 중요합니다. 문제가 있는 경우 발견된 짧은 시간 동안만 지속됩니다. 웹사이트가 HSTS와 완전히 호환된다고 확신할 때만 긴 HSTS 타이머를 구성해야 합니다.

팁: "max-age"를 0으로 설정할 수도 있습니다. 이렇게 하면 저장된 HSTS 항목을 보는 모든 사람이 기본적으로 제거합니다. 이는 문제가 있는 경우 도움이 될 수 있지만 사용자가 다시 시도하기로 결정한 경우에만 영향을 미칩니다.



Leave a Comment

Chrome에서 항상 전체 URL을 표시하도록 강제하는 방법

Chrome에서 항상 전체 URL을 표시하도록 강제하는 방법

Chrome은 기본적으로 전체 URL을 표시하지 않습니다. 이 세부 사항에 크게 신경 쓰지 않을 수도 있지만 어떤 이유로 전체 URL을 표시해야 하는 경우 Google 크롬이 주소 표시줄에 전체 URL을 표시하도록 하는 방법에 대한 자세한 지침을 참조하세요.

이전 Reddit을 다시 얻는 방법

이전 Reddit을 다시 얻는 방법

Reddit은 2024년 1월에 다시 디자인을 변경했습니다. 변경된 디자인은 데스크톱 브라우저 사용자가 볼 수 있으며 링크를 제공하면서 기본 피드를 좁힙니다.

한국에서 암호화폐 베팅의 위험과 과제에 대한 이해

한국에서 암호화폐 베팅의 위험과 과제에 대한 이해

아시아는 카지노와 베팅 애호가들에게 큰 허브 역할을 하고 있습니다. 카지노 업계에서 암호화폐가 부상하면서 다양한 지역의 플레이어가 카지노 게임에 쉽게 참여하고 즐길 수 있게 되었습니다.

Google Lens를 사용하여 교과서의 콘텐츠를 복사하는 방법

Google Lens를 사용하여 교과서의 콘텐츠를 복사하는 방법

책에서 가장 좋아하는 인용문을 Facebook에 입력하는 것은 시간이 많이 걸리고 오류로 가득 차 있습니다. Google 렌즈를 사용하여 책의 텍스트를 기기로 복사하는 방법을 알아보세요.

Chrome에서 서버 DNS 주소를 찾을 수 없는 문제 수정

Chrome에서 서버 DNS 주소를 찾을 수 없는 문제 수정

때때로 Chrome에서 작업할 때 특정 웹사이트에 액세스할 수 없고 "Fix Server DNS 주소를 Chrome에서 찾을 수 없습니다"라는 오류가 표시됩니다. 문제를 해결하는 방법은 다음과 같습니다.

Google Home에서 알림을 만드는 방법에 대한 빠른 가이드

Google Home에서 알림을 만드는 방법에 대한 빠른 가이드

알림은 항상 Google Home의 주요 특징이었습니다. 그것들은 확실히 우리의 삶을 더 쉽게 만들어줍니다. 중요한 심부름을 놓치지 않도록 Google Home에서 알림을 만드는 방법을 빠르게 살펴보겠습니다.

넷플릭스: 비밀번호 변경

넷플릭스: 비밀번호 변경

선호하는 브라우저나 Android 앱을 사용하여 Netflix 스트리밍 비디오 서비스의 비밀번호를 변경하는 방법.

귀하(또는 다른 사람)가 Facebook에 가입한 날짜를 찾는 방법

귀하(또는 다른 사람)가 Facebook에 가입한 날짜를 찾는 방법

Facebook이 2023년에 17주년을 맞이했다는 사실을 알고 계셨나요? 시간이 빨리 흘러 여러분의 Facebook 계정이 생각보다 오래되었을 수도 있습니다.

Instagram 노트가 표시되지 않거나 작동하지 않나요? 6가지 해결 방법

Instagram 노트가 표시되지 않거나 작동하지 않나요? 6가지 해결 방법

인스타그램 노트는 인스타그램 사용자가 친구 목록에 있는 사람들이 읽을 수 있도록 짧은 메모를 남길 수 있는 기능입니다. 문제는 일부 사람들이 메시지 페이지에서 메모 옵션이 사라진다고 보고한다는 것입니다.

Snapchat에서 스냅을 재생하는 방법

Snapchat에서 스냅을 재생하는 방법

Snapchat은 사용자가 Snaps라고 하는 사진과 동영상을 친구들과 공유할 수 있는 소셜 미디어 앱입니다. 하지만 친구의 Snap을 놓치고 다시 보고 싶다면 어떻게 해야 할까요?