kusanagi ssl –hstsコマンドがエラーになったらφ(`・ω・´)φ


11回目の投稿となります。
NHN JAPANの遠藤と申します。 よろしくお願いいたします。 弊社で提供しているKUSANAGIを利用したホスティングサービスでは、コマンドラインでの操作が不安なお客様に対し、要望に応じたKUSANAGIコマンドでの作業代行依頼を一部標準で承っています。 一番多くいただく依頼はSSL設定となりますが、ある時期から代行時に行っているコマンド操作が通らなくなってしまいましたヾ(・ε・。) 今回はその解決法について・・・・ SSL関連の設定依頼は主に次のものを行っています。
1.Let’s EncryptによるSSL証明書の設置
2.http から https へのリダイレクト
3.hstsの設定 コマンドラインはそれぞれウェブ上の公式ドキュメントでは次のように記されています。
1.kusanagi ssl –email john@example.com saya
2.kusanagi https redirect
3.kusanagi hsts {on|off} なお、この記事の下書きは2018.10月頃に書いたもので数ヶ月経過した今、上記のコマンドラインで一部のバージョンを除き問題無く設定可能になっています。。。
この下書きをしていた頃、hstsに関するコマンドは公式ドキュメント上に {on|off} の表記がされていなかったため、従来のhstsに関連したコマンドを発行するとエラーになっていました。 従来のコマンドは現在も kusanagi man コマンドで確認可能ですが、このコマンドは現時点で利用出来ません。
厳密には従来=KUSANAGIのバージョン8.4.0以前
現時点=KUSANAGIのバージョン 8.4.0以降だと利用出来なくなっています。


■ マニュアルファイルに書かれているHSTSのドキュメント(古い形式)
# man kusanagi |grep HSTS
 HSTS(HTTP Strict Transport Security)の設定を有効にします。
 off: HSTSを無効にします。
 weak: HSTSを有効にします。(サブドメインを含みません)
 mid: HSTSを有効にします。(サブドメインを含みます。Preloadingは行いません。)
 high: HSTSを有効にします。(サブドメインを含みます。Preloadingを行います。)
■ ヘルプに書かれているHSTSのドキュメント(新しい形式)
# kusanagi -h |grep hsts
 [--hsts {on|off}]
マニュアルとヘルプで表記がまだ違うようですが、弊社では代行設定をする際、次の3パターンに応じて設定を行っています。 (パターンA)
KUSANAGIのバージョンが8.4.0以前、KUSANAGI8.4.0以前にプロビジョニングされたサイト
古い形式で設定します
 # kusanagi ssl --hsts [off|weak|mid|high]
(パターンB)
KUSANAGIのバージョンが8.4.0以降でKUSANAGI8.4.0以降にプロビジョニングされたサイト
新しい形式で設定します
# kusanagi ssl --hsts [on|off]
(パターンC)
KUSANAGIのバージョンが8.4.0以降かつKUSANAGI8.4.0以前にプロビジョニングされたサイト
手動でadd_header Strict-Transport-Securityヘッダーをnginxやapacheのコンフィグで設定
アップデート情報には書かれていなかったコマンド変更があったようなのでSSL関連の作業代行しようとしたとき、少し戸惑いました(〃ノωノ) ではまた2ヵ月後くらいに┏○

Post Author: 遠藤博樹(NHN JAPAN株式会社)

遠藤博樹(NHN JAPAN株式会社)
前職ではまだヒットチャート上位ランクインがステータスとなる2000年代に某女性3人組バンドのマネージャーを務めていてましたが、解散をきっかけに退社し、2008年にNHNテコラス(旧社名ライブドア)に入社。 2018.4月には親会社となるNHN JAPANに転籍をしていますが、一貫してホスティングサービスのサポートスタッフ・企画運営としてお客様対応を行っています。ここでは主にKUSANAGI搭載ホスティングサービスを提供している中で、お客様からいただきましたお問い合わせをヒントに技術的な内容を書いていければと考えております。