LoginSignup
1
0

Dream Machine Special EditionでSSL証明書を更新する方法

Posted at

はじめに

この記事ではUbiquiti Networks社より販売されているDream Machine Special Edition(以降、UDM-SE)を使って、SSL証明書の更新方法をまとめています。
毎回下記が表示されるのも面倒ですしね。
image.png
公式ではやり方のドキュメントがなく、コミュニティでは正しいやり方がまとまってなかったり、そもそもコミュニティは英語メインなので情報が見つけづらかったりするので日本語ベースでまとめて、誰かの役に立てばと思います。

事前準備

全部を手取り足取り説明すると大変なので、下記が出来ていることを条件としています。

  1. UDM-SEの初期セットアップが完了している。
  2. UDM-SEにSSHを利用して接続することが出来る。
  3. SSL証明書を発行することが出来る。
  4. CAの役割をさせるサーバの証明書を「信頼できるルート証明機関」にインポートされていること。

手順

証明書の発行

証明書の発行をしていきます。
今回は[.pfx]ファイルを利用していきます。
私はADサーバを構築し、AD CSに証明書要求をしています。

UDM-SEへのSSH接続

コマンドプロンプトでもPowerShellでもTeraTermでもいいですが、UDM-SEにSSH接続をします。
私はTeraTermを使います。

ユーザー名はroot、パスワードは任意のものを利用してください。
UniFi OSでSSHのパスワードを変更することも出来ます。
image.png

証明書の配置

証明書の場所の確認

既存の証明書は下記の保存されています。

/ssd1/.data/unifi-core/config/

lsコマンドでディレクトリを覗くとこんな感じです。

root@UDM-SE:~# ls -la /ssd1/.data/unifi-core/config/
total 68
drwxr-xr-x 2 root root 4096 Jun 24 08:59 ./
drwxr-xr-x 8 root root 4096 Jun 24 09:03 ../
-rw-r--r-- 1 root root  103 Jun 21 03:14 apps.availableUpdates.yaml
-rw-r--r-- 1 root root  155 Jun 16 00:17 apps.userPrefs.yaml
-rw-r--r-- 1 root root 3323 Jun 16 00:25 cloud.yaml
-rw-r--r-- 1 root root 2203 Jun 24 09:12 firmware.yaml
-rw-r--r-- 1 root root   73 Jun 16 00:25 jwt.yaml
-rw-r--r-- 1 root root  554 Jun 24 00:39 settings.yaml
-rw-r--r-- 1 root root 5688 Jun 16 00:25 unifi-core-direct.crt
-rw-r--r-- 1 root root 1702 Jun 16 00:17 unifi-core-direct.key
-rw------- 1 root root 2371 Jun 24 08:53 unifi-core.crt
-rw------- 1 root root 1977 Jun 24 08:52 unifi-core.key
root@UDM-SE:~#
  • unifi-core.crt
  • unifi-core.key

この2つが今回のターゲットです。この証明書と鍵を作製した証明書と置き換えていきます。

証明書の転送

SSHの接続元からUDM-SEに向けてSCPで証明書を転送します。
TeraTermなら比較的簡単に出来ます。
ファイル(F)からSSH SCP...を選択します。
image.png

Fromは任意のディレクトリの[.pfx]ファイルを指定します。
Toには証明書を配置する場所を指定しておきます。
別にtmpディレクトリでもいいです。
image.png

転送が出来たらlsコマンドで再度確認してみましょう。

root@UDM-SE:~# ls -la /ssd1/.data/unifi-core/config/
total 68
drwxr-xr-x 2 root root 4096 Jun 24 08:59 ./
drwxr-xr-x 8 root root 4096 Jun 24 09:03 ../
-rw-r--r-- 1 root root 4543 Jun 23 22:08 sample.pfx
-rw-r--r-- 1 root root  103 Jun 21 03:14 apps.availableUpdates.yaml
-rw-r--r-- 1 root root  155 Jun 16 00:17 apps.userPrefs.yaml
-rw-r--r-- 1 root root 3323 Jun 16 00:25 cloud.yaml
-rw-r--r-- 1 root root 2203 Jun 24 09:12 firmware.yaml
-rw-r--r-- 1 root root   73 Jun 16 00:25 jwt.yaml
-rw-r--r-- 1 root root  554 Jun 24 00:39 settings.yaml
-rw-r--r-- 1 root root 5688 Jun 16 00:25 unifi-core-direct.crt
-rw-r--r-- 1 root root 1702 Jun 16 00:17 unifi-core-direct.key
-rw------- 1 root root 2371 Jun 24 08:53 unifi-core.crt
-rw------- 1 root root 1977 Jun 24 08:52 unifi-core.key

