HTTPS通信でWebコンソールにアクセスする場合は、HTTP通信(デフォルト)をHTTPS通信に変更します。
事前の確認
認証局に証明書の発行を依頼し、取得する必要があります。
Webコンソールにログインするすべてのブラウザに対して、信頼できるルート証明書にルート証明書をインポートする必要があります。
HTTPS通信の設定を行うと、ITサービス管理のWebコンソールとの通信がHTTPSに変更されます。HTTPS通信の設定後は、URLの「http」を「https」に読み替えてください。
利用できる通信プロトコルは、TLS1.2、TLS1.3です。
目的・背景
セキュアな運用を行う場合、本手順を実施することで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サーバを停止します。
# service bsm-ahs stop
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」にて、サーバのホスト名を指定します。
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」を指定します。
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>
SSLOpenSSLConfCmd Options NoRenegotiationを有効にします。
SSLOpenSSLConfCmd Options NoRenegotiation
Webサーバを再起動します。
Webサーバを再起動します。
# service bsm-ahs start
Webサーバの起動に失敗する場合は、以下を確認してください。
環境設定ファイル(httpd.conf)の設定に誤りがないか
作成したした証明書に誤りがないか
ITサービス管理のWebコンソールの表示確認を行います。
Webブラウザを起動して、以下のHTTPSのURLを指定します。
https://証明書取得申請時に指定したコモンネーム(FQDN):Webコンソールのポート番号/otrs/index.pl
ブラウザの信頼できるルート証明書に、ルート証明書をインポートします。
管理者権限を持つユーザーでログインします。
証明書取得申請時に指定したコモンネーム(FQDN)を指定しないでログイン画面を表示した場合、SSL証明書の警告が表示される場合があります。
ITサービス管理のHTTPS通信の設定を変更します。
ナビゲーション・バーの[管理]をクリックします。
[システム管理]の[システムコンフィグ]をクリックします。
[選択した設定グループへ移動]で[Framework]を選択し、サブグループの[Core]をクリックします。
[HttpType]で、[https]を選択します。
[更新]をクリックします。
ログアウトアイコンをクリックしログアウトします。
運用者と利用者のブラウザにルート証明書をインポートします。
ITサービス管理を利用する運用者と利用者に対して、信頼できるルート証明書を配布します。
運用者と利用者が利用するブラウザの信頼できるルート証明書に、ルート証明書をインポートします。