SSL 인증서 무료로 사용하는 팁

SSL 와일드카드 인증서를 무료로 사용하는 방법을 알려드립니다.

SSL 인증서는 웹사이트의 보안을 강화하기 위해 사용되는 인증서입니다. 이 인증서는 웹사이트와 사용자 간의 통신을 암호화하여 제3자로부터의 해킹이나 개인정보 유출 등을 방지합니다. 이러한 이유로 모든 웹사이트에서 SSL 인증서를 적용하는 것이 권장됩니다.

또한, 최근에는 구글이 SSL 인증서를 적용한 웹사이트를 검색 결과 상위에 노출시키는 등 SEO에도 영향을 미치는 요소가 되고 있습니다. 이러한 이유로 SSL 인증서를 적용하지 않은 웹사이트는 검색 결과에서 하락하는 등의 불이익을 받을 수 있습니다.

SSL 인증서는 여러 종류가 있으며, DV, OV, EV 등으로 나뉘어집니다. 이 중에서도 EV 인증서는 가장 높은 보안성을 제공하는 인증서입니다. EV 인증서가 적용된 웹사이트는 URL 앞에 녹색 자물쇠 아이콘이 표시되며, 사용자들이 이 웹사이트가 안전하다는 것을 확인할 수 있습니다.

하지만, EV 인증서는 DV, OV에 비해 더 비싸고 등록 과정이 복잡하기 때문에, 모든 웹사이트에서 EV 인증서를 적용할 필요는 없습니다. 각각의 웹사이트의 특성과 필요에 따라 적절한 SSL 인증서를 선택하는 것이 중요합니다.

SSL 인증서를 발급받는 방법은 여러 가지가 있지만, 대표적으로 Let’s Encrypt를 이용하는 방법이 있습니다. Let’s Encrypt는 무료로 SSL 인증서를 발급해 주는 서비스로, 사용하기도 쉽고 간편합니다.

또한, 와일드카드 SSL 인증서를 발급받으면 여러 개의 하위 도메인에서 하나의 인증서를 사용할 수 있습니다. 이를 통해 비용을 절감하고 보안성을 유지할 수 있습니다.

따라서, SSL 인증서를 적용하는 것이 좋으며, 필요에 따라 적절한 SSL 인증서를 선택하여 사용하는 것이 중요합니다.

최근에는 기업에서도 DV를 많이 이용하기 때문에 오늘은 DV SSL 인증서를 발급받겠습니다.

SSL 인증서는 일반 도메인에 적용되는 것이 있고 모든 하위 도메인까지 적용되는 와일드카드 도메인이 존재합니다.

오늘은 와일드카드 SSL 인증서를 발급받을 겁니다. 하나의 와일드카드 도메인을 발급받으면 ddd.example.com, aaa.example.com 등 여러 하위 도메인에서까지 하나의 인증서로 이용하실 수 있습니다.

또한, SSL 인증서를 발급받을 때는 발급 기관에서 제공하는 매뉴얼을 참고하여 자세한 내용을 파악하는 것이 좋습니다. 인증서를 올바르게 적용하고 관리하여 웹사이트의 보안을 유지하는 것이 중요합니다.

저희는 Let’s Encrypt를 이용해서 발급받겠습니다.

이용하기 위해서는 먼저 letsencrypt 또는 certbot (두 개 동일)을 설치해야 합니다.

sudo apt-get update sudo apt-get install certbot

아래 명령어를 이용해서 와일드카드의 도메인 인증서를 발급받을 수 있습니다.

example.com 부분을 자신의 도메인으로 바꿔주세요.

sudo certbot certonly --manual -d "*.example.com" -d example.com --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

위 명령을 실행하면 아래처럼 몇 가지 정보를 입력하라는 메시지가 출력된다.

Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel):

이메일 주소를 입력한다.

(A)gree/(C)ancel:

약관에 동의하기 위해 a를 입력한다.

(Y)es/(N)o:

정보 이메일 수신을 원하면 y, 원하지 않으면 n을 입력한다.

도메인 DNS에 인증 코드를 적용해서 인증해주세요.

인증서 발급에 성공하면 아래와 같이 /etc/letsencrypt/live/example.com/ 경로에 인증서가 저장되었다는 메시지가 출력된다.

이제 인증서를 적용해줍니다.

아파치 서버 기준으로 설명을 드리겠습니다. 아파치 서버 설정 방법은 이곳을 참고해주세요.

서버 설정 파일에 해당 내용을 추가해줍니다.

SSLEngine on

SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

SSLHonorCipherOrder on SSLCertificateFile "/etc/letsencrypt/live/example.com/cert.pem" SSLCertificateKeyFile "/etc/letsencrypt/live/example.com/privkey.pem" SSLCertificateChainFile "/etc/letsencrypt/live/example.com/chain.pem"

서버를 재시작하고 사이트에 접속하면 잘 적용됩니다.

자동갱신을 원한다면 Crontab에 다음 내용을 추가해주세요. (서버 시간을 제대로 설정했다면)

0 0 1 * * /usr/bin/certbot renew --renew-hook="sudo systemctl restart apache2"


┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ └───── 요일 (0 – 7) (일요일=0 or 7) │ │ │ └───────── 월 (1 – 12) │ │ └───────────── 일 (1 – 31) │ └─────────────────── 시 (0 – 23) └───────────────────────── 분 (0 – 59)


궁금한 점이 있다면 댓글 남겨주세요 🙂