커뮤니티 팁 - 보안 faq

게시하기 전에 읽어주세요

이 게시물과 이 게시물에 연결된 게시물을 검토하고 오른쪽 상단의 :search:를 이용하여 문제를 검색하세요. 이 커뮤니티 팁에는 SSL/TLS와 관련하여 가장 자주 하는 질문에 대한 질문과 답변이 있으며 :search:로 도움말과 인사이트를 추가로 확인할 수 있습니다.

배경
이 보안 FAQ에서는 Cloudflare Spectrum, Cloudflare Access, Free Universal SSL, 에지 인증서, 자체 서명 인증서, 원본 인증서, TLS, HSTS와 함께 SSL/TLS 앱의 모든 내용을 다룹니다.

리디렉션 루프
Cloudflare SSL/TLS 앱의 개요 탭에서 유연한 SSL 모드를 사용하고 있으며 원본에서 HTTPS를 강제 적용하고 있을 경우, 이 점이 문제의 원인일 가능성이 가장 큽니다. 유연한 SSL 모드는 원본과 Cloudflare 사이에 오고 가는 트래픽을 암호화하지 않고 작동합니다. 원본에서 https를 강제 적용하고 있기 때문에, 요청이 동일한 http 요청을 다시 전송하려 하는 Cloudflare로 리디렉션되면서 무한 루프가 발생합니다. 이 문제는 유연한 SSL로 리디렉션 루프가 초래되는 이유는 무엇일까요? 기술 자료 가이드에서 다룹니다.

이 문제를 해결할 옵션이 몇 가지 있습니다.

다음 커뮤니티 튜토리얼에서 SSL에 대해 자세히 알아보세요.
https://community.cloudflare.com/t/step-2-setting-up-ssl-with-cloudflare/94646.

하위 도메인이 너무 긺/사용자 지정 인증서 및 EV(Extended Validation) 인증서
Cloudflare가 사용자의 영역에 Cloudflare "Universal SSL"을 프로비저닝한 다음에는 이러한 인증서가 수준이 하나인 하위 도메인에만 적용된다는 점을 기억하세요(*.example.com 가능, *.*.example.com 불가능).

  • 작동함 - www.example.com
  • 작동함 - example.com
  • 작동함 - test.example.com
  • 작동하지 않음 - www.test.example.com
  • 작동하지 않음 - staging.www.example.com

수준이 여러 개인 하위 도메인에 적용할 수 있는 인증서가 필요하다면 사용자 정의 호스트 이름이 있는 전용 SSL 인증서를 결제하면, 결제하는 동안 수준이 여러 개인 하위 도메인을 선언할 수 있습니다.

Cloudflare에서 프로비저닝하는 Universal SSL 인증서 말고 자체 인증서를 사용하고 싶다면 Business 요금제로 업그레이드하고 사용자 지정 인증서를 업로드해야 합니다.

현재 Cloudflare에서는 “EV(Extended Validation)” 인증서를 사용하지 않습니다. 이 인증서를 사용하려면 별도로 구매하여 사용자 설정 SSL 업로드를 이용해 Cloudflare 계정에 업로드해야 합니다.

선택 사항으로 고급 인증서 관리자를 구매하고 사용자 지정 호스트 이름으로 전용 인증서를 생성할 수 있습니다.

고급 인증서 관리자 이해
전용 SSL 인증서 관리

지원되는 클라이언트(SNI만 해당)

유료 요금제(Pro, Business, Enterprise)의 SSL 인증서는 모든 데스크톱 브라우저에서 작동하므로 호환성이 걱정되거나 구형 브라우저 사용자가 많을 경우에는 유료 요금제로 업그레이드할 것을 권장합니다.

전용 인증서와 Universal SSL은 모두 타원곡선 디지털 서명 알고리즘(ECDSA)으로 서버 이름 표시(SNI) 인증서를 사용합니다. SNI 및 ECDSA 인증서는 다음과 같은 최신 브라우저에서 작동합니다.

Windows Vista 또는 OS X 10.6 이상에 설치된 데스크톱 브라우저:

  • Internet Explorer 7
  • Firefox 2
  • Opera 8(TLS 1.1 사용)
  • Google Chrome v5.0.342.0
  • Safari 2.1

모바일 브라우저

  • iOS 4.0용 Mobile Safari
  • Android 3.0(Honeycomb) 이상
  • Windows Phone 7

Cloudflare를 통해 웹 사이트와 연결하려면 사이트와 통신하는 API 서비스나 결제 게이트웨이도 SNI 및 ECDSA를 지원해야 합니다.

SSL 모드 - 원본에 대한 SSL

Cloudflare는 다음 SSL 모드를 제공합니다.

  1. 유연한 SSL: Cloudflare 에지 서버에서 SSL이 종료됩니다. 클라이언트와 Cloudflare 사이의 모든 트래픽은 암호화되며, Cloudflare와 원본 사이에서는 암호화되지 않습니다. 인증서가 필요하지 않습니다.
  2. 전체 SSL: Cloudflare 에지 서버에서 SSL이 종료됩니다. 그리고 다시 암호화되어, 모두 암호화된 상태로 고객의 서버로 전송됩니다. SSL 인증서가 서버에 설치되어 있어야 합니다. 자체 서명 인증서를 이 옵션에서 이용할 수 있습니다.
  3. 전체 SSL(엄격): 전체 SSL과 동일하지만, GlobalSign 같이 CA가 서명한 인증서가 있어야 합니다. 전체 엄격 모드를 활성화하려면, 호스트에서 무료 Cloudflare 원본 인증서를 설치할 수 있습니다.

