HTTPS로 사이트 보안 유지

사이트 및 사용자 보호

HTTPS란 무엇인가요?

HTTPS(Hypertext Transfer Protocol Secure)란 사용자 컴퓨터와 방문한 사이트 간에 전송되는 사용자 데이터의 무결성과 기밀성을 유지할 수 있게 해주는 인터넷 통신 프로토콜입니다. 사용자는 웹사이트를 이용할 때 안전한 비공개 온라인 환경을 기대합니다. Google은 사이트의 콘텐츠와 상관없이 HTTPS를 도입하여 웹사이트에 접속하는 사용자를 보호할 것을 권장하고 있습니다.

HTTPS를 사용하여 전송되는 데이터의 보안은 다음과 같은 3중 핵심 보호층이 있는 Transport Layer Security(전송 레이어 보안) 프로토콜(TLS)을 통해 더욱 강화됩니다.

  1. 암호화—교환되는 데이터를 암호화하여 침입자로부터 보호합니다. 즉, 사용자가 웹사이트를 탐색하는 동안 아무도 대화를 '엿들을' 수 없고 페이지에서 활동을 추적할 수 없으며 정보를 도용할 수 없습니다.
  2. 데이터 무결성—데이터가 전송되는 동안 의도적이든 그렇지 않든 모르는 사이에 데이터가 변경되거나 손상되는 일을 방지합니다.
  3. 인증—사용자가 의도된 웹사이트와 통신 중임을 입증합니다. 중간자 공격을 차단하고 사용자의 신뢰를 구축하게 되어 다른 비즈니스 이점으로 이어지게 됩니다.

HTTPS 구현 시 권장사항

강력한 보안 인증서 사용

사이트에서 HTTPS를 사용하도록 설정하는 과정에서 보안 인증서를 발급받아야 합니다. 인증서는 인증 기관(CA)에서 발급하며 웹 주소가 실제로 특정 기관/단체에 속하는지 확인하는 단계를 거침으로써 중간자 공격으로부터 고객을 보호합니다. 인증서를 설정할 때 2048비트 키를 선택하여 높은 보안 수준을 유지해야 합니다. 인증서가 보안 수준이 낮은 키(1024비트)로 되어 있다면 2048비트로 업그레이드하세요. 사이트 인증서를 선택할 때 다음 요소를 고려하세요.

  • 기술 지원을 제공하는 신뢰할 수 있는 CA에서 인증서를 발급받습니다.
  • 다음 중에서 필요한 인증서의 종류를 결정합니다.
    • 하나의 보안 출처에 하나의 인증서 사용(예: www.example.com)
    • 잘 알려진 여러 보안 출처에 여러 도메인 인증서 사용(예: www.example.com, cdn.example.com, example.co.uk)
    • 많은 동적 하위 도메인이 있는 보안 출처에 와일드카드 인증서 사용(예: a.example.com, b.example.com)

서버 측 301 리디렉션 사용

서버 측 301 HTTP 리디렉션을 사용하여 HTTPS 페이지나 리소스로 사용자와 검색 엔진을 리디렉션합니다.

Google에서 HTTPS 페이지를 크롤링 및 색인 생성할 수 있는지 확인

  • robots.txt 파일로 HTTPS 페이지를 차단하지 않도록 하세요.
  • HTTPS 사이트에 메타 NOINDEX 태그를 포함하지 마세요.
  • URL 검사 도구를 사용하여 Googlebot이 페이지에 액세스할 수 있는지 테스트합니다.

HSTS 지원

Google은 HTTPS 사이트에서 HSTS(HTTP Strict Transport Security)를 지원할 것을 권장합니다. HSTS는 사용자가 브라우저의 주소 표시줄에 http를 입력하는 경우에도 HTTPS 페이지를 자동으로 요청하도록 브라우저에 지시합니다. 또한 검색결과에 보안 URL을 표시하도록 Google에 지시합니다. 이와 같은 조치를 통해 사용자에게 보안 수준이 낮은 콘텐츠를 제공할 위험성을 최소화할 수 있습니다.

HSTS를 지원하려면 HSTS를 지원하는 웹 서버를 사용하고 기능을 사용 설정하세요.

