HOME  /Synology
 /Let’s Encryptの無償のSSL証明書の取得方法
2018年03月22日

Let’s Encryptの無償のSSL証明書の取得方法

無償のSSL証明書の登場により自宅のWebサイトでもHTTPS化が可能になりました。

しかしDSMの証明書の取得方法はかなり癖があり何故、エラーになるのか?等がマニュアルを見ても全然分かりません。

そこで試行錯誤の結果、判った事を解説します。

1.事前知識:証明書作成の2つの方法

1-1.コントロールパネルの下記アイコンをクリックします。

セキュリティ全体のメニュが表示され、その中に証明書タブがあります。

 

1-2.上図の証明書タブを開いて『追加ボタン』を挿入してください。

下記画面が表示されます。

上図の様に①新しい証明書を追加②既存の認証を置き換えのメニュが表示され、いづれのメニュでもLet’s Encryptの証明書は作成できますが性格が全然異なります。

①新しい証明書の追加

このメニュは証明書を作成するだけで、この証明書を使う宣言ではありません。

この証明書を使う為には証明書をDefault certificateにしてWebサーバを再起動する必要があります。

Webサーバの再起動は

・Synologyの再起動か

・「コントールパネル→ネットワーク→DSM設定」の設定内容を変更する

方法しかありません。よってこのメニュは面倒なので使いません。

 

既存の認証を置き換える

これは現在のDefault certificate証明書を破棄して、新しい証明書に置き換えたうえでWebサーバの再起動を行ってくれます。

よって即時に新しい証明書が反映されまのでこちらを利用するのがお勧めです。

但し、Default certificate証明書が無い場合は、①新しい証明書でWebサーバの再起動を行ってくれます。

2.事前知識:Let’s Encrypt証明書作成時のエラー

Let’s Encrypt証明書作成時に下記の様なエラーメッセージが良く出ます。

またヘルプを見ると意味が判らない下記の様な記述があります。

Let’s Encrypt証明書作成時の指定項目は下記の3点です。

①ドメイン名

登録したいDDNS名です。例えばこのサイトの『nw.myds.me』です。

②Eメール

登録するアカウントです。登録できる個数に制限があるようですが3個までは問題なくできます。

③サブジェクトの別名

上記のドメイン名『nw.myds.me以外のDDNSでもアクセスする場合はここに指定します。

­ ­登録時にエラーが出るケース

①登録したいドメイン名が既に登録済みの場合。

登録するメールアドレスを別の物にすると登録はできますがお勧めできません。

②Let’s Encryptが登録DDNSを拒否する場合。

Let’s Encryptは証明書を発行する時に設定したドメイン名やサブジェクトの別名にアクセスします。
その時にアクセスできない時にこのエラーがでます。
私が以前使っていた「mydns.jp」のDDNSは、Let’s Encryptの証明書では使えませんでした。
またドメイン名の記述ミスもいこのケースになります。

 

3.Let’s Encrypt証明書の作成手順

無償のサーバ証明書の取得方法は下記になります。

1.ルータの設定でポート番号の80番と443番をオープンにして下さい。

設定方法はSynology NASをDDNS(ドメイン名)でアクセスするを参照してください。

 

2.SSL通信の関連項目を確認してください

・DSMのHTTPS通信のポート番号を確認してください。

コントロールパネル→ネットワーク→DSM設定タブ

・WebDAVのHTTPS通信のポート番号を確認してください。

パッケージのWebDAVサーバの設定

※上記のポート番号がルータに設定されているのか?も必ず確認してください。

 

3.証明書の取得方法

コントロールパネル→セキュリティ→証明書タブを開く

①追加ボタンを挿入する

・証明書タブで既に(Default Certificate)がある場合

『既存の照明書を置き換える』を選択

・証明書タブで何も表示されてない場合

『新しい証明書を追加してください』を選択

②表示されたメニュの中から、『Let’s Encryptから証明書をお受け取り下さい』を選択します。

③表示された画面に、必要事項を入力する。

私の自宅は下記のDDNSを取得しています。

・Synologyから取得したDDNS

『nw.myds.me』と『nw1.myds.me』

・Dynuから所得したDDNS

『hnw.ddnsfree.com』

よって設定は下記になります

項目 設定値
ドメイン名 nw.myds.me
Eメール 特に制限はありません
サブジェクトの別名 nw1.myds.me;hnw.ddnsfree.com

適用ボタンを挿入するとLet’s Encryptからの証明書が取得され、サーバが再起動します。

以上でSSLサーバ証明書が取得できたのでHTTPS通信が可能になりました。

 

4.正しい証明書か?否かの確認方法

下記画面でサブジェクトの別名で、登録したDDNSが表示されていたら完了です。

※1.証明書の有効期間が表示されています。期日が近づくとDSMが自動で証明書を更新します。

※2.右にある下矢印を挿入すると証明書の詳細が表示されます。ここに別名のDDNSが登録されています。

4.https通信に切り替えた時の注意点

HTTPS通信に変更する理由は、Synologyの各種アプリケーションのユーザ名とパスワードが外部に流出する事を防止する為です。

よってHTTPS化にした後は、HTTP通信を使わない運用が重要になります。

下記に各アプリケーション毎の対策を解説します。

4-1.DSMへのアクセスをHTTPSに限定する方法

コントロールパネル→ネットワーク→DSM設定」で下記画面を呼び出してください。

※1.HTTPとHTTPSのポート番号を設定します。
併せてルータの設定も忘れないでください。

※2.「HTTP接続をHTTPSに自動リダイレクトする」にチェックを入れてください。
これでHTTPでは接続できなくなります。

※3.「HTTP/2を有効にする」にチェックを入れてください。
詳細は割愛しますがHTTP通信の性能向上に関係する機能です。

4-2.WEBサイトへのアクセスをHTTPSに限定する方法

WEBサイトにはMariaDBをアクセスするphpMyAdminと、WordPress等のアプリケーションで作った独自サイトがあります。

これらをHTTPSにリダイレクトさせる為には仮想ホスト機能を利用します。

①Web Stationを起動します。

②作成ボタンを挿入します。

③下記画面に必要情報を入力します。

※1.ホスト名の所に貴方が取得したDDNS名を入力して下さい。

※2.ドキュメントルートはWEBです。
この中にphpMyAdminWordPressプログラムがあります。

※3.HSTSHTTP/2にチェックを入れます。

※4.利用するバックエンドサーバやPHPのバージョンを選択します。

保存をするとブラウザにHTTP通信をHTTPS通信にする様に連絡してくれます。

一方、サーバ側もHTTPS通信で動く設定が必要になります。

・phpMyAdmin

HTTPS通信でそのまま利用できます。

・WordPress

コンテンツ自体をHTTPSで作成する必要があります。

­ ­メモ

HSTSとは
HSTS(HTTP Strict Transport Security)は、HTTP の代わりに HTTPS を用いて通信を行うようにWeb サイトからブラウザに要求するセキュリティ機能です。
HTTP/2とは
HTTP/2は従来のHTTPに「ストリーム」という概念を導入し、1つのコネクション内で同時に並行して複数のリクエスト/レスポンスを処理できるようにしたプロトコルです。

4-3.その他

①WebDAV

WebDAV Serverの「HTTPSを有効にする」で指定したポート番号で接続します。

②VPN

VPN自体はhttp通信ですが、VPNの中で暗号化されます。