HTTPS通信でWebコンソールにアクセスする場合は、HTTP通信(デフォルト)をHTTPS通信に変更します。
目的・背景
セキュアな運用を行う場合、本手順を実施することでITサービス管理のすべてのWebインターフェース(Webコンソール(運用者/管理者用)、Webコンソール(利用者用))がHTTPS通信に変更されます。
手順
-
ITサービス管理がインストールされているサーバに、スーパー・ユーザーでログインします。
-
証明書/鍵管理環境用のディレクトリを作成します。
-
証明書、秘密鍵管理に必要な3つの管理ディレクトリ(運用、証明書、CRL)を作成します。
例)
# mkdir -p /export/home/sslcert 運用管理ディレクトリ
# mkdir -p /export/home/sslcert/cert 証明書管理ディレクトリ
# mkdir -p /export/home/sslcert/crl CRL管理ディレクトリ
-
秘密鍵/証明書を作成します。
-
秘密鍵を作成します。
# /opt/FJSVbsmsvd/bsmahs/oss/openssl/bin/openssl genrsa -out 秘密鍵のパス -passout pass:パスフレーズ -aes256 2048
例)
秘密鍵のパスが、「/export/home/sslcert/cert/server.key」、
パスフレーズが、「a1bcd2efgh3ijkl4」の場合
# /opt/FJSVbsmsvd/bsmahs/oss/openssl/bin/openssl genrsa -out /export/home/sslcert/cert/server.key -passout pass:a1bcd2efgh3ijkl4 -aes256 2048
-
証明書署名要求を作成します。
詳細な証明書署名要求の作成方法については、認証局にご確認ください。
参考情報として、以下に証明書署名要求の作成例を示します。
# /opt/FJSVbsmsvd/bsmahs/oss/openssl/bin/openssl req -new -key 秘密鍵のパス -out 証明書署名要求のパス -config openssl.cnfのパス -subj "{[/C=国名][/ST=都道府県名][/L=市区町村名][/O=組織名][/CN=コモンネーム(FQDN)]}" -passin pass:パスフレーズ
例)
秘密鍵のパスが、「/export/home/sslcert/cert/server.key」、
証明書署名要求のパスが、「/export/home/sslcert/server.csr」、
openssl.cnfのパスが、「/opt/FJSVbsmsvd/bsmahs/oss/openssl/ssl/openssl.cnf」、
国名が、「JP」、
都道府県名が、「Kanagawa」、
市区町村名が、「Kawasaki-city」、
組織名が、「Fujitsu」、
コモンネーム(FQDN)が、「www.cbsm.local」、
パスフレーズが、「a1bcd2efgh3ijkl4」の場合
# /opt/FJSVbsmsvd/bsmahs/oss/openssl/bin/openssl req -new -key /export/home/sslcert/cert/server.key -out /export/home/sslcert/server.csr -config /opt/FJSVbsmsvd/bsmahs/oss/openssl/ssl/openssl.cnf -subj "/C=JP/ST=Kanagawa/L=Kawasaki-city/O=Fujitsu/CN=www.cbsm.local" -passin pass:a1bcd2efgh3ijkl4
-
作成された証明書署名要求ファイルを認証局へ送付し、サイト証明書の発行を依頼します。依頼方法は認証局に従ってください。
-
認証局により署名されたサイト証明書を取得します。取得方法は認証局に従ってください。取得したサイト証明書は、「証明書管理ディレクトリ」へ配置してください。
例)
サイト証明書が、「server.pem」、
証明書管理ディレクトリが、「/export/home/sslcert/cert」の場合
# mv server.pem /export/home/sslcert/cert
-
中間CA証明書を利用する場合は、認証局により署名されたサイト証明書に中間CA証明書マージして、サイト証明書に中間CA証明書を含めてください。
-
パスフレーズを、パスフレーズ管理ファイルに登録します。
-
ahsregistupinコマンドにより、パスフレーズを暗号化してパスフレーズ管理ファイルに登録します。
# /opt/FJSVbsmsvd/bsmahs/bin/ahsregistupin -f パスフレーズ管理ファイル
例)
パスフレーズ(対話入力)を暗号化して登録するパスフレーズ管理ファイルが、「/export/home/sslcert/upinfile」の場合
# /opt/FJSVbsmsvd/bsmahs/bin/ahsregistupin -f /export/home/sslcert/upinfile
-
Webサーバを停止します。
-
HTTPS通信の環境設定を行う前に、Webサーバを停止します。
-
HTTPS通信の環境設定を行うために、環境設定ファイル「httpd.conf」を編集します。
-
「httpd.conf」を開きます。
# vi /opt/FJSVbsmsvd/bsmahs/conf/httpd.conf
-
「socache_shmcb_module」を有効に指定します。
LoadModule socache_shmcb_module "/opt/FJSVbsmsvd/bsmahs/modules/mod_socache_shmcb.so"
-
「ssl_module」を有効に指定します。
LoadModule ssl_module "/opt/FJSVbsmsvd/bsmahs/modules/mod_ssl.so"
-
「ServerAdmin」にて、サーバの管理者のE-mailアドレスを指定します。
ServerAdmin サーバの管理者のE-mailアドレス
例)
サーバの管理者のE-mailアドレスが、「webmaster@main.example.com」の場合
ServerAdmin webmaster@main.example.com
-
「ServerName」にて、サーバのホスト名を指定します。
例)
サーバのホスト名が、「www.cbsm.local」の場合
ServerName www.cbsm.local
-
「SSLProtocol」にて、SSLプロトコルバージョンを指定します。
SSLProtocol SSLプロトコルバージョン指定
例)
SSLプロトコルバージョンが、「TLSv1.2とTLSv1.3を使用」の場合
SSLProtocol TLSv1.2 +TLSv1.3
-
「SSLUserPINFile」にて、パスフレーズ管理ファイルを指定します。
SSLUserPINFile パスフレーズ管理ファイル
例)
パスフレーズ管理ファイルが、「/export/home/sslcert/upinfile」の場合
SSLUserPINFile /export/home/sslcert/upinfile
-
「SSLEngine」に、「on」を指定します。
-
「SSLCertificateFile」にて、サイト証明書を指定します。
SSLCertificateFile サイト証明書
例)
サイト証明書が、「/export/home/sslcert/server.pem」の場合
SSLCertificateFile /export/home/sslcert/server.pem
-
「SSLCertificateKeyFile」にて、秘密鍵を指定します。
SSLCertificateKeyFile 秘密鍵
例)
秘密鍵が、「/export/home/sslcert/server.key」の場合
SSLCertificateKeyFile /export/home/sslcert/server.key
-
「SSLCipherSuite」にて、使用可能な暗号リストを指定します。
SSLCipherSuite 使用可能な暗号リスト
例)
使用可能なTLSv1.2の暗号リストが、「ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA」、
使用可能なTLSv1.3の暗号リストが、「TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256」の場合
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA
SSLCipherSuite TLSv1.3 TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
-
「<IfModule ssl_module>」の定義を有効にします。
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
-
Webサーバを再起動します。
-
Webサーバを再起動します。
Webサーバの起動に失敗する場合は、以下を確認してください。
- 環境設定ファイル(httpd.conf)の設定に誤りがないか
- 作成したした証明書に誤りがないか
-
ITサービス管理のWebコンソールの表示確認を行います。
-
Webブラウザを起動して、以下のHTTPSのURLを指定します。
https://証明書取得申請時に指定したコモンネーム(FQDN):Webコンソールのポート番号/otrs/index.pl
-
ブラウザの信頼できるルート証明書に、ルート証明書をインポートします。
-
管理者権限を持つユーザーでログインします。
証明書取得申請時に指定したコモンネーム(FQDN)を指定しないでログイン画面を表示した場合、SSL証明書の警告が表示される場合があります。
-
ITサービス管理のHTTPS通信の設定を変更します。
-
ナビゲーション・バーの[管理]をクリックします。
-
[システム管理]の[システムコンフィグ]をクリックします。
-
[選択した設定グループへ移動]で[Framework]を選択し、サブグループの[Core]をクリックします。
-
[HttpType]で、[https]を選択します。
-
[更新]をクリックします。
-
ログアウトアイコンをクリックしログアウトします。
-
運用者と利用者のブラウザにルート証明書をインポートします。
-
ITサービス管理を利用する運用者と利用者に対して、信頼できるルート証明書を配布します。
-
運用者と利用者が利用するブラウザの信頼できるルート証明書に、ルート証明書をインポートします。