CloudFlare DNS-01 チャレンジを使用して LetsEncrypt SSL 証明書を生成し、Synology NAS で使用する方法

Cloudflare Dns 01 Charenjiwo Shi Yongshite Letsencrypt Ssl Zheng Ming Shuwo Sheng Chengshi Synology Nas De Shi Yongsuru Fang Fa



Disk Station Manager v7 (DSM 7) は、Synology NAS デバイスのオペレーティング システムです。 DSM 7 Web インターフェイスから Synology NAS の Let’s Encrypt SSL 証明書を設定できます。デフォルトでは、Synology DSM 7 は HTTP-01 チャレンジを使用してドメイン (Synology NAS に使用する) の所有権を確認し、ドメインの SSL 証明書を発行します。ただし、HTTP-01 チャレンジは、パブリック IP アドレスを持っていて、コンピューターがインターネットからアクセスできない限り機能しません。したがって、ホーム ネットワークまたはプライベート ネットワークに Let’s Encrypt SSL 証明書を使用したい場合は、代わりに DNS-01 チャレンジを使用する必要があります。 DNS-01 チャレンジが使用される場合、Let’s Encrypt はドメインの DNS サーバーを使用してドメインの所有権を検証します。したがって、プライベートネットワークでも機能します。残念なことに、Synology DSM 7 Web インターフェイスには、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 チャレンジ経由で) 生成する方法
  • 「acme.sh」生成された Let’s Encrypt SSL 証明書を Synology NAS にインストールする方法
  • 生成された 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 ユーザーの作成

まず、Synology NAS に新しい管理者ユーザーを作成して、Let’s Encrypt SSL 証明書を生成および更新する必要があります。





Synology NAS で新しい管理者ユーザーを作成するには、 コントロールパネル [1] > ユーザー・グループ [2] DSM 7 Web インターフェイスから。



「ユーザー」タブから「作成」をクリックします。

ユーザー名として「certadmin」と入力します。 [1] 、ユーザー向けのオプションの短い説明 [2] 、ユーザーのログインパスワード [3] を選択し、「次へ」をクリックします。 [4]

管理者ユーザーを作成するには、リストから「管理者」グループにチェックを入れます [1] 「次へ」をクリックします [2]

「次へ」をクリックします。

「次へ」をクリックします。

「次へ」をクリックします。

「次へ」をクリックします。

「完了」をクリックします。

認証者 ユーザーが Synology NAS 上に作成されるはずです。

Let’s Encrypt DNS-01 チャレンジ用の CloudFlare DNS サーバーの構成

Let’s Encrypt DNS-01 チャレンジに CloudFlare DNS サーバーを使用するには、CloudFlare DNS トークンを生成する必要があります。 CloudFlare DNS サーバートークンは、CloudFlare ダッシュボードから生成できます。詳細については、 この記事を読む

Let’s Encrypt DNS-01 チャレンジ用に他の DNS サービスを構成する

「Acme.sh」は他の DNS サービスをサポートしています。 CloudFlare DNS を使用したくない場合は、「acme.sh」がサポートする DNS サービスのいずれかを使用できます。 DNS サービスごとに構成は少し異なります。詳細については、 「acme.sh」DNS API ガイドを確認してください

SSH 経由で Synology NAS ターミナルにアクセスする

「acme.sh」をインストールし、Let's Encrypt SSL 証明書を生成して Synology NAS にインストールするには、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 の「/tm​​p」ディレクトリにダウンロードする必要があります。

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 で使用しているドメイン名を管理します。したがって、私たちがしなければならないことは、CloudFlare DNS API トークンの値を使用して CF_Token 環境変数をエクスポートすることだけです。他の DNS サービスを使用している場合は、 エクスポートする必要がある変数については、「acme.sh」DNS API ドキュメントを確認してください。 「acme.sh」が DNS サービスで動作するようにします。

$export CF_Token=''

また、「acme.sh」が生成された SSL 証明書を Synology NAS にインストールできるように、必要な Synology 環境変数をエクスポートします。

$export SYNO_User
$export SYNO_Password='あなたの_certadmin_login_パスワード'
$export SYNO_Certificate='暗号化しましょう'
$エクスポートSYNO_作成=1

CloudFlare DNS プラグイン ( –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

2 要素認証が有効になっている場合は、 認証者 ユーザーに OTP コードを受け取ります。 OTP コードを入力して押す必要があります。 <入力>

2 要素認証が有効になっていない場合は、 認証者 ユーザーは空のままにして、 を押します <入力>

プレス <入力>

生成された Let’s Encrypt SSL 証明書は Synology NAS にインストールする必要があります。

Let’s Encrypt SSL 証明書が Synology NAS にインストールされると、 コントロールパネル > 安全 > 証明書 Synology NAS の DSM 7 Web インターフェイスのセクション。

Synology NAS で Let’s Encrypt SSL 証明書をデフォルトとして設定する

Synology NAS の SSL 証明書を管理するには、次の場所に移動します。 コントロールパネル > 安全 > 証明書 Synology NAS の DSM 7 Web インターフェイスからセクションを選択してください。

新しくインストールされた Let’s Encrypt SSL 証明書をデフォルトとして設定し、Synology NAS に新しくインストールされた Web サービスがデフォルトでそれを使用できるようにするには、Let’s Encrypt SSL 証明書を選択して、 アクション > 編集

「デフォルトの証明書として設定」にチェックを入れます [1] 「OK」をクリックします [2]

Let’s Encrypt SSL 証明書は、Synology NAS のデフォルトの証明書として設定する必要があります。

Let's Encrypt SSL 証明書を使用するように Synology NAS の既存の Web サービスを設定するには、[設定] をクリックします。

ご覧のとおり、すべての Web サービスは Synology 自己署名 SSL 証明書を使用しています。

Web サービスの SSL 証明書を変更するには、右側のそれぞれのドロップダウン メニューをクリックします。

次に、Web サービスに使用する Let’s Encrypt SSL 証明書をドロップダウン メニューから選択します。

同様に、Synology NAS にインストールされているすべての Web サービスの Let’s Encrypt SSL 証明書を選択し、「OK」をクリックします。

「はい」をクリックします。

変更が適用されています。完了するまでに数秒かかります。

Let’s Encrypt SSL 証明書が Synology NAS のすべての Web サービスに適用されたら、Web ページを更新すると、DSM 7 Web インターフェイスで Let’s Encrypt SSL 証明書が使用されるようになります。

Acme.sh を使用して Let’s Encrypt SSL 証明書を自動更新するように Synology NAS を設定する

Let’s Encrypt SSL 証明書を自動的に更新するように Synology NAS を設定するには、次の場所に移動します。 コントロールパネル > タスクスケジューラ DSM 7 Web インターフェイスから。

タスク スケジューラから、 をクリックします。 作成する > スケジュールされたタスク > ユーザー定義のスクリプト

「全般」タブの「タスク」セクションに「SSL 証明書の更新」と入力します。 [1] 「ユーザー」ドロップダウンメニューから「certadmin」を選択します。 [2]

「スケジュール」タブから「次の日に実行」を選択します。 [1] 「繰り返し」ドロップダウンメニューから「毎月繰り返す」を選択します。 [2]

「タスク設定」タブに移動し、「ユーザー定義スクリプト」セクションに次のコマンドを入力します。 [1] を選択し、「OK」をクリックします。 [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 の Web サービスを設定する方法も説明しました。最後に、Synology NAS でスケジュールされたタスクを設定して、Let’s Encrypt SSL 証明書が期限切れになる前に自動的に更新する方法を説明しました。

参考文献: