지금까지 웹사이트를 만들어보았다. 여러분의 사이트가 유명해져 방문자수가 많아지거나 높은 수익을 올리는 행복한 상상을 해보자. 그러면 한편으로는 내 사이트를 노리는 해커들의 공격으로 인해 금전적, 심리적 피해를 입는 끔찍한 상상도 하게 된다.
그러한 불상사를 막기 위해 “보안” 관련 공부도 꾸준히 해주어야 한다. 오늘은 웹사이트 보안의 첫 걸음으로 SSL인증서 설치에 대해 알아보자.

HTTP? HTTPS?

인터넷 환경에서 여러 사이트를 방문해보면 어떤 사이트는 http://~로 시작하고 어떤 사이트는 https://~로 시작하는 것을 쉽게 볼 수 있다. 이 둘의 차이는 무엇일까?

눈에 띄는 차이는 바로 주소창에 “자물쇠” 아이콘의 유무이다.
https로 시작하는 사이트는 자물쇠 아이콘이 생긴다.
누가봐도 https로 시작하는 사이트가 http로 시작하는 사이트 보다 안전해보인다.

https:// 로 시작할때
http:// 로 시작할때

원래 HTTPS는 사용자 정보의 유출에 대한 안정성으로 인해 고객의 정보를 다루는 전자상거래 사이트 위주로 사용했다고 한다.
2014년부터 구글이 HTTPS 사용을 권고하고 HTTPS를 적용한 사이트에는 검색엔진최적화(SEO)에 가산점을 준 이후로 대부분의 사이트가 HTTPS를 적용한다.

HTTPS는 기존 HTTP 프로토콜에서 SSL(Secure Sockeet Layer)을 통해 복호화(암호화)하여 보안이 보장된 통신을 하는 프로토콜이다.
즉, PC통신 중간에 해커가 가로채더라도 해커는 정보를 알 수 없다.

출처: https://seopressor.com/blog/http-vs-https/
출처: https://www.instantssl.com/compare-tsl-ssl-certificates

그렇다면 기존의 HTTP 사이트에 SSL을 어떻게 적용해야 할까?

SSL 인증서 설치 (AWS 라이트세일 기준)

  1. AWS 라이트세일에 접속해서 인스턴스를 클릭한다.
라이트세일 – 인스턴스 클릭

2. “SSH를 사용하여 연결”을 클릭한다.

연결 – SSH를 사용하여 연결 클릭

3. 명령어 sudo /opt/bitnami/bncert-tool 를 입력한다.

명령어 입력

4. 버전 업데이트를 할 것인지 물어보면 y를 입력하고 엔터를 친 후, 명령어 입력라인이 다시 나타나면 처음에 쳤던 명령어 sudo /opt/bitnami/bncert-tool를 입력해준다.

업데이트하고, 다시 명령어 입력

5. 도메인 리스트를 입력하라고 나오면, 본인 사이트의 루트도메인인 도메인.com과 서브도메인인 www.도메인.com을 둘 다 입력한다. (만약 서브 도메인 하나만 등록하고 싶으면 서브 도메인명만 입력해도 된다)

도메인 리스트에 루트 도메인과 www가 붙은 서브도메인을 입력

6. SSL인증서 설치에 대해 동의를 물을 것이다. 동의하자

리다이렉션 동의

7. Let’s Encrypt 구독을 할 것인지 물으면, 자유롭게 선택하면 된다.
필자는 그냥 구독했다.

이메일 구독

8. 약 3분 정도 기다리면 설치가 완료된다.

설치 성공을 알리는 Success 문구

참고로, SSL인증서를 3개월마다 한번씩 업데이트 해야하지만 AWS 라이트세일에서 비트나미를 설치한 경우 3개월에 한 번씩 자동 업데이트가 된다고 한다.

SSL 인증서 설치 확인

SSL 인증서를 설치한 도메인 주소에 접속하여 제대로 설치되었는지 확인해보자.
브라우저 창에 https://도메인주소.com으로 접속되는지 확인해보자.
된다면 성공한 것이다.

아직 해결하지 못한 문제점 (이제 해결한 문제)

워드프레스 멀티사이트로 인스턴스를 생성하고 운영한다면, 싱글 워드프레스에서 SSL인증서 설치할 때처럼 HTTP를 HTTPS로 자동 리다이렉션 기능을 bitnami에서 같이 설치해주지 않는다.
필자도 여전히 해결하지 못하던 중, 한 줄기 빛처럼 한 블로거의 글이 눈에 들어왔고 시도해보고 있다. (필자 블로그에는 적용이 안되는데 이유가 뭔지 모르겠다…)
<해결>
블로거 dobiho가 “Really Simple SSL” 플러그인을 통한 리다이렉션을 하면 된다고 하였다. 실제로 설치해서 활성화하니 잘 된다!

위 내용 중 잘못된 정보가 있거나, 바뀐 정보가 있으면 언제든지 댓글로 알려주시면 감사합니다.

[도움을 주신 블로거]
1. dobiho
2. ITer
3. 깊게자라기

5 글이 마음에 드시면 하트를 눌러주세요! 당신도 저도 행복해져요!

“블로그 제작 5편 : HTTPS (보안)”의 1개의 댓글

  1. 너무 상세한 설명 감사합니다.

    aws 처음 설치했는데 ssl 설정때문에 애먹었습니다.

    알려주신대로 설정하는데 문제가 조금 있긴했으나, 위에 언급된 블로그를 통해서 설치를 완료할 수 있었습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.