마지막 수정 날짜 : 2018년 12월 27일


* Flexible SSL 은 Cloudflare 에서 CDN 을 사용하는 경우에만 적용된다. 즉, CDN 기능을 사용하지 않는다면 사실상 의미가 없다.

최근에 중국에서 트래픽 가로채기에 대한 기사가 나왔다. 아래 내용 참고.

익명을 요구한 국내 인터넷인프라 전문업체 관계자는 “일반적으로, BGP 하이재킹을 당하면 (그 주체에) 트래픽 모니터링을 당할 위험이 있다는 것이 가장 치명적”이라며 “(차이나텔레콤이 의도적으로 그랬다면) 가로챈 트래픽의 내용을 세세히 들여다볼 수 있었을 것”이라고 설명했다.
출처 : http://m.zdnet.co.kr/news_view.asp?artice_id=20181107160756

다음과 같이 트래픽 모니터링1을 당할 수 있다고 경고하고 있다.
그러면 Cloudflare 의 Flexible SSL 은 과연 무엇일까?

Cloudflare's Flexible SSL
Cloudflare’s Flexible SSL

사진 출처 : https://www.cloudflare.com/ko-kr/ssl/

다음과 같이, 내 서버와 Cloudflare 간 데이터는 암호화 되지 않고, 사이트 이용자(이하 이용자)와 Cloudflare 는 SSL 로 보호받는다.
Cloudflare 와 이용자가 SSL 로 연결되어 있으니 안전하다는 것은 절대 아니다2.

이런 방식의 SSL 은 이용자로부터 하여금 안전하다고 느끼게끔 보일 뿐이다. 위 기사를 읽어보면 알겠지만, 중국 등의 나라나 ISP 측에서 하이재킹 뿐만 아니라 데이터를 다른 값으로 조작하여 Cloudflare 에 재전송을 한다면 어떻게 될까?
이용자는 SSL 을 사용하고 있지만 오히려 서버에서 검증되지 않은 값을 받게 되는 것이다.

보안은 겉핥기식으로 보여지는 것만이 전부가 아니다. 이용자가 안전하게 이용하려면 적어도 Full (Strict) 기능을 이용해야만 한다. 사실상 Flexible SSL 기능은 이용자를 기만하는 행위라고 할 수 있다.

이미 일부 사이트에서 Flexible 방식을 이용한 SSL 을 설정하고 있다. 이런 방식은 위에서 말 한 것처럼 이용자를 기만하는 행위이므로 지양하는 것이 바람직하다.

본인의 사이트에 SSL 을 추가하고 싶다면, SSL 설정 방법 등의 기초적인 부분만은 숙지하고 세팅하는 것이 좋다. 요즘엔 해킹당할 수 있는 위협이 단순하지 않다. 아무리 CDN 을 써서 SSL 을 적용하려고 하더라도 서명 된 인증서3 를 사용해야만 안전하다. Let’s Encrypt 등에서도 무료 인증서를 발급해주고 있으니 되도록이면 인증서는 Self-Signed 가 아닌 제대로 된 인증서를 사용하도록 하자.

참고 1 : https://www.troyhunt.com/cloudflare-ssl-and-unhealthy-security-absolutism/
참고 2 : https://blog.seulgi.kim/2018/02/no-flexible-ssl.html


  1. 모니터링 뿐만이 아니다. 당연하겠지만, 데이터 위·변조도 가능하다는 의미다. ↩
  2. 당연하지만 위에 말한 대로 데이터 위·변조 및 모니터링을 당할 수 있다. ↩
  3. 혹은 Cloudflare 에서 제공하는 인증서를 사용해도 Full (Strict) 기능이 지원 ↩