HSTS를 사용하면 보안이 강화되지만 롤백 전략이 복잡해집니다. 다음과 같은 방법으로 HSTS를 사용 설정해 보세요.

  1. 먼저 HSTS 없이 HTTPS 페이지를 배포하세요.
  2. 짧은 max-age로 HSTS 헤더 전송을 시작하세요. 사용자 및 기타 클라이언트 모두로부터 트래픽을 모니터링하고 광고와 같은 종속 성능도 모니터링합니다.
  3. HSTS max-age를 천천히 늘립니다.
  4. HSTS가 사용자 및 검색엔진에 부정적인 영향을 미치지 않는다면 원하는 경우 사이트가 대부분의 주요 브라우저에서 사용되는 HSTS 사전 로드 목록에 추가되도록 요청할 수 있습니다.

HSTS 사전 로드 고려하기

HSTS를 사용 설정한 경우, 보안 강화 및 성능 개선을 위해 선택적으로 HSTS 사전 로드를 지원할 수 있습니다. 사전 로드를 사용 설정하려면 hstspreload.org를 방문하여 제출 요건에 따라 사이트를 변경해야 합니다.

일반적인 실수 피하기

TLS를 사용하여 사이트의 보안을 강화하는 과정에서 다음과 같은 실수를 범하지 않도록 하세요.

문제 조치
인증서 만료됨 인증서를 항상 업데이트된 상태로 유지합니다.
인증서가 잘못된 웹사이트 이름으로 등록됨 사이트에서 제공하는 모든 호스트 이름에 인증서를 받았는지 확인합니다. 예를 들어 인증서가 www.example.com만 적용되는 경우, 'www.' 접두어 없이 example.com만을 사용하여 사이트를 로드하는 방문자는 인증서 이름 불일치 오류로 인해 차단됩니다.
SNI(Server Name Indication)가 지원되지 않음 웹 서버에서 SNI를 지원하며 일반적으로 잠재고객이 지원되는 브라우저를 사용하는지 확인합니다. 모든 최신 브라우저에서 SNI를 지원하지만 이전 브라우저를 지원해야 하는 경우 전용 IP가 필요합니다.
크롤링 문제 robots.txt를 사용하여 HTTPS 사이트에서 크롤링을 차단하지 않도록 하세요.
색인 생성 문제 가능한 경우 검색 엔진에서 페이지의 색인을 생성하도록 허용합니다. noindex 메타태그는 사용하지 마세요.
프로토콜이 이전 버전임 이전 프로토콜 버전은 보안 수준이 낮으므로 최신 기능을 갖춘 최신 버전의 TLS 라이브러리를 사용하고 최신 프로토콜 버전을 구현해야 합니다.
보안 요소 혼선 HTTPS 페이지에는 HTTPS 콘텐츠만 삽입합니다.
HTTP와 HTTPS의 콘텐츠가 다름 HTTP 사이트와 HTTPS 사이트의 콘텐츠가 동일한지 확인합니다.
HTTPS에서 HTTP 상태 코드 오류 발생 웹사이트에서 올바른 HTTP 상태 코드를 표시하는지 확인합니다. 예를 들어 접속 가능한 페이지에는 200 OK, 존재하지 않는 페이지에는 404 또는 410을 표시합니다.

추가 도움말

HTTPS 이전 자주 묻는 질문에서 사이트에서 HTTPS를 사용하는 것에 대한 추가 도움말을 확인하세요.

HTTP에서 HTTPS로 이전

사이트를 HTTP에서 HTTPS로 이전하는 경우 Google에서는 URL이 변경되는 사이트 이전으로 취급합니다. 이 경우 트래픽 양에 일시적으로 영향이 있을 수 있습니다. 자세히 알아보려면 사이트 이전 개요 페이지를 참조하세요.

새 HTTPS 속성을 Search Console에 추가하면 Search Console에서 HTTP와 HTTPS를 별개로 처리합니다. Search Console의 속성 간에는 데이터가 서로 공유되지 않습니다.

이전과 관련된 문제를 해결하려면 사이트맵 이전에 관한 문제해결 페이지를 참조하세요.

추가 정보

사이트 내 TLS 구현 관련 세부사항:

이 도움말이 도움이 되었나요?
어떻게 하면 개선할 수 있을까요?