Cloudflare의 SSL 설정에 관한 전체 개요는 [여기](https://support.cloudflare.com/hc/en-us/articles/200170416)를 참조하세요.

전체 또는 전체(엄격) 구성 옵션을 사용하려면 원본 웹 서버에 인증서가 있어야 합니다.

전체(엄격) 옵션을 사용하면 이 SSL 인증서가 유효해야 하며 인증 기관의 서명을 받았거나 Cloudflare 원본 CA 서비스를 사용하고 있어야 합니다.

혼합 콘텐츠 오류 및 리디렉션 루프

HTTPS로 연결 시 브라우저에 녹색 자물쇠가 누락되어 있다면 혼합 콘텐츠 오류일 수 있습니다. 혼합 콘텐츠 오류는 현재 웹 사이트가 HTTPS로 로드되고 있지만, 일부 리소스가 HTTP로 로드되고 있다는 뜻입니다. 이를 해결하려면, 원본 코드를 수정하여, 모든 리소스를 상대 경로 또는 HTTPS를 직접 통하도록 변경해야 합니다.

예를 들어 전체 URL로 이미지를 로드하고 있을 경우,

<img src="http://example.com/image.jpg" />

다음과 같이 바꿔야 할 것입니다.

<img src="//example.com/image.jpg" />

http:를 삭제하면, 브라우저는 방문자가 이미 이용하고 있는 프로토콜을 이용하게 됩니다. 자세한 내용은 이 문서를 참조하세요. 다른 방법으로는 이러한 섹션에서 http를 https로 자동 대체하는 Mixed-Content Fixer 플러그인을 설치할 수 있습니다. Wordpress의 경우, SSL Insecure Content Fixer 플러그인이 효과가 있었습니다.

이러한 오류를 잠재적으로 자동 해결할 수 있는 Automatic HTTPS Rewrites 기능을 활성화하는 것도 또 다른 방법입니다. JavaScript나 CSS로 로드되는 리소스는 자동으로 다시 쓰기가 되지 않으며 혼합 콘텐츠 경고가 계속될 수 있으니 이 점을 유의하시기 바랍니다.

Cloudflare의 유연한 SSL 서비스를 사용하는 사용자에게 이러한 문제가 관련되는 경우가 많습니다. Cloudflare 대시보드에 로그인하고 SSL/TLS 앱의 개요 탭을 클릭한 다음 SSL 설정으로 가면 Cloudflare SSL 서비스를 전체 모드로 사용하고 있는지, 유연한 모드로 사용하고 있는지 확인할 수 있습니다.

유연한 SSL 사용자

유연한 SSL 모드는 원본과 Cloudflare 사이에 오고 가는 트래픽을 암호화하지 않고 작동합니다. 원본에서 https를 강제 적용하고 있기 때문에, 요청이 동일한 http 요청을 다시 전송하려 하는 Cloudflare로 리디렉션되면서 무한 루프가 발생합니다. 사이트에서 실제로 HTTPS 리디렉션을 적용하고 있는지 확인할 수 있었습니다.

이 문제를 해결할 옵션이 몇 가지 있습니다.

이와 더불어, Cloudflare에서는 X-Forwarded-Proto 헤더를 추가합니다. 이 헤더는 사용자가 사이트를 방문하는 데 이용한 프로토콜에 따라 다음과 같이 http나 https가 될 수 있습니다.

X-Forwarded-Proto: https

유연한 SSL을 설정하고 방문자가 HTTPS를 통해 Cloudflare에 요청할 경우 Cloudflare는 HTTP를 통해 원본에 요청합니다. 이 경우 원본 서버는 이 헤더를 검사해 방문자가 HTTPS를 사용했음을 알 수 있습니다.

인증서가 프로비저닝되지 않음
( example.com ) 및 www.example.com이나 example.com이 오렌지색 구름으로 표시되어 있도록 DNS 앱 레코드를 확인합니다.

Cloudflare Universal SSL 인증서가 프로비저닝되려면 필요한 레코드가 모두 오렌지색 구름으로 표시되어야 합니다. DNS 레코드를 오렌지색 구름으로 설정했다면 Cloudflare Universal SSL 인증서가 프로비저닝되기 시작합니다.

이 방법에 대한 자세한 설명은 아래의 빠른 설정 가이드에서 찾아볼 수 있습니다.

기타 SSL/TLS 오류

Error 520: Web server is returning an unknown error 해결
Error 521: Web server is down 해결
Error 525: SSL handshake failed 해결
Error 526: Invalid SSL certificates 해결

도움이 더 필요한 경우
이 커뮤니티의 다른 Cloudflare 사용자가 도움을 줄 수 있습니다. Cloudflare에 로그인하여 커뮤니티에 질문을 게시하세요. 커뮤니티에 게시물을 올릴 때는 표시된 특정 오류 메시지, 문제가 발생한 URL, 오류 스크린샷, 오류를 재현할 단계 등 정보를 최대한 많이 포함해야 합니다. 도와드릴 수 있도록, 문제를 해결하려고 취했던 조치를 알려주세요.

전문가 의견 환영
이 커뮤니티 팁은 커뮤니티 전문가와 이 문제를 잘 아는 사람들이 의견을 낼 수 있도록 계속 열려 있습니다. “항상 시도해 봐야 할 세 가지 방법”, “먼저 해 볼 방법”, "개인적 경험"과 같은 의견을 주시면 고맙겠습니다.

이 게시물은 Cloudflare 커뮤니티 팁입니다. 다른 팁을 확인하려면 여기를 클릭하세요.

Çevirmek…traduzir…翻译…traducir…Traduire…Übersetzen…:greyg: 이 팁 번역하기

AQSECT 030321