QNAP NASで自己署名証明書を使ってSSL接続する

QNAP NASにて、自己署名証明書(オレオレ証明書)を使って、ブラウザ上の管理画面にSSL接続でアクセスできるようにしてみる。

基本的には公式サイトに書いてるので

QNAP NASでのSSL接続
SSL 証明書を使用し、QNAP NAS 接続のセキュリティを強化する – QNAP

QNAPの公式サイトに説明が書いている。

丁寧に書いてはくれているが、ちょいちょい情報が古かったり、コマンドが間違ってたりするので、以下に修正箇所をメインに補足していく。

SSL証明書の作成

自己署名証明書なので、以下の3つを作成することになる。

  • ルート証明書
  • サーバ証明書
  • サーバの秘密鍵

上記のQNAP公式サイトでは、2通りの作成方法が載ってるので、それぞれに補足を。

OpenSSLを使った証明書の作成

OpenSSLは、SSL証明書を作成できるオープンソースソフトウェア。

以下からダウンロードできる。

https://www.openssl.org/source/(Linux用)

https://wiki.openssl.org/index.php/Binaries(Windows用)

今回は、Windows用パッケージで行う。
バージョンはv1.1.0c

補足1:
上記サイトではOpenSSL for Windowsは解凍すれば使えるように書かれているが、最新版ではインストーラ形式となっていてインストールが必要である。

以下、コマンドを実行順に記載する。
QNAP公式サイトで間違っていたコマンドは赤字で記載する。

cd C:\OpenSSL-Win32\bin
Set openssl_CONF=openssl.cfg
openssl genrsa -des3 -out rootCA.key 2048

→コマンド後、パスワード設定のため2回入力。

openssl req -x509 -new -nodes -key rootCA.key -days 730 -out rootCA.pem

→コマンド後、ルート証明書の情報を入力する。

※注:ここでのCommon Nameはサーバ名とは違う名前にすること

openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr

→コマンド後、サーバ証明書の情報を入力する。

※注:ここでのCommon Nameはサーバ名にすること

openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 730

コマンド操作はここまで。
次にもう一方の作成方法の補足を記載する。

ジェネレータサイトによる作成

以下のサイトから証明書を作成できる。

http://www.selfsignedcertificate.com/

Server Name」の欄に、サーバのIPアドレスまたは、サーバ名を入力して「Generate >>」をクリックする。

ジェネレータサイトで証明書作成01

[サーバ名].keyと、[サーバ名].certの2ファイルが作成されるので、リンクをクリックしてそれぞれダウンロードする。

ジェネレータサイトで証明書作成02

証明書のインストール方法

証明書のインストールに関しては、QNAP公式サイトの説明通りで問題ない。

補足2:ブラウザごとの対応
自己署名証明書に対するブラウザごとの対応は以下の通り。

  • Edge
    信頼できるルート証明書として作成したルート証明書をインストールすればアクセス可能

  • Firefox
    例外として登録すればアクセス可能

  • Chrome
    信頼できるルート証明書として作成したルート証明書をインストールすればアクセス可能

以上で、自己署名証明書によるSSL接続が可能になる。

ただし、外部からインターネット経由で利用する場合など、一定のセキュリティを求める場合は、きちんとした認証機関からの証明書を使用した方が良い。

LAN内使用など、限られた環境で使うようにすること。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください