Exploratory Collaboration ServerのSSL証明書の更新をしてみた

Exploratory Collaboration ServerのSSL証明書の更新をしてみた | Tableau-id Press -タブロイド-
1_エラー

1.はじめに

こんにちは、truestarの吉村です。
前回はExploratory Collaboration Serverのバージョンアップに関して紹介しました。
今回も引続きCollaboration Serverに関連した話をします。
前回よりさらにニッチな話ですが、SSL証明書の更新について紹介します。

2.背景

弊社はExploratory Collaboration Serverを導入しています。(AWSのLinux環境にて導入)
導入して早くも1年経過しました。
1年でSSL証明書の期限が過ぎるため更新が必要なのですが、対応をすっかり忘れており期限が過ぎてしまいました。
そのためサーバにアクセスすると下記のエラー画面が表示されてしまいました。
今回はこちらの対応方法を紹介します。

3.手順

〇前提

Exploratory社より、Collaboration ServerにHTTPS(SSL接続)を設定する方法が公開されております。
弊社の場合、こちらの対応をサーバ導入時に実施しております。
上記URLを読み解くと『SSL証明書ファイル(fullchain.pem)の更新を行うことでSSL証明書の更新ができる』ようなのでそのように対応します。
※以降の手順は弊社環境の場合の手順です(上記URL内の対応を行っている前提での手順です)
※環境が異なる場合は同じ方法が適応できない可能性があります ご注意ください

①Exploratory Collaboration ServerにSSHでログイン

サーバのアップデートの時と同様にSSLログインします。
弊社ではTera Termというツールを使ってログインしています。
ログインできると、下記のような画面が表示されます。

②SSL証明書ファイル(fullchain.pem)を探す

Exploratoryサーバを導入時に『ssl』ディレクトリを作成しているのでそちらを探します。
弊社環境の場合は『/usr/exploratory/ssl』というところにありました。
lsコマンドを実行してみると2ファイル見つかりました。(oldはバックアップ用のフォルダなので無視してください)
こちらがSSL証明書ファイルと秘密鍵ファイルのようです。
・cert.pem
・expkey.pem

ところが、Exploratory社の説明には以下の旨の記載があります。
・SSL証明書ファイル:fullchain.pem
・秘密鍵ファイル:privkey.pem
ファイル名が弊社環境と一致しません、、、、
どうやら弊社環境は独自の名前で管理している模様です。

ファイル名から想像はできますが、どちらがどちらに対応するのかを念のため確認します。
exploratory』ディレクトリ直下のdefault.conf』というファイルに設定が記載があるようなので、Viでファイルを開いてみます。

Viで開くと上記の内容になっていました。
赤で囲った部分のうち、上がSSL証明書ファイル(fullchain.pem)を表します。
よって、弊社環境の場合は『cert.pem』というファイルを更新すればSSL証明書の更新ができることが分かりました。
(同様に下のexpkey.pemが秘密鍵ファイルです)

③SSL証明書ファイル(fullchain.pem)を更新する

手順②で見付けたfullchain.pem(弊社環境のcert.pem)をViで開きます。

すると以下のように大量の文字列が羅列されたファイルになっています。
(セキュリティの都合上、モザイクを掛けているため分かりにくいですが、、、)

こちらが現状のSSL証明書です。

こちらを新しい『SSL証明書』に書き換えます。
弊社環境の場合、以下にように『SSL証明書(RSA/SHA-256)』と『中間CA証明書』を1ファイルに連続して記載しています。

2つを1ファイルに記載するのが正しいかどうかは調べてもわかりませんでした。
恐らく私の前任者が苦労してこの形式に辿り着いたのだと思います。
今まで1年間動いていた実績もあるのでこの形式を維持してみます。
※参考になさる場合は、自己責任でお願い致します※

—–BEGIN CERTIFICATE—–
『RSA/SHA-256』の文字列
—–END CERTIFICATE—–

—–BEGIN CERTIFICATE—–
『中間CA証明書』の文字列
—–END CERTIFICATE—–

秘密鍵ファイル(弊社環境のexpkey.pem)も同じように更新します。

④再起動

ファイルの更新ができましたら、サーバの再起動(シャットダウン+起動)を行います。

シャットダウンは以下のコマンドを実行します。
sudo docker-compose down

起動は以下のコマンドを実行します。
sudo docker-compose up -d

以上で対応は完了です。
Collaboration Serverにアクセスして動作確認を行います。

4.まとめ

前回のサーバアップデートと同じく、なかなか複雑な手順でした。
(こちらは年に1回程度の対応で良い点が救いです、、、)
サーバ管理の話はなかなかマニアックなので、次回以降はサーバの使用に関して紹介していきたいと思います。

※本記事で紹介した内容は動作を保証するものではありません。利用は個人の責任の範囲でお願い致します

【毎週Exploratoryを紹介していきます】

truestarではこれからも毎週 #Exploratory の様々なトピックについて紹介していきます。お楽しみに!
※分析にまつわるお困りごとも、いつでもご相談お待ちしています。