SSL 인증서란 무엇입니까? 그리고 왜 필요한가요?
끊임없이 성장하는 인터넷 환경에서 사이버 범죄가 증가하고 있으며 웹 사이트를 보호하는 솔루션도 늘어나고 있습니다. 최근 구글은 웹 사이트 소유자가 컴퓨터에서 웹 사이트와의 모든 통신을 암호화하도록하는 HTTPS 프로토콜을 사용 하도록 권장했습니다 .
여러분은 자신의 웹 사이트가 사용자로부터의 어떤 정보도 묻지 않고 내 사이트가 제공하지도 않고 있다고 생각할 수 있습니다. 아무런 통신도 일어나지 않으니 보안이 필요하지 않을거라 생각하실 수 있습니다. 하지만 잘못 생각 하셨습니다. 아래는 전자 상거래 웹 사이트가 아니여도 SSL 인증서가 필요한 이유입니다.
작년 7 월 Google은 안전 조치를 더욱 엄격하게 적용했습니다. Chrome 68의 새로운 버전 인 HTTPS를 채택하지 않은 모든 사이트는 Google에 안전하지 않은 것으로 표시됩니다. HTTPS가있는 웹 사이트는 계속 웹 사이트 URL에 녹색 표시를 표시합니다. 또한 Google은 HTTPS가있는 웹 사이트에 우선 순위를 부여하고 순위를 약간 높입니다. 다음은 SSL이 중요한 이유입니다.
SSL (Secure Socket Layer)은 지난 20 년 동안 진화하고 있습니다. SSL을 사용하면 사용자의 중요한 정보가 보안 네트워크를 통해 전송되도록 할 수 있습니다.많은 회사 또는 소기업은 비용 때문에 SSL을 적용하지 못합니다. 하지만 지금은 2019년이고 SSL은 매우 저렴합니다. 심지어 이 글에서 저는 무료로 적용하는 방법에 대해 설명해 드리겠습니다.
SSL은 다음을 보장합니다.
-
- 고객의 신뢰도
- 도메인 및 하위 도메인의 보안성
- 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을 적용하는데 모두 끝났습니다.
도움이 되었다면 댓글 부탁드립니다. 감사합니다.