무료 SSL 인증서를 받을 수 있는 ZerosSL을 사용했습니다.

개시하다


혹시 제로스셀 아세요?개인 운영 사이트의 여러분이라면 대부분 Let's Encerypt를 사용하실 거라고 생각합니다.
https://letsencrypt.org/ja/
그럼요. 저도 쓰고 있어요.저 같은 엔지니어라면 SSL의 구조에 대한 대략적인 이해와 명령행의 실행 방법도 알고 있기 때문에 사이트의 SSL 인증서를 따는 것도 그리 어렵지 않겠죠.
그러나 상세하지 않은 사람은certbot 같은 지령을 사용하여 SSL 인증서를 발행하는 것이 비교적 어렵다.거기서 소개하고 싶은 건 제로스엘이에요.
https://zerossl.com/

이른바 Zerossl


아직 ZerosSL 이름이 잘 알려지지 않은 이유일지도 모르지만, 구글 검색에서'ZerosSL'을 검색한 뒤 "ZerosSL에서 브라우저로만 무료 인증서(Let's Encerypt)를 받아라!"'렛츠 엔터테인먼트와 제로슬, SSL 증명서를 더 간단하게 준비하라'는 블로그와도 인기를 끌었지만, 실제로는 렛츠 엔터테인먼트와 제로슬이 대립하는 입장이다.
둘 다 ACME(Automated Center tificate Management Environment) 인증국(CA)으로 웹 서버와 인증국 간의 상호작용을 자동화하기 위해 통신 프로토콜을 실시했다.

ZerossL과 Let's Encerypt의 비교


Let's Encerypt와 Zerossl의 비교는 아래의 비교를 보면 이해하기 쉽죠.

ZerosSL의 장점은 브라우저만 있으면 SSL 인증서를 발행할 수 있는 곳이라고 할 수 있다.로그인 계정을 만들고 "New Certificate"단추를 누르면 마법사를 따라가면 인증서를 간단하게 발행할 수 있습니다.다운로드 후crt 파일과 키 파일을 다음과 같이 설정합니다.간단하네.
ssl_certificate /etc/zerossl/certificates/ドメイン名.crt;
ssl_certificate_key /etc/zerossl/certificates/ドメイン名.key;
이 설정 방법은 Nginx의 내용으로 ZerosSL에서 원하는 형식을 선택하면 기대하는 인증서 형식을 다운로드할 수 있습니다.

추기
ZerosSL은 Let's Encerypt와 달리 계정을 만들어야 한다는 사실을 모르거나 나쁜 점이라고 생각하는 사람이 있을 수 있습니다.제로SSL은 무료 SSL 인증서뿐만 아니라 장기간 유료 SSL 인증서도 발행할 수 있다.유상 지원도 받을 수 있다.

이는 기업의 기부금으로 구성된 렛츠엔서리프트와 영리단체로 사업을 하는 제로스엘의 차이점이라고 할 수 있다.어느 쪽이 안정적으로 계속 존재할지 판단해 주세요.

Let's Encerypt 있으면 싫죠?


이런 생각도 있었지만 며칠 전에 기사를 봤어요.
https://scotthelme.co.uk/introducing-another-free-ca-as-an-alternative-to-lets-encrypt/
연구진 스콧 헬름은 이 글에서 지금까지 렛즈 엔서리프트만 무료 SSL을 제공해 왔으며 단일한 장애점이 될 수 있다고 말했다.그리고 이 글에서 제로SSL을 소개했다.
갑자기 멈춘 걸 상상하기는 힘들 것 같지만 스캇헬름이 말한 것처럼 제로스엘의 등장으로 생태계가 바뀌기 시작한 것도 좋은 일이라고 생각해요.

총결산


지금까지 여러분은certbot을 설치하는 데 많은 시간을 들였습니다.crontab로 설정하고 싶지만 모두가 할 수 있는 것은 아닙니다.그중에cron이 움직일 수 없는 서버를 가진 사람도 있을 것 같습니다.이러한 요구를 충족할 수 있는 ZerosSL입니다.SSL 인증서 발행과 설정에 자신이 없는 사람, 좌절한 사람은 시도해 볼 수 있다.


그러면 제로SSL은 브라우저에서만 인증서를 발행하고 기한이 있으면 메일로 알리는 매우 편리한 서비스지만 SSL 인증서가 발행되면 가능하면 자동으로 업데이트되기를 희망합니다.ZerosSL도 이런 방법을 제공했다.
https://github.com/zerossl/certbot-zerossl
ACME에는 EAB(External Acount Binding)의 외부 서비스 위임 승인을 위한 구조가 있습니다.
https://tools.ietf.org/html/rfc8555#section-7.3.4
certbot-zeroossl은 이 설정을 사용합니다.Let's Encerypt 전용으로 사용되는certbot의 EAB 기능을 통해 Zerossl이 인정하는 잠금 스크립트가 됩니다.
소스의 내용을 보니 구조를 대충 알 수 있었다.나도 이 각본의 보살핌을 받고 싶지만, 매우 유감스럽게도 매우 큰 문제가 있다.
저는 certbot 안 좋아해요.
나는 certbot을 좋아하지 않는다.이전에certbot을 가져와 자신의 사이트에서 활용한 적이 있지만 어느 날 OS의 패키지apt update를 업데이트한 후에certbot는 움직이지 않고 SSL 증명서가 잠시 기한이 지났다.
그 이후로 나는certbot을 사용하지 않을 것이다.Lego가 대신 사용합니다.
https://go-acme.github.io/lego/
Lego는 Go 언어로 작성된 Let's Encrypt 클라이언트입니다.단일 바이너리이기 때문에 OS 업데이트로 인해 움직이지 않습니다.2018년 레고를 열었는데 그 이후로 한 번도 문제가 없었어요.
또 발자국이 가벼워 메모리가 적은 서버도 역할을 잘 할 수 있다.
이 레고는 certbot과 마찬가지로 EAB 기능도 있다.certbot-zeroossl에서 지정한 것과 같은 것을 lego로 지정하면certbot을 가져오지 않고 cron에서 SSL 인증서를 계속 업데이트할 수 있습니다.
#!/bin/bash

ACCESS_KEY=ZeroSSLのAPIアクセスキー
JSON=$(curl -s -X POST "https://api.zerossl.com/acme/eab-credentials?access_key=$ACCESS_KEY")
EAB_KEY=$(echo "$JSON" | jq -r .eab_kid)
EAB_HMAC_KEY=$(echo "$JSON" | jq -r .eab_hmac_key)

/usr/local/bin/lego \
        --http.webroot /var/www/ドメイン名 \
        --path /etc/zerossl \
        --http \
    --eab --kid "$EAB_KEY" --hmac "$EAB_HMAC_KEY" \
    --server "https://acme.zerossl.com/v2/DV90" \
    --email "メールアドレス" \
    --domains "ドメイン名" \
    -a renew
/etc/zerossl처럼 루트 권한이 필요한 폴더를 지정할 때sudoers를 설정하는 것이 좋습니다.아래의 파일은 /etc/sudoers.d/lego-update라는 파일 이름으로 두는 것이 가장 좋다.
mattn ALL=(ALL) NOPASSWD: /home/mattn/dev/lego/update.sh
사용자 이름과 경로를 업데이트하십시오.crontab에 로그인하면 이런 느낌이에요.
4 0 * * 0 sudo /home/mattn/dev/lego/update.sh
당연히 시스템이나 루트의cron에서도 실행할 수 있다.
이렇게 간단한 스크립트를 사용하여 SSL 인증서를 업데이트할 수 있습니다.http 인증을 통과했기 때문에 웹 서버를 시작했고 포트 80번 서비스/var/www/ドメイン名가 필요합니다.그나저나 certbot과 마찬가지로 SSL 증명서 발행도 레고로 할 수 있다.(renew만run)
이처럼 제로SSL을 이용하면 단일 고장점이라고 할 수 있는 렛츠 엔씨릿을 사용하지 않더라도 무료 SSL 증명서를 발급해 자동으로 업데이트할 수 있다.
여러분도 한번 해볼까요?
추기
현재 ZerosSL의 인증서 설치 확인 버튼이 작동하지 않습니다.방치해도 괜찮을 것 같은데, 나중에 개발자가 잘 확인할게요.

좋은 웹페이지 즐겨찾기