-
시놀로지 NAS, Let's Encrypt WildCard SSL 적용Archive/설치-세팅 2019. 12. 16. 10:47
2021-05-06 재작성 [시놀로지 NAS, Let's Encrypt 와일드카드(WildCard) SSL 인증서 적용기-3]
2020-12-14 재작성 [시놀로지 NAS, Let's Encrypt WildCard SSL 적용-2]
2020-03-01. 아래 작성한 방법은 Manual DNS 방법일 시 schedule auto renew가 적용안됩니다.
-> renew 시점에 dns txt 값이 변경되서 validation이 진행안됨.
-> cloudflare로 nameserver를 변경하여 다시 설정함
DSM 6.2 및 DNSZi의 dns txt 이용한 시놀로지 나스 Let's Encrypt 와일드카드 SSL 인증서 적용 case입니다.
1. acme.sh 사용 이유
- Let's Encrypt Wildcard SSL는 DNS-01 챌린지를 통해서 증명함
- certbot을 이용한 Wildcard SSL은 manual로 발급하는 과정 중 dns challenge를 증명하는 단계가 포함됨. 이때 dns text key/value의 배포 및 확인까지 텀이 생기게 되고 인증서 발급 과정 중 앞서 말한 텀을 대기하는 과정이 포함됨.
따라서 cron 등 schedule을 통한 renew가 불가능하여 갱신 시점에 manual로 재발급해야함.
- 따라서 certbot으로 발급하는 Wildcard SSL은 귀찮음.Process Summary
1. acme.sh를 이용하여 인증서 발급 등록
2. DNS text key 등록
3. acme.sh로 인증서 갱신 발급
4. 스케줄 등록
- acme.sh를 이용한 wildcard ssl 발급 방법은 크게 위 4단계로 이루어진다.
- 시놀로지 나스의 스케줄 중 root 권한으로 스케쥴링할 예정이므로 추가 작업이 필요
Part1. acme.sh 설치 및 dns txt 세팅
1. Nas 사용자 계정으로 ssh 접속
2. acme.sh 설치
wget https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh
3. 실행 권한 부여
chmod a+x acme.sh
4. Wildcard SSL 인증서 발급 과정 진행
/var/services/homes/[사용자계정명]/acme.sh --issue --dns --force -d 도메인명 -d *.도메인명 --yes-I-know-dns-manual-mode-enough-go-ahead-please
5. 설치 과정 중간에 나오는 DNS txt key/value를 DNSZi 등 dns 관리 사이트의 TXT 레코드에 등록
Domain: '_acme-challenge.도메인명'
TXT value: '랜덤키값'
* 적용 확인 nslookup > set type=txt > _acme-challenge. 도메인명으로 txt 키값이 뜨면 배포 완료
* 이후 인증서 발급은 다음 command로 가능하나, 시놀로지 스케줄에 등록할 것이므로 패스.
acme.sh --renew --dns --force -d 도메인명 -d *.도메인명 --yes-I-know-dns-manual-mode-enough-go-ahead-please
Part2. root 계정으로 작업 스케줄러 등록
* DSM - 제어판 - 작업 스케줄러 - 사용자 정의 스크립트 root 계정으로 진행한다
1. 실행
/var/services/homes/[사용자계정명]/acme.sh --issue --dns --force -d 도메인명 -d *.도메인명 --yes-I-know-dns-manual-mode-enough-go-ahead-please
2. 스케쥴 변경 및 저장
/var/services/homes/[사용자계정명]/acme.sh --renew --dns --force -d 도메인명 -d *.도메인명 --yes-I-know-dns-manual-mode-enough-go-ahead-please /bin/cp /root/.acme.sh/도메인명/도메인명.cer /usr/syno/etc/certificate/system/default/cert.pem /bin/cp /root/.acme.sh/도메인명/ca.cer /usr/syno/etc/certificate/system/default/chain.pem /bin/cp /root/.acme.sh/도메인명/fullchain.cer /usr/syno/etc/certificate/system/default/fullchain.pem /bin/cp /root/.acme.sh/도메인명/도메인명.key /usr/syno/etc/certificate/system/default/privkey.pem /usr/syno/sbin/synoservicectl --reload nginx
-----------------
1. 사용자 계정으로 dns key 값을 등록하고 나중에 root 계정으로 스케쥴링 작업하면서 issue, renew 하는데 처음부터 root 계정으로 진행하면 어떻게 될까?2. acme.sh로 let's encrypt wildcard ssl 인증서 발급 및 갱신까진 확인함.3. 작업스케쥴로 DSM에서 와일드카드 인증서 적용 확인 함.참고 : https://github.com/Neilpang/acme.sh
참고 : https://vdr.one/how-to-create-a-lets-encrypt-wildcard-certificate-on-a-synology-nas/
참고 : https://m.blog.naver.com/clove7802/221703655436
반응형'Archive > 설치-세팅' 카테고리의 다른 글
Let's Encrypt Wildcard SSL 인증서 + acme.sh + duckdns 생성 (0) 2020.05.11 WSL Ubuntu Sudo 권한 허용 및 서비스 자동 시작 (0) 2020.04.08 이클립스/STS IPv4 출력 (0) 2018.03.06 JAR Library Download & Maven dependency (0) 2014.10.31 STS 설치 등 (0) 2014.10.13