sample.pfxが配置できていますね。

ファイルのバックアップ

既存の証明書ファイルのバックアップを取ります。
まず、証明書ファイルのあるディレクトリに移動します。

cd /ssd1/.data/unifi-core/config/

その後、ファイルをバックアップします。
crtとkeyファイルを両方ともバックアップします。

mv unifi-core.crt unifi-core.crt.bak
mv unifi-core.key unifi-core.key.bak

lsコマンドで確認したら完了です。

root@UDM-SE:~# ls -la
total 68
drwxr-xr-x 2 root root 4096 Jun 24 08:59 ./
drwxr-xr-x 8 root root 4096 Jun 24 09:03 ../
-rw-r--r-- 1 root root 4543 Jun 23 22:08 sample.pfx
-rw-r--r-- 1 root root  103 Jun 21 03:14 apps.availableUpdates.yaml
-rw-r--r-- 1 root root  155 Jun 16 00:17 apps.userPrefs.yaml
-rw-r--r-- 1 root root 3323 Jun 16 00:25 cloud.yaml
-rw-r--r-- 1 root root 2203 Jun 24 09:12 firmware.yaml
-rw-r--r-- 1 root root   73 Jun 16 00:25 jwt.yaml
-rw-r--r-- 1 root root  554 Jun 24 00:39 settings.yaml
-rw-r--r-- 1 root root 5688 Jun 16 00:25 unifi-core-direct.crt
-rw-r--r-- 1 root root 1702 Jun 16 00:17 unifi-core-direct.key
-rw-r--r-- 1 root root 1192 Jun 16 00:17 unifi-core.crt.bak
-rw-r--r-- 1 root root 1702 Jun 16 00:17 unifi-core.key.bak

pfxファイルからcrt,keyファイルを作成する

pfxファイルのままではUDM-SEで証明書として使えないので、crtファイルとkeyファイルに変換していきます。
UDM-SEにはデフォルトでopensslがインストールされているので、opensslコマンドを利用します。

pfxファイルからcrtファイルを作成する

openssl pkcs12 -in sample.pfx -clcerts -nokeys -out unifi-core.crt

pfxファイルからkeyファイルを作成する

openssl pkcs12 -in sample.pfx -nocerts -nodes -out unifi-core.key

lsコマンドで確認をします。

root@UDM-SE:~# ls -la /ssd1/.data/unifi-core/config/
total 68
drwxr-xr-x 2 root root 4096 Jun 24 08:59 ./
drwxr-xr-x 8 root root 4096 Jun 24 09:03 ../
-rw-r--r-- 1 root root 4543 Jun 23 22:08 sample.pfx
-rw-r--r-- 1 root root  103 Jun 21 03:14 apps.availableUpdates.yaml
-rw-r--r-- 1 root root  155 Jun 16 00:17 apps.userPrefs.yaml
-rw-r--r-- 1 root root 3323 Jun 16 00:25 cloud.yaml
-rw-r--r-- 1 root root 2203 Jun 24 09:12 firmware.yaml
-rw-r--r-- 1 root root   73 Jun 16 00:25 jwt.yaml
-rw-r--r-- 1 root root  554 Jun 24 00:39 settings.yaml
-rw-r--r-- 1 root root 5688 Jun 16 00:25 unifi-core-direct.crt
-rw-r--r-- 1 root root 1702 Jun 16 00:17 unifi-core-direct.key
-rw------- 1 root root 2371 Jun 24 08:53 unifi-core.crt
-rw-r--r-- 1 root root 1192 Jun 16 00:17 unifi-core.crt.bak
-rw------- 1 root root 1977 Jun 24 08:52 unifi-core.key
-rw-r--r-- 1 root root 1702 Jun 16 00:17 unifi-core.key.bak

再起動

ここまで出来たらほぼ完了です。
UDM-SEをリスタートします。
image.png
Restartをクリックするか、Turn Offで安全なシャットダウンをしてもいいです。

起動してWebブラウザでアクセスし、上手くいくと下記のようになります。
image.png

ちゃんと接続が保護されるようになりました。
image.png

最後に

今回はUDM-SEのSSL証明書更新方法を書いていきました。
毎回思いますが、Ubiquti Networksは安く、性能もいいですが、公式ドキュメントが少ないのが難点ですね。
そもそもそんなに弄らない想定なのかもしれませんけどね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0