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

KUSANAGI モジュール更新情報

KUSANAGI を構成している各モジュールのアップデートを行いました。
アップデートにより適用される各モジュールのバージョンは、以下のとおりとなります。

OpenSSL1.0.2h
WordPress4.5.2
nginx1.10.0
PHP7.0.6

特に、OpenSSL 1.0.2h は重大なセキュリティフィクスを含む更新です。
CentOS 7 標準パッケージと共に更新を行い、サーバの再起動を行うかサービス再起動することを推奨します。
モジュールのアップデートについては、以下のコマンドで適用可能です。

# yum update

WordPress4.5.2へのアップデートは、WordPress管理画面より実施してください。また、併せてWordPressのプラグイン・テーマも同様に更新することをお勧めします。
KUSANAGIでは、プラグイン・テーマ等の追加や各種更新を行う際に、FTPの接続情報を要求されるようになっています。
この接続方法については、FAQ の Q3を参照してください。

KUSANAGI モジュールバージョンアップ情報

KUSANAGI を構成している各モジュールのアップデートを行いました。アップデートにより適用される各モジュールのバージョンは、以下のとおりとなります。

Nginx1.9.12
HHVM3.12.0
PHP77.0.4
WP-CLI0.23.0

特に、WP-CLI については、4月にリリースが予定されている WordPress 4.5 への対応バージョンが、0.23.0 以降となることが発表されております。WordPress 4.5にアップデートする際には、合わせてWP-CLIのアップデートも行うようにお願いいたします。

モジュールのアップデートについては、以下のコマンドで適用可能です。

# yum update

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

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

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

# yum update -y kusanagi*

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

  1. HTTP/2対応
  2. Let’s Encrypt の導入
  3. kusanagi コマンドに update cert を追加
  4. 構成ミドルウェア、アプリケーションのバージョンアップ

1. HTTP/2対応

HTTPS通信時において、HTTP/2 での通信が行えるようになりました。
HTTP/2 とは、ブラウザとの通信を多重化し、onloadまでの所要時間を短縮させる新しいプロトコルとなります。

※ HTTP/2 の詳細については、ウィキペディアのHTTP/2をご覧下さい。

※ 7.8以前にプロビジョニングされたサイトについては、7.8にアップデート後のHTTPS通信時もHTTP/2にはなりません。7.8以前にプロビジョニングされたサイトで、HTTP/2を利用する場合は、Webサーバの設定ファイルを以下の通り修正する必要があります。

nginx設定ファイル

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

修正前

location ~* /\. {
  deny all;
}

修正後

location ~* /\.well-known/ {
  allow all;
}

location ~* /\. {
  deny all;
}

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

修正前

location ~* /\. {
  deny all;
}

修正後

location ~* /\.well-known/ {
  allow all;
}
location ~* /\. {
  deny all;
}

修正前

listen 443 ssl;

修正後

listen 443 ssl http2;

修正前

ssl_ciphers HIGH:!aNULL:!MD5;

修正後

ssl_ciphers AESGCM:HIGH:!aNULL:!MD5;

apache設定ファイル

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

<VirtualHost *:443> 直下に以下を追加

Protocols h2 http/1.1

修正前

SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

修正後

SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK

2. Let’s Encrypt の導入

無料で利用出来るSSL証明書 Let’s Encrypt が利用できるようになりました。プロビジョニング時に入力を求められるメールアドレスを入力することで、Let’s Encrypt のSSL証明書を自動的に取得し、設定されるようになります。また、証明書の自動更新設定も合わせて行われるため、取得後は手続きをすることなく継続的に Let’s Encrypt SSL証明書を利用できるようになっています。

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

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

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

※ Let’s Encrypt は、現段階にてベータ版の提供となっています。今後、仕様が変更される可能性があります。

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

3. kusanagi コマンドに update cert を追加

Let’s Encrypt の導入に伴い、kusanagi コマンドに update cert を追加いたしました。

# kusanagi update cert

現在、指定されているターゲットの Let’s Encrypt SSL証明書を更新します。

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

# kusanagi update cert {target}

{target} パラメータで指定された Let’s Encrypt SSL証明書を更新します。

4. 構成ミドルウェア、アプリケーションのバージョンアップ

7.8へのバージョンアップにて、構成ミドルウェア、アプリケーションのバージョンを、以下の通りアップデートしております。

Nginx
1.9.10
Apache
2.4.18
HHVM
3.11.0
PHP7
7.0.2
WP-CLI
0.22.0

また、今後、これらのミドルウェア、アプリケーションについては、最新のバージョンが利用いただけるよう、個別にアップデートのリリースを行えるようにする予定です。

KUSANAGI 7.7 PHP7対応版 がご利用いただけるようになりました

KUSANAGI 7.7 PHP7対応版 がご利用いただけるようになりました。
「KUSANAGI」の既存バージョンにおいても、コンソール上にて “yum update” を実行することにより、自動的にPHP7のインストール、及び新機能の追加が行われ、このアップグレードを利用することが可能となります。

ご利用方法はドキュメント「KUSANAGIコマンド」をご覧ください。