KUSANAGI バージョンアップ情報 7.8.2
KUSANAGI の新しいバージョン 7.8.2 がご利用いただけるようになりました。各クラウドで、新規にインスタンスを作成した場合は、KUSANAGIの初期設定のyumによるシステムアップデートを行うことによって、自動的に7.8.2にアップデートされます。
以前のバージョンをお使いいただいている場合は、root権限にて以下のコマンドを実行することで、7.8.2へのアップデートが可能となります。
# yum update -y kusanagi*
7.8.2の新機能については以下の通りとなります。
- kusanagi コマンドに setting を追加
- kusanagi コマンドに ssl を追加
- kusanagi コマンドに https を追加
- kusanagi コマンドに autorenewal を追加
- 2048bit DHE key の使用
- man page を追加
1. kusanagi コマンドに setting を追加
指定ターゲットに設定されているホスト名(FQDN)を、変更できるようになりました。
指定ターゲットのホスト名はkusanagi provision実行時に指定しますが、これを後から自由に変更することができます。
# kusanagi setting -–fqdn FQDN [profile]
【使用例】
- ・現在指定されているターゲットのホスト名をsample.example.com に変更します。
※ 現在のターゲットは、kusanagi target コマンドにて確認できます
# kusanagi setting --fqdn 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
#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
# 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
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