HSTS環境でOpsCenterサーバーのHTTPSを無効にする
HSTS環境でOpsCenterサーバーのHTTPSを無効にします。
始める前に
実稼働システムでOpsCenterサーバーからHTTPSを削除することはあまりありませんが、開発およびテスト段階では必要な場合があります。HSTS環境ではHTTPSの無効化プロセスが複雑になります。これは、HTTPSサービスが無効になっても、それまでHSTSヘッダーを受信していたブラウザーは暗号化されていないHTTPを介したOpsCenterへの接続を拒否するためです。HSTS環境でHTTPSを無効にするときは、まずhsts_max_age
を10秒などの非常に小さな値に設定します(デフォルト値は31536000秒、つまり1年です)。大幅に値を小さくすると、それ以降、各ブラウザーはOpsCenterに接続して更新されたヘッダーを受信し、ヘッダーはただちに期限切れになるため、HSTSが実質的に無効になります。OpsCenterにアクセスするすべてのブラウザーが更新されたヘッダーを受信するまでの間、HTTPSは有効のまま、hsts_max_age
を非常に小さな値に設定してOpsCenterを引き続き実行します。その時点で、サポートされているブラウザーがOpsCenterに接続する機能を中断することなく、HTTPSとHSTSを完全に無効にすることができます。
HTTPSが既に無効になっており、ブラウザーが現在OpsCenterに接続できない場合は、以下の方法を使用できます。
- HTTPSを再び有効にし、前述のとおり
hsts_max_age
の値を小さくします。 - ブラウザーのHSTSヘッダー・キャッシュを手動で消去します。これには、OpsCenterにアクセスするすべてのブラウザーにアクセスする必要があります。HSTSヘッダーのキャッシュの消去については、ブラウザーのメーカーのドキュメントを参照してください。
opscenterd.conf
opscenterd.confファイルの場所は、インストールのタイプによって異なります。
- パッケージ・インストール:/etc/opscenter/opscenterd.conf
- tarボール・インストール:install_location/conf/opscenterd.conf
手順
- OpsCenter構成ファイルopscenterd.confを開きます。
-
[webserver]
セクションで、必要に応じて以下の変更を行います。-
HSTSの有効期限が長い場合は、
hsts_max_age
の値を小さくします。 - opscenterd.confを保存し、OpsCenterを再起動します。
- すべてのブラウザー・クライアントが接続し、有効期限を短く設定して更新されたhstsヘッダーを確実に受信するまで、しばらくの間、OpsCenterをこの状態で実行します。
-
HSTSの有効期限が長い場合は、
-
opscenterd.confをもう一度開きます。sslおよびmax ageオプションをコメントアウトします。以下の例に示すように、
hsts_enabled
をFalseに設定します(またはコメントアウトします)。[webserver] port = 8888 interface = 127.0.0.1 #ssl_keyfile = /var/lib/opscenter/ssl/opscenter.key #ssl_certfile = /var/lib/opscenter/ssl/opscenter.pem #ssl_port = 8443 hsts_enabled = False #hsts_max_age = 31536000
-
opscenterd.confを保存し、OpsCenterを再起動します。
HSTSヘッダーを持つクライアントが接続できない場合は、有効期限を短くしてhttpsを再び有効にするか、ブラウザーのベンダーのドキュメントでHSTSヘッダー・キャッシュの消去方法を参照してください。