SSL 인증서란 무엇입니까? 그리고 왜 필요한가요?

끊임없이 성장하는 인터넷 환경에서 사이버 범죄가 증가하고 있으며 웹 사이트를 보호하는 솔루션도 늘어나고 있습니다. 최근 구글은 웹 사이트 소유자가 컴퓨터에서 웹 사이트와의 모든 통신을 암호화하도록하는 HTTPS 프로토콜을 사용 하도록 권장했습니다 .

여러분은 자신의 웹 사이트가 사용자로부터의 어떤 정보도 묻지 않고 내 사이트가 제공하지도 않고 있다고 생각할 수 있습니다. 아무런 통신도 일어나지 않으니 보안이 필요하지 않을거라 생각하실 수 있습니다. 하지만 잘못 생각 하셨습니다.  아래는 전자 상거래 웹 사이트가 아니여도 SSL 인증서가 필요한 이유입니다.

작년 7 월 Google은 안전 조치를 더욱 엄격하게 적용했습니다. Chrome 68의 새로운 버전 인 HTTPS를 채택하지 않은 모든 사이트는 Google에 안전하지 않은 것으로 표시됩니다. HTTPS가있는 웹 사이트는 계속 웹 사이트 URL에 녹색 표시를 표시합니다. 또한 Google은 HTTPS가있는 웹 사이트에 우선 순위를 부여하고 순위를 약간 높입니다. 다음은 SSL이 중요한 이유입니다.

SSL (Secure Socket Layer)은 지난 20 년 동안 진화하고 있습니다. SSL을 사용하면 사용자의 중요한 정보가 보안 네트워크를 통해 전송되도록 할 수 있습니다.많은 회사 또는 소기업은 비용 때문에 SSL을 적용하지 못합니다. 하지만 지금은 2019년이고 SSL은 매우 저렴합니다. 심지어 이 글에서 저는 무료로 적용하는 방법에 대해 설명해 드리겠습니다.

SSL은 다음을 보장합니다.

    1. 고객의 신뢰도
    2. 도메인 및 하위 도메인의 보안성
    3.  SEO 혜택

시작하기 전에…

이 글은 AWS LightSail 또는, EC2 Bitnami Ubuntu 16.04 버전으로 설치한 워드프레스를 기준으로 설명합니다.

1 단계 : Let’s Encrypt 설치 및 실행

Let’s Encrypt를 설치하는 방법은 몇 가지가 있습니다. 그 중 하나는 apt-get certbot를 사용하지만, 저는 잘 실행이 되지 않았습니다. 그래서 아래의 방법을 알려 드립니다.

먼저, SSH창을 실행하여 다음 명령어를 입력하세요.

sudo apt-get install git 
git clone https://github.com/letsencrypt/letsencrypt 
cd letsencrypt

/home/bitnami/letsencrypt/letsencrypt-auto certonly -w /home/bitnami/apps/wordpress/htdocs -d yourdomain.com -d www.yourdomain.com

위 코드에서 -w는 HTTP 루트에 대한 경로를 제공하고 -d는 인증서에 도메인을 더 추가합니다. 항상 www가 포함 된 도메인과 도메인을 추가하는 것이 좋습니다.

certbot이 인증 방법을 묻는데, “Webroot”(옵션 2)를 선택합니다.

How would you like to authenticate with the ACME CA?
— — — — — — — — — — — — — — — — — — — — — — — — —
1: Spin up a temporary webserver (standalone)

2: Place files in webroot directory (webroot)

Select the appropriate number [1–2] then [enter] (press ‘c’ to cancel): 2

그러면 cerbot은 이메일과 이용약관등을 묻습니다.  이메일 주소를 입력하고 “Y” 또는 “A”를 눌러 이용약관에 동의하여 넘어갑니다.

성공적으로 확인한 후 certbot은 생성된 모든 임시 파일을 지우고 아래와 같은 메세지를 보여줍니다.

IMPORTANT NOTES:

 — Congratulations! Your certificate and chain have been saved at:

 /etc/letsencrypt/live/yourdomain.com.au/fullchain.pem

 Your key file has been saved at:

 /etc/letsencrypt/live/yourdomain.com.au/privkey.pem

2 단계 : Apache에 알리기

아래 코드들을 복사 하세요:

sudo nano /home/bitnami/stack/apache2/conf/bitnami/bitnami.conf

Bitnami Configuration 파일이 나타나면 다음 줄을 편집해야합니다.

SSLCertificateFile “/etc/letsencrypt/live/yourdomain.com/cert.pem”

SSLCertificateKeyFile “/etc/letsencrypt/live/yourdomain.com/privkey.pem”

SSLCertificateChainFile “/etc/letsencrypt/live/yourdomain.com/chain.pem”

CMD X 또는 CTL X를 눌러 저장하고 Enter 키를 누릅니다.

3 단계 : Apache 서버 다시로드

sudo /opt/bitnami/ctlscript.sh restart

4 단계 : 인증서 갱신

기본적으로 Let ‘s Encrypt Certificate는 90 일간 유효합니다. 90 일은 빠르며, 갱신하는 것을 잊을 수 있습니다. 그래서 프로세스 자동화 설정을 하겠습니다.

매월 1일에 SSL 인증서 업데이트를 하게 설정할 것입니다.

sudo crontab -e

편집기를 선택하라고 요구할 것입니다. 원하는 것을 선택하고 다음을 입력하세요. (잘 모르겠으면 2번을 선택합니다.)

0 2 * 1 * /home/bitnami/letsencrypt/letsencrypt-auto renew | sudo /opt/bitnami/ctlscript.sh restart

이 자동화 코드는 매월 1 일 오전 2시에 Let ‘s Encrypt Certificate를 갱신합니다. 잘 작동하는지 다음달 수동으로 체크해보시길 추천 합니다.

5 단계 : SSL 테스트

웹 페이지가 제대로 SSL이 적용이 되었는지 확인해보세요. 이 사이트에서 쉽게 확인 하실 수 있습니다. ‘A’를 받는다면 제대로 적용되었습니다.

6 단계 : 항상 SSL을 사용하도록 워드프레스 업데이트

이 단계는 누군가가 웹 사이트를 방문할 때마다 SSL을 사용하는지 확인하는 것입니다.

파일을 엽니다.

sudo nano /opt/bitnami/apps/wordpress/conf/httpd-prefix.conf

상단에 다음을 추가하십시오.

RewriteEngine On

RewriteCond %{HTTPS} !=on

RewriteRule ^/(.*) https://www.yourdomain.com/$1 [R,L]

7 단계 : 서버 다시 시작

sudo /opt/bitnami/ctlscript.sh restart

이제 SSL을 적용하는데 모두 끝났습니다.

도움이 되었다면 댓글 부탁드립니다. 감사합니다.