VMサーバとVMエージェントのHTTPS対応手順
VMサーバのWebサーバをHTTPS対応とする手順です。正規のSSL証明書の設定の方法と、自己署名証明書の設定の方法の二つを説明します。
正規のSSL証明書の設定と、自己署名証明書の設定は、同時に使用できません。どちらか一方を設定してください。変更する場合は、必ず一度SSLの無効化(アンインストール)を行ってから行うようご注意下さい。
[正規のSSL証明書のインストール]
SSL証明書のベンダや組織内CA(Certificate Authority,認証局)等で発行された証明書をインストールする手順です。
SSL証明書の取得の仕方は、SSL証明書のベンダの手順で実施してください。VMサーバでは、取得したSSL証明書のインストール方法のみ提供しています。 この手順ではVMサーバのアーカイブ(sidfmvm-x.x.x.tar.gz) に含まれるtls_install.sh を使用します。
また、使用する各ファイルは以下のような意味です。
- ssl.crt - 証明書ファイル
- ssl.key - 秘密鍵ファイル
- chain.crt - 中間証明書ファイル
-
VMサーバプログラムのインスールディレクトリに移動します。
$ cd /var/lib/sidfm/sidfmvm
-
SSL証明書のインストール(中間証明書無しの場合)
$ sudo ./tls_install.sh -cert ssl.crt $ sudo ./tls_install.sh -key ssl.key $ sudo ./tls_install.sh -apply Server Disabled Server Enabled
-
SSL証明書のインストール(中間証明書有りの場合)
$ sudo ./tls_install.sh -cert ssl.crt $ sudo ./tls_install.sh -key ssl.key $ sudo ./tls_install.sh -chain chain.crt $ sudo ./tls_install.sh -apply Server Disabled Server Enabled
[正規のSSL証明書のアンインストール]
正規のSSL証明書をアンインストールする手順です。
-
VMサーバプログラムのインスールディレクトリに移動します。
$ cd /var/lib/sidfm/sidfmvm
-
SSL証明書のアンインストールします。
$ sudo ./tls_install.sh -clean Server Disabled Server Enabled
[自己署名証明書のイントール]
自己署名証明書をインストールする手順です。
以下の host.example.com は、VMサーバへアクセスする際のURLのホスト名と完全に一致している必要がありますのでご注意下さい。
-
VMサーバをインストールしたホストで以下のコマンドを実行します。
$ sudo docker exec sidfmd /ca -init
$ sudo docker exec sidfmd /ca -add host.example.com
$ sudo docker exec sidfmd /vm_manage server disable
$ sleep 5
$ sudo docker exec sidfmd /vm_mamage server enable
-
WebブラウザやOSに証明書をインストールします。
上記の操作で https://host.example.com/redmine/ でアクセスできるようになりますが、自己認証局で発行した証明書を使用しているためWebブラウザやOSに証明書をインストールする必要があります。
$ sudo docker exec sidfmd /ca -show_ca > vm-server.crt
[Widnowsの例]1. 証明書(vm-server.crt)を右クリック
2. 証明書のインストール
3. 「信頼されたルート証明機関」の証明書ストアへインストール
[自己署名証明書の更新]
自己署名証明書の更新、ホスト名変更の手順です。
自己署名証明書の期限は10年間で作成していますので、通常は更新の必要はありません。
-
VMサーバをインストールしたホストで以下のコマンドを実行します。
$ sudo docker exec sidfmd /ca -revoke host.example.com
$ sudo docker exec sidfmd /ca -add host.example.com
[VMサーバのhttp(80/tcp)の無効化手順]
VMサーバのhttp(80/tcp)の無効化手順です。
-
root ユーザに昇格します。
$ su -
-
VMサーバのアーカイブファイルを展開したディレクトリに移動します。もし他のディレクトリにインストールした場合は、以降の説明はインストールしたディレクトリで読み替えて下さい。
# cd /var/lib/sidfm/sidfmvm
VMサーバのインストール時にVMサーバのアーカイブファイル(sidfmvm-1.0.?.tar.gz)を展開したディレクトリに移動します。もし削除してしまった場合は、以下の手順で改めてダウンロードし、ファイルを展開してください。なお、手順最後の「7. イメージを生成します。」は実行する必要はありません。
Red Hat Enterprise Linux 7 / CentOS 7 に VM サーバをインストールする
Ubuntu 18.04 LTS に VM サーバをインストールする -
sidfmd-start.shファイルを編集します。sidfmd-start.shを編集し、80/tcp(http)の設定を削除します。
# vi sidfmd-start.sh
[修正前]sudo docker container run -td -p 80:80 -p 443:443 --name=sidfmd sidfmd
[修正後]sudo docker container run -td -p 443:443 --name=sidfmd sidfmd
-
VMサーバを一度停止します。
# ./sidfmd-stop.sh
-
2.で編集されたスクリプトを利用して、VMサーバを起動します。
# ./sidfmd-start.sh
# docker exec sidfmd /vm_manage server enable
# docker exec sidfmd /vm_manage issue_update enable
「already enabled」というメッセージが出力される場合がありますが、動作に影響はありませんので無視してください。
[HTTPS化の解除]
HTTPS化の解除手順です。
-
VMサーバをインストールしたホストで以下のコマンドを実行します。
$ sudo docker exec sidfmd /ca -clean
$ sudo docker exec sidfmd /vm_manage server disable
$ sleep 5
$ sudo docker exec sidfmd /vm_manage server enable
[VMエージェントの証明書ファイルの設定方法]
VMエージェントへの証明書ファイルの設定手順です。
通常通りVMエージェント のインストールが終了した状態を前提とします。
VMエージェントへ証明書ファイルの設定が必要な場合は、SSL証明書のベンダが発行したSSL証明書以外の証明書によるHTTPS化(組織内CAや自己署名証明書)を行い、かつ、VMサーバとVMエージェントとの通信をHTTPSにしたい場合に限ります。
HTTPでの通信のみの場合や、SSL証明書のベンダが発行したSSL証明書を利用する場合には、VMエージェントに証明書ファイルを設定する必要はありません。
HTTPでの通信のみの場合や、SSL証明書のベンダが発行したSSL証明書を利用する場合には、VMエージェントに証明書ファイルを設定する必要はありません。
[Ubuntu/Debian版、REHL/CentOS]
-
root権限で以下のコマンドを実行し、証明書ファイル(vm-server.crt)をインストールします。
# /opt/softek/bin/ca_install.sh vm-server.crt
[Windows]
-
以下の手順で証明書の登録を行います。
1. 証明書(vm-server.crt)を右クリック
2. 証明書のインストール
3. 「信頼されたルート証明機関」の証明書ストアへインストール
設定完了後、VMエージェントで、generate_config.rb (Windows版では generate_config.ps1)のAPI URLの指定を http:// から https:// に変更して実行することで、VMサーバへのアクセスに https を利用するようになります。