HOME » 更新情報 » KUSANAGIバージョンアップ情報 7.8.2

KUSANAGIバージョンアップ情報 7.8.2

KUSANAGI バージョンアップ情報 7.8.2

KUSANAGI の新しいバージョン 7.8.2 がご利用いただけるようになりました。各クラウドで、新規にインスタンスを作成した場合は、KUSANAGIの初期設定のyumによるシステムアップデートを行うことによって、自動的に7.8.2にアップデートされます。
以前のバージョンをお使いいただいている場合は、root権限にて以下のコマンドを実行することで、7.8.2へのアップデートが可能となります。

# yum update -y kusanagi*

7.8.2の新機能については以下の通りとなります。

  1. kusanagi コマンドに setting を追加
  2. kusanagi コマンドに ssl を追加
  3. kusanagi コマンドに https を追加
  4. kusanagi コマンドに autorenewal を追加
  5. 2048bit DHE key の使用
  6. man page を追加

1. kusanagi コマンドに setting を追加

指定ターゲットに設定されているホスト名(FQDN)を、変更できるようになりました。
指定ターゲットのホスト名はkusanagi provision実行時に指定しますが、これを後から自由に変更することができます。

# kusanagi setting -–fqdn FQDN [profile]

【使用例】

  • ・現在指定されているターゲットのホスト名をsample.example.com に変更します。
    ※ 現在のターゲットは、kusanagi target コマンドにて確認できます
  • # kusanagi setting --fqdn sample.example.com
    
  • ・指定されたターゲット target のホスト名をsample.example.com に変更します。
  • # kusanagi setting --fqdn sample.example.com target
    

2. kusanagi コマンドに ssl を追加

kusanagi provision実行時にメールアドレスを指定することで、Let's Encrypt によるSSL証明書を設定できますが、
kusanagi provision実行時にメールアドレスを指定しないときでも、後からSSL証明書を設定できるようになりました。
このコマンドを実行することで、Let's Encrypt のSSL証明書を自動的に取得し、設定されるようになります。
また、証明書の自動更新設定も合わせて行われるため、取得後は手続きをすることなく継続的に Let's Encrypt SSL証明書を利用できるようになっています。

#kusanagi ssl –-email email@example.com [profile]

【使用例】

  • ・現在指定されているターゲットに、Let's EncryptのSSL証明書を設定します。
  • #kusanagi ssl --email john@example.com
  • ・指定されたターゲット target に、Let's EncryptのSSL証明書を設定します。
  • #kusanagi ssl --email john@example.com target

※ Let's Encrypt の証明書取得・更新は、プロビジョニング時に設定した FQDN でのサーバへのアクセスが可能な状態である必要があります。Basic認証が設定されている場合、および FQDN の DNS が未設定である場合、取得・更新ができなくなりますのでご注意ください。

※ Let's Encrypt のSSL証明書を利用する必要がない場合は、メールアドレスを入力せずに Enter することで、証明書取得プロセスが回避されます。

※ Let's Encrypt のSSL証明書は、ドメイン認証となっています。より強固な認証が必要とされる場合は、企業認証のSSL証明書をご利用ください。

※ Let's Encrypt のSSL証明書取得・更新は、APIを利用しています。このAPIには、時間およびドメインあたりの回数制限があるため、頻繁におこなうと制限される場合があります。

3. kusanagi コマンドに https を追加

http接続時に自動的にhttps接続へリダイレクトするかどうかを制御するコマンド、kusanagi https を追加いたしました。

#kusanagi https [redirect|noredirect]

【使用例】

  • ・現在、指定されているターゲットの http 接続を、自動的にhttps接続へリダイレクトします。
  • # kusanagi https redirect
    
  • ・現在、指定されているターゲットの http 接続を、自動的にhttps接続へのリダイレクトを解除します。
  • # kusanagi https noredirect
    

※ 現在のターゲットは、kusanagi target コマンドにて確認できます。

4. kusanagi コマンドに autorenewalを追加

Let’s Encryptの証明書の自動更新を有効化・無効化するコマンド、kusanagi autorenewal を追加いたしました。
provisionおよびssl実行直後は、Let's EncryptのSSL証明書自動更新が有効です。

#kusanagi autorenewal [on|off]

【使用例】

  • ・現在指定されているターゲットの、Let's EncryptのSSL証明書自動更新を有効にします。
  • kusanagi autorenewal on
  • ・現在指定されているターゲットの、Let's EncryptのSSL証明書自動更新を無効にします。
  • kusanagi autorenewal off

5. 2048bit DH鍵の使用

SSLをよりセキュアにするため、強力な公開鍵(2048bitのDH鍵)を使用したDH鍵交換をnginxに設定します。
kusanagi-7.8.2の更新時には、この公開鍵を生成するため少々時間がかかります。これは正常な動作です。
また、nginxで使用する暗号鍵の設定を変更し、より強力な暗号を使用するように設定します。
※Apacheへの適用は後日実施予定です。

7.8.2以前にプロビジョニングされたサイトでは、DH鍵交換の設定が指定されていません。そのため、以下のように設定ファイルを修正してください。

nginx設定ファイル

/etc/nginx/conf.d/*****_ssl.conf
※ ***** はプロビジョニング時の設定値
変更前

    ssl_ciphers  AESGCM:HIGH:!aNULL:!MD5;

変更後

       ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";

       ssl_dhparam /etc/kusanagi.d/ssl/dhparam.key;

       ssl_session_tickets     on;
       ssl_session_ticket_key     /etc/kusanagi.d/ssl_sess_ticket.key;

       ssl_stapling on;
       ssl_stapling_verify on;
       resolver 8.8.4.4 8.8.8.8 valid=300s;
       resolver_timeout 10s;

※ssl_ciphers 行はページの都合上改行しているように見えますが、”;”までが1行です。

6. man page を追加

kusanagi コマンドのman pageを用意しました。

# man kusanagi