CloudFlare DNS-01 챌린지를 사용하여 LetsEncrypt SSL 인증서를 생성하고 Synology NAS에서 사용하는 방법

Cloudflare Dns 01 Chaellinjileul Sayonghayeo Letsencrypt Ssl Injeungseoleul Saengseonghago Synology Naseseo Sayonghaneun Bangbeob



Disk Station Manager v7(DSM 7)은 Synology NAS 장치의 운영 체제입니다. DSM 7 웹 인터페이스에서 Synology NAS에 대한 Let's Encrypt SSL 인증서를 구성할 수 있습니다. 기본적으로 Synology DSM 7은 HTTP-01 챌린지를 사용하여 도메인(Synology NAS에 사용하려는) 소유권을 확인하고 도메인에 대한 SSL 인증서를 발급합니다. 그러나 공용 IP 주소가 없고 인터넷에서 컴퓨터에 액세스할 수 없으면 HTTP-01 챌린지는 작동하지 않습니다. 따라서 홈 네트워크나 개인 네트워크에 Let's Encrypt SSL 인증서를 사용하려면 대신 DNS-01 챌린지를 사용해야 합니다. DNS-01 챌린지를 사용하면 Let’s Encrypt는 도메인의 DNS 서버를 사용하여 도메인 소유권을 확인합니다. 따라서 개인 네트워크에서도 작동합니다. 안타깝게도 Synology DSM 7 웹 인터페이스는 DNS-01 챌린지를 사용하여 Let's Encrypt SSL 인증서를 얻는 방법을 제공하지 않습니다.

운 좋게도 'acme.sh' 프로그램은 Synology NAS에 설치할 수 있으며 DNS-01 챌린지를 사용하여 Let's Encrypt SSL 인증서를 생성하고 갱신하는 데 사용됩니다.







이 기사에서는 다음 내용을 보여 드리겠습니다.



  • Synology NAS에 'sh'를 설치하는 방법
  • 'acme.sh'를 사용하여 Synology NAS에서 사용 중인 도메인 이름에 대한 Let's Encrypt SSL 인증서(DNS-01 챌린지를 통해)를 생성하는 방법
  • Synology NAS에 'acme.sh' 생성된 Let's Encrypt SSL 인증서를 설치하는 방법
  • 생성된 Let's Encrypt SSL 인증서를 사용하도록 Synology NAS의 DSM 7 운영 체제를 구성하는 방법
  • 'acme.sh'를 사용하여 생성된 Let's Encrypt SSL 인증서를 자동으로 갱신하도록 Synology NAS를 구성하는 방법

이 기사에서는 데모를 위해 CloudFlare DNS 서버를 사용합니다. 다른 것을 사용할 수 있습니다 acme.sh에서 지원되는 DNS 서비스 또한. 당신이 해야 할 일은 필요한 조정을 하는 것뿐입니다.



목차 주제:

  1. Synology NAS에서 Certadmin 사용자 생성
  2. LetsEncrypt DNS-01 챌린지를 위해 CloudFlare DNS 서버 구성
  3. LetsEncrypt DNS-01 챌린지를 위한 기타 DNS 서비스 구성
  4. SSH를 통해 Synology NAS 터미널에 액세스
  5. Synology NAS에 Acme.sh 다운로드
  6. Synology NAS에 Acme.sh 설치
  7. Synology NAS용 Acme.sh를 사용하여 Let’s Encrypt SSL 인증서 생성
  8. Acme.sh를 사용하여 Synology NAS에 Let’s Encrypt SSL 인증서 설치
  9. Synology NAS에서 Let’s Encrypt SSL 인증서를 기본값으로 설정
  10. Acme.sh를 사용하여 Let’s Encrypt SSL 인증서를 자동 갱신하도록 Synology NAS 구성
  11. 결론
  12. 참고자료

Synology NAS에서 Certadmin 사용자 생성

먼저, Let’s Encrypt SSL 인증서를 생성하고 갱신하려면 Synology NAS에서 새 관리자를 생성해야 합니다.





Synology NAS에서 새 관리자를 생성하려면 다음을 클릭합니다. 제어판 [1] > 사용자 및 그룹 [2] DSM 7 웹 인터페이스에서.



'사용자' 탭에서 '만들기'를 클릭하세요.

사용자 이름으로 'certadmin'을 입력합니다. [1] , 사용자에 대한 선택적인 간단한 설명 [2] , 사용자 로그인 비밀번호 [삼] 을 클릭하고 '다음'을 클릭하세요. [4] .

관리자를 생성하려면 목록에서 '관리자' 그룹을 선택하세요. [1] 그리고 '다음'을 클릭하세요 [2] .

“다음”을 클릭하세요.

“다음”을 클릭하세요.

“다음”을 클릭하세요.

“다음”을 클릭하세요.

“완료”를 클릭하세요.

그만큼 인증서 관리자 이제 Synology NAS에 사용자가 생성되어야 합니다.

Let's Encrypt DNS-01 챌린지를 위해 CloudFlare DNS 서버 구성

Let’s Encrypt DNS-01 챌린지에 CloudFlare DNS 서버를 사용하려면 CloudFlare DNS 토큰을 생성해야 합니다. CloudFlare 대시보드에서 CloudFlare DNS 서버 토큰을 생성할 수 있습니다. 자세한 내용은, 이 기사를 읽어보세요 .

Let's Encrypt DNS-01 챌린지를 위한 기타 DNS 서비스 구성

“Acme.sh”는 다른 DNS 서비스를 지원합니다. CloudFlare DNS를 사용하지 않으려면 'acme.sh' 지원 DNS 서비스 중 하나를 사용할 수 있습니다. 구성은 DNS 서비스마다 약간 다릅니다. 자세한 내용은, 'acme.sh' DNS API 가이드를 확인하세요. .

SSH를 통해 Synology NAS 터미널에 액세스

Synology NAS에 'acme.sh'를 설치하고 Let's Encrypt SSL 인증서를 생성 및 설치하려면 Synology NAS 터미널에 액세스해야 합니다. Synology NAS에서 SSH 액세스를 활성화하고 Synology NAS 터미널에 액세스하는 방법에 대한 자세한 내용은 다음을 참조하세요. 이 기사를 읽어보세요 .

Synology NAS에서 SSH 액세스를 활성화한 후 컴퓨터에서 터미널 앱을 열고 다음 명령을 실행합니다.

$ ssh certadmin@

로그인 비밀번호를 입력하라는 메시지가 표시됩니다. 인증서 관리자 사용자. 의 로그인 비밀번호를 입력하세요. 인증서 관리자 Synology NAS 사용자를 누르고 다음을 누릅니다. <엔터> . Synology NAS에 다음 계정으로 로그인해야 합니다. 인증서 관리자 사용자.

Synology NAS에 Acme.sh 다운로드

'acme.sh' 클라이언트의 최신 버전을 다운로드하려면 다음 명령을 실행하십시오.

$ wget -O /tmp/acme.sh.zip https://github.com/acmesh-official/acme.sh/archive/master.zip

'acme.sh' 클라이언트 아카이브 'acme.sh.zip'의 최신 버전을 Synology NAS의 '/tmp' 디렉터리에 다운로드해야 합니다.

Synology NAS에 Acme.sh 설치

Synology NAS의 '/usr/local/share' 디렉터리에서 '/tmp/acme.sh.zip' 아카이브를 추출하려면 다음 명령을 실행하고 certadmin 사용자의 로그인 비밀번호를 입력한 후 <엔터> 비밀번호를 묻는 메시지가 표시되면. '/tmp/acme.sh.zip' 아카이브는 '/usr/local/share/acme.sh-master' 디렉토리에서 추출되어야 합니다.

$ sudo 7z x -o /usr/local/share /tmp/acme.sh.zip

단순화를 위해 다음 명령을 사용하여 'acme.sh-master' 디렉터리의 이름을 'acme.sh'로 바꿉니다.

$ sudo mv -v /usr/local/share/acme.sh-master /usr/local/share/acme.sh

만들기 위해서는 인증서 관리자 '/usr/local/share/acme.sh' 디렉터리 및 해당 콘텐츠의 사용자 소유자인 경우 다음 명령을 실행합니다.

$ sudo chown -Rfv certadmin /usr/local/share/acme.sh

Synology NAS용 Acme.sh를 사용하여 Let’s Encrypt SSL 인증서 생성

Synology NAS에서 사용 중인 도메인 이름에 대한 Let's Encrypt SSL 인증서를 생성하려면 다음과 같이 '/usr/local/share/acme.sh' 디렉터리로 이동합니다.

$ cd /usr/local/share/acme.sh

이제 필요한 DNS API 토큰 환경 변수를 내보내야 합니다. 우리는 CloudFlare DNS를 사용하여 Synology NAS에서 사용 중인 도메인 이름을 관리합니다. 따라서 우리가 해야 할 일은 CF_Token 환경 변수를 CloudFlare DNS API 토큰 값으로 내보내는 것뿐입니다. 다른 DNS 서비스를 사용하는 경우 내보내야 하는 변수에 대해서는 'acme.sh' DNS API 문서를 확인하세요. DNS 서비스와 함께 작동하려면 “acme.sh”를 사용하세요.

$ 내보내기 CF_Token=''

또한 'acme.sh'가 생성된 SSL 인증서를 Synology NAS에 설치할 수 있도록 필수 Synology 환경 변수를 내보냅니다.

$ 내보내기 SYNO_User
$ 내보내기 SYNO_Password='Your_certadmin_login_Password'
$ 내보내기 SYNO_Certificate='암호화하자'
$ 내보내기 SYNO_Create=1

CloudFlare DNS 플러그인을 사용하여 '*.nodekite.com'(와일드카드) 도메인 이름에 대한 Let's Encrypt SSL 인증서를 생성하려면( -dns dns_cf ), 다음 명령을 실행합니다.

$ ./acme.sh --server letsencrypt --issue --dns dns_cf --home $PWD -d '*.nodekite.com'

다른 DNS 서비스를 사용하는 경우 이전 명령의 DNS 플러그인(–dns )을 그에 맞게 변경해야 합니다. 자세한 내용은, 'acme.sh' DNS API 문서를 확인하세요. .

Let’s Encrypt SSL 인증서가 생성되는 중입니다. 완료하는 데 시간이 걸립니다.

이 시점에서 Let’s Encrypt SSL 인증서가 생성되어야 합니다.

Acme.sh를 사용하여 Synology NAS에 Let’s Encrypt SSL 인증서 설치

Synology NAS의 도메인 이름(이 경우 *.nodekite.com)에 대해 Let's Encrypt SSL 인증서가 생성되면 다음 명령을 사용하여 Synology NAS에 설치할 수 있습니다.

$ ./acme.sh -d '*.nodekite.com' --deploy --deploy-hook synology_dsm --home $PWD

이중 인증이 활성화된 경우 인증서 관리자 사용자에게는 OTP 코드가 전송됩니다. OTP 코드를 입력하고 버튼을 눌러야 합니다. <엔터> .

이중 인증이 활성화되어 있지 않은 경우 인증서 관리자 사용자, 비워두고 다음을 누르세요. <엔터> .

누르다 <엔터> .

생성된 Let's Encrypt SSL 인증서를 Synology NAS에 설치해야 합니다.

Let's Encrypt SSL 인증서가 Synology NAS에 설치되면 해당 인증서가 제어판 > 보안 > 자격증 Synology NAS의 DSM 7 웹 인터페이스 섹션.

Synology NAS에서 Let’s Encrypt SSL 인증서를 기본값으로 설정

Synology NAS의 SSL 인증서를 관리하려면 다음으로 이동합니다. 제어판 > 보안 > 자격증 Synology NAS의 DSM 7 웹 인터페이스 섹션.

Synology NAS에 새로 설치된 웹 서비스가 기본적으로 이를 사용하도록 새로 설치된 Let’s Encrypt SSL 인증서를 기본값으로 설정하려면 Let’s Encrypt SSL 인증서를 선택하고 행동 > 편집하다 .

'기본 인증서로 설정'을 선택하세요. [1] 그리고 '확인'을 클릭하세요 [2] .

Let's Encrypt SSL 인증서는 Synology NAS의 기본 인증서로 설정되어야 합니다.

Let's Encrypt SSL 인증서를 사용하도록 Synology NAS의 기존 웹 서비스를 구성하려면 '설정'을 클릭합니다.

보시다시피 모든 웹 서비스는 Synology 자체 서명 SSL 인증서를 사용하고 있습니다.

웹 서비스에 대한 SSL 인증서를 변경하려면 오른쪽에서 해당 드롭다운 메뉴를 클릭하세요.

그런 다음 드롭다운 메뉴에서 웹 서비스에 사용하려는 Let's Encrypt SSL 인증서를 선택합니다.

같은 방법으로 Synology NAS에 설치된 모든 웹 서비스에 대해 Let's Encrypt SSL 인증서를 선택하고 '확인'을 클릭합니다.

“예”를 클릭하세요.

변경사항을 적용하는 중입니다. 완료하는 데 몇 초 정도 걸립니다.

Let’s Encrypt SSL 인증서가 Synology NAS의 모든 웹 서비스에 적용되면 웹 페이지를 새로 고치면 DSM 7 웹 인터페이스가 Let’s Encrypt SSL 인증서를 사용해야 합니다.

Acme.sh를 사용하여 Let’s Encrypt SSL 인증서를 자동 갱신하도록 Synology NAS 구성

Let’s Encrypt SSL 인증서를 자동으로 갱신하도록 Synology NAS를 구성하려면 다음으로 이동합니다. 제어판 > 작업 스케줄러 DSM 7 웹 인터페이스에서.

작업 스케줄러에서 다음을 클릭하세요. 만들다 > 예약된 작업 > 사용자 정의 스크립트 .

'일반' 탭에서 '작업' 섹션에 'SSL 인증서 갱신'을 입력하세요. [1] “사용자” 드롭다운 메뉴에서 “certadmin”을 선택하세요. [2] .

'일정' 탭에서 '다음 날짜에 실행'을 선택하세요. [1] '반복' 드롭다운 메뉴에서 '매월 반복'을 선택하세요. [2] .

'작업 설정' 탭으로 이동하여 '사용자 정의 스크립트' 섹션에 다음 명령을 입력합니다. [1] 을 클릭하고 “확인”을 클릭하세요. [2] .

/usr/local/share/acme.sh/acme.sh –renew –server letsencrypt -d “*.nodekite.com” –home /usr/local/share/acme.sh

새 작업을 만들어야 합니다. 'SSL 인증서 갱신' 작업은 매달 실행되며 Let's Encrypt SSL 인증서가 만료되기 전에 갱신되는지 확인합니다.

결론

이 문서에서는 'acme.sh' ACME 클라이언트를 설치하고 사용하여 Synology NAS에서 DNS-01 챌린지를 통해 Let's Encrypt SSL 인증서를 생성하는 방법을 보여주었습니다. 또한 생성된 Let's Encrypt SSL 인증서를 Synology NAS에 설치하고 이를 사용하도록 Synology NAS의 웹 서비스를 구성하는 방법도 설명했습니다. 마지막으로 Let’s Encrypt SSL 인증서가 만료되기 전에 자동으로 갱신하도록 Synology NAS에서 예약된 작업을 구성하는 방법을 보여 드렸습니다.

참고자료: