워드프레스 HTTPS 무료 SSL/TLS 설치에 관해서

§

(무료로 워드프레스에 HTTPS 설치할 수 있는 방법은 이글 제일 하단에 있습니다. HTTPS 나 HTTP2 자체에 관심없으신 분들은, 글 내용 다 skip 하시고 워드프레스 무료설치 부분만 읽어 보시면 됩니다.)

HTTP2

일단 글을 시작하기에 앞서, 한국에서는 보안인증(HTTPS) = SSL 로 인식하고 있지만 이건 잘못된 이해 입니다. (한국어로 써있는 글들을 보면 SSL 하고 TLS 하고 같은거라고 써있는데 전혀 비슷하지도 않습니다.)

웹사이트를 보안접속 하는 방식은 SSL (Secure Sockets Layer) 과 TLS (Transport Layer Security) 두가지 입니다.

둘다 웹사이트에 적용을 하면 http 에 s 가 붙어 https 로 표시됩니다. SSL 방식이 90년대 먼저 개발되었고, TLS 는 SSL 에서 갈라져 나온 보안상식이라고 생각하면 됩니다.

중요한 차이점은, 현재 SSL 은 취약점이 존재하며 구글에서는 TLS 방식에만 SEO 가산점을 주고 있다는 사실입니다.

https://googlewebmastercentral.blogspot.com/2014/08/https-as-ranking-signal.html

왜 보안 접속이 필요한가?

일단 HTTPS 는 Secure Hyper Text Transfer Protocol 의 약자로서 웹사이트 주소에 https 가 보이면 사이트가 더 안전해 진다는 막연한 인식정도를 갖고 계실텐데요, 이 부분 부터 설명드립니다.

SSL 이나 TLS 나 사이트를 해킹의 위협에서 보호해 주는 것 이 아닙니다. 단지 각 방문자가 사이트에 접속을 할때, 그 연결 (connection) 을 대칭키 비교와 토큰 binding 을 통해 (TLS 의 경우), 실제 사이트에 접속했는지, 아니면 URL spoofing 을 하는 가짜 사이트에 접속이 된건지 확인이 가능하다는 것 뿐 입니다. 다시말해 사이트 피싱 방식의 해킹만을 막아주는 protocol 인 것 입니다. 사이트 피싱이란, 피해자의 브라우져에 악성스크립트를 심어서 피해자가 자신의 은행사이트에 접속했다고 이해하게 만들고, 실제는 개인정보를 빼내기 위해 구축된, 그 은행과 같은 모습의 위장사이트로 피해자를 유도/유인하는 기법을 말합니다.

보안접속이 설치되었다고 사이트가 XSS, CSRF, XSRF 같은 해킹으로 부터 안전해 지는 것은 아닌것 입니다.

하지만 XSS 나 CSRF 같은 해킹은 사이트내에 어떤 취약점이 존재해야 해킹이 가능해지는데 반해, 사이트 spoofing 같은식의 해킹은 사이트에 아무런 문제가 없어도, 외부적 장치 (예를들자면 방문자의 브라우져에 심어져 있는 악성스크립트) 를 통해 피해를 줄수 있기 때문에 HTTPS, 보안접속이 필요해지는 것 입니다/또는 경우에 따라 요구되는 것 입니다.

마지막으로, 현재 SSL 방식은 여러가지 취약점이 존재합니다. SSL 의 최종버전인 SSLv3 의 경우에도 man in the middle 방식의 공격에 (대표적으로 POODLE) 대응하지 못합니다.

참조문헌 : https://www.openssl.org/~bodo/ssl-poodle.pdf

ROAD MAP

HTTP2 와 HTTPS 의 관계

HTTP2 에 대한 설명은 위키에 이렇게 기재되어 있습니다.

HTTP/2(Hypertext Transfer Protocol Version 2)는 월드 와이드 웹에서 쓰이는 HTTP 프로토콜의 두 번째 버전이다. SPDY에 기반하고 있으며, 국제 인터넷 표준화 기구(IETF)에서 개발되고 있다. 1997년 RFC 2068로 표준이 된 HTTP 1.1을 개선한 것으로, 2014년 12월 표준안 제안(Proposed Standard)으로 고려되어, 2015년 2월 17일 IESG에서 제안안으로 승인되었다. 2015년 5월, RFC 7540로 공개되었다.

https://ko.wikipedia.org/wiki/HTTP/2

아주 간단하게 요약하자면 HTTP2 는 인터넷에서 웹사이트가 연결되는 방식을 개선한 새로운 프로토콜이라고 할 수 있습니다. prefetch, multiplexing 같은 기법을 통해 인터넷을 더 효율적이고, 스마트하고, 빠르게 만들어 주는 기술인 것 입니다.

그런데 HTTP2 는 사이트가 HTTPS 인 경우에만 작동됩니다.

또 하나, 현재 IE 브라우져는 HTTP2 지원을 하지 못합니다. (마소의 기술력이 부족해서.)

IE11 도 OS 가 윈도우 10인 경우에나 HTTP2 지원이 가능해 집니다.

http://caniuse.com/#feat=http2

그러니 웹사이트가 https 가 설치되어 있더라도, 방문자의 브라우져가 IE11 이하라면 웹사이트가 작동도 되지 않게 되는 것 입니다. (물론 방문자의 브라우져에 따라 HTTP2 가 아닌, HTTP 로 작동되게 구축할 수 있으나, 그 비용을 누가 감당하죠? 마소 때문에 발생하는 추가비용이니 마소에서 그 돈 지원해주나요? 물론 그럴일은 없습니다.)

그래도 미리 HTTPS 를 설치해 두면, 나중에 HTTP2 를 모든 브라우져가 지원하게 될때 이득이 되지 않을까? – 라고 생각하실 수 있는데,

일단 비용문제 보다는, 이 HTTPS 인증이 매년 갱신되어야 합니다. (개귀찮습니다.)

무료 HTTPS 인증을 제공하는 Let’s Encrypt 의 경우, 90일마다 갱신이 되어야 합니다. ㅋㅋㅋ 켁.

lets-encrypt

두번째, HTTPS 는 두번에 걸쳐 handshake (확인과정) 을 거치기 때문에 사이트 로딩속도가 최소 0.5초에서 그 이상으로 느려질 수 있습니다.

그래서 결론부터 말씀드리자면, 필요없으면, 다시말해 온라인 쇼핑몰 같은 경우라서 정부기관이나 PG 사에서 HTTPS 를 요구하는게 아니라면, ‘HTTP2 가 모든 브라우져에서 작동할때까지 HTTPS 는 설치를 하지 않는게 좋다.’ 입니다.

많이 기다리셨습니다. 이제 워드프레스에 관련된 내용입니다.

ogp-nghttpx-650x341

일단 한국에서 온라인 쇼핑몰을 운영하시는 경우, 그래서 HTTPS 가 꼭 필요하신 경우, 또 HTTPS 때문에 따로 돈들이기 싫으신 운영자 분들은 최진영님의 블로그 글을 참고하십시오.

https://wpu.kr/tip/lets-encrypt-beta/

“설치는 초딩도 가능한 수준입니다.” – 제 주장이 아니라 최진영님 께서 이렇게 주장하시는 것 입니다. (정말 쉬워요.)

초딩도 설치할 수 있을정도로 쉽지만, 플러그인 없으면 아무것도 못하시는 분들을 위해 (코딩한줄이라도 하면 큰일 나는 줄 아시는 플러그인 성애자 분들이 계시죠.), Let’s Encrypt 워드프레스 플러그인도 존재합니다.

https://github.com/tollmanz/lets-encrypt-wp

문제는 이 플러그인이 아직 완성이 되지 않았다는 점 인데, 아마 아무리 늦어도 올해안에 완성될 겁니다. 플러그인 성애자 분들은 플러그인 완성될때까지 기다리시면 됩니다.

이 플러그인은 개 귀찮은 인증갱신도 자동으로 처리해줄 예정입니다.

Tags: , , , , ,

카테고리: , ,

Ω
  • http://ranker.kr/ 랭커(ranker)

    좋은 정보 감사합니다. 지금 당장은 쓸 형편이 안되지만… 나중을 위해 이 글도 즐겨찾기 등록!!! ^^;;

  • Veteran

    Let’s Encrypt 경우 인증서 갱신도 간단합니다. 설치와 동일한 한 줄의 명령이면 알아서 해줍니다. 만료 전 일정 주기로 인증서 만료에 관한 메일도 오더라고요. 옵션 하나 정도만 다를 뿐 Apache, Nginx 모두 같다고 생각해도 문제 없습니다.

    인증서를 설치할 때 Cron에 갱신 스크립트를 넣어 두면 주기를 쉽게 맞출 수 있고, 자동으로 갱신되므로 걱정할 문제는 아닌거 같아요. 지금은 갱신 과정이 어떻게 되는지 경험하기 위해 크론 설정은 하지 않고 있는데 아파치는 얼마전 직접 갱신해봤는데 흠.. 뭐 할 일이 없어요. 그냥 한 줄만 입력하는 것으로. ‘한 줄’이라기 보다는 ‘몇 글자’로 표현하는 것이 적절할 정도.

    Let’s Encrypt 인증서는 플러그인보다 직접 설치, 설정하는 것이 좋지 않을까 합니다. 공유 호스팅에서 지원하는지는 모르겠으나 현재 사용중인 분들이 있다면 일정 지식이 있거나 서버를 운영중이라는 가정에서 일도 아닌 일로 볼 수 있을 정도에요.

    일반 유료 인증서 갱신이 어떻게 되는지, 구입은 대신 해본적이 있지만 갱신한 적이 없어서 모르겠는데 번거로운 일이 많은가 보네요.

    • http://hackya.com Matthew

      네 개귀찮아요.

      지금도 갱신하라고 이메일 하나 들어 왔네요.

      SSL 만료된다고 이메일 들어오고, 연장하러 사이트 가면 User ID 하고 비번이 뭔지 당연히 기억하고 있을리가 없고, 그래서 전화해서 User ID, 비번 다시 세팅해달라고 하고, 그거 이메일 받으면 로그인 해서 들어가서 크레딧 카드로 결제해주고, 코드 받아서 다시 웹사이트 적용하고…

      일년에 이짓을 10번도 넘게 한다고 생각해 보세요. 공짜로 SSL 준다고 해도 하기 싫죠. ㅎㅎㅎ

  • http://www.thewordcracker.com/ Word

    http에서 https로 바꾸니까 디스커스 댓글이 표시되지 않네요.

    이 경우 어떻게 https 주소에서도 표시되도록 할 수 있을까요?

    https://woorkup.com/migrate-disqus-comments-https/ 글에서처럼 마이그레이션 툴을 사용하여 마이그레이션하면 될까요?

    • http://hackya.com Matthew

      디스커스 댓글이 왜 표시되지 않는지 잘 모르겠습니다. 제 경우 아무런 migration 없이 처음부터 댓글이 https 에서 잘 표시 되었었거든요. 댓글을 migration 해야 하는지도 지금 처음 알았습니다.

      • http://www.thewordcracker.com/ Word

        표시되는 댓글도 있고 안 되는 댓글도 있네요.

        링크된 글대로 하니까 마이그레이션하는 데 24시간까지 걸릴 수 있다는 메시지가 표시되네요.