Akamai Diversity
Home > Standards and Protocols > 常時SSL化に役立つアカマイの機能

常時SSL化に役立つアカマイの機能

「常時SSL」(Webサイトへのアクセスを全面的にHTTPS経由にする)という言葉が聞かれるようになってから既に数年が経過していますが、いよいよ本格的にWebサイトのHTTPS化が進んできました。特にここ最近弊社への問い合わせが増えておりますが、背景としては主要ブラウザのセキュリティ強化が主な要因と考えられます。2017年初頭にリリースされたFirefox51やChrome 56からは、パスワードを送信するHTTPサイト(非HTTPSのサイト)で警告が表示されるようになっており、今後リリース予定のChrome 62からは、HTTPサイトのフォームに何らかデータを入力するとアドレスバーに警告が表示されるようなセキュリティ強化が予定されております。

HTTP Archiveによると、HTTPS経由のリクエスト数は日々増加しており、2017年6月時点で約46%(ソース: http://httparchive.org/trends.php)となっています。今後予定されているブラウザのセキュリティ強化により、これからもさらなる伸びが予想されます。
 
HTTPSへの移行はセキュリティの強化だけでなく、Webサイトの表示速度を改善できる可能性もあります。
http/2登場以前は、HTTPSへ移行することは暗号化のオーバーヘッドや通信回数の増加により応答速度が遅延する懸念がありましたが、現状ではhttp/2による応答速度の向上はもとより、更なる高速化を実現する機能であるAdvanced Accelerationや今後リリース予定のResource Optimizer(Beta)の利用も可能となります。(Ionに含まれる予定の機能です)
そこで今回は、サイト全体をHTTPS化するために役立つアカマイの機能やTipsをご紹介致します。

 

HTTPSへの移行時に役立つ設定

HTTPSへの強制リダイレクト

HTTPからHTTPSへWEBサイトを移行する場合、単純にHTTPSを有効化するだけでは不十分です。他のサイトからのリンクや広告等に印刷されたURLがHTTPで指定されていたり、サーチエンジンでインデックスされているURLがHTTPの場合などを考慮し、強制的にHTTPSへ誘導する仕組みが必要です。アカマイの設定用管理ユーザインタフェースであるProperty Managerでは、簡単にHTTPからHTTPSへリダイレクトするためのルール設定をご用意しています。こちらを導入することで、オリジンサーバ側では特にリダイレクトの設定をすることなく、アカマイ側の設定のみでエンドユーザーからの全てのURLへのリクエストをHTTPからHTTPSへ誘導できます。

 

HTTPS-Redirect.png 

 

 

 

 

 

 

 

 

 

HTTP Strict Transport Securityの利用(HSTS)

エンドユーザーからのアクセスをHTTPSへ誘導後、そのアクセス元のブラウザに同じドメインへのアクセスを全てHTTPS経由にするよう記憶させる方法があります。これはRFC6797で標準化されたStrict Transport Securityを利用することで実現できます。
この機能を有効にするには、HTTPS経由のアクセスがあった際にStrict-Transport-Securityヘッダをサーバーから応答することで実現できますが、Akamai側で「Modify Outgoing Response Header」(アカマイから転送されるレスポンスヘッダの変更設定)を設定することにより、このHTTPヘッダを自動的に挿入することが可能です。

HTTPS-HTST.png

Content-Security-Policy: upgrade-insecure-requestsの利用

HTTPS経由のアクセスであってもページ内に埋め込まれたリンクにHTTPが混在している場合、ブラウザ側で安全でないページとして認識され、アドレスバーの横に警告マークが表示されます。これらの混合コンテンツをすぐに修正するのが難しい場合、回避する方法としてContent-Security-Policyupgrade-insecure-requestsの仕組みを利用することができます。この仕組みを利用するとHTMLコード内に"http://"から始まるリンクがあった場合に"、ブラウザからのリクエストのプロトコルをhttps://"に切り替えることが可能となります。この機能を有効にするには、HTTPレスポンスヘッダに"Content-Security-Policy: upgrade-insecure-requests"を挿入することで実現できますが、こちらも上述のHSTS と同様にAkamai側の設定で対応可能です。

Thumbnail image for HTTPS-content-security-policy.png

※2017年6月現在、insecure-requestsが動作するブラウザは、Firefox, Chrome, Opera, Safariとなります。IEやEdgeでは動作しません。(http://caniuse.com/#search=upgrade) また、Firefox, SafariとChromeでは動作が異なります。Chromeでは、3rd partyのURL(自ドメイン以外のURL)であっても有効ですが、FirefoxとSafariでは、3rd partyのURLは対象外となりますのでご注意ください。

 

サーバー証明書の発行と管理 - Certificate Provisioning System(CPS)

HTTPSによる配信にはサーバー証明書の導入が必須ですが、アカマイをご利用いただく場合はアカマイのエッジサーバ側にお客様のコモンネームのサーバー証明書を導入する必要があります。エンドユーザーのブラウザがアクセスする先のサーバはアカマイのエッジサーバになりますので、HTTPSの接続を確立する際にはエッジサーバ側に導入されているサーバー証明書が使われます。

アカマイでは管理画面からサーバー証明書をエッジサーバへ導入するための仕組みとして、Certificate Provisioning System(CPS)をご用意しています。CPSを利用することによって、エッジサーバへ導入する為の証明書を認証局へ申請したり、証明書取得の為のCSRを発行することが可能となっています。また、CPSでは、Cipherセットの変更や利用するTLSバージョンの選択等、セルフサービスで変更可能なインターフェースをご用意しています。 詳しくはアカマイコミュニティを参照ください。

 HTTPS.png

 

 

 

 

 

 

 

 

 

オリジンサーバの証明書に関する設定 - Origin SSL Certificate Verification

エンドユーザーのブラウザとHTTPSの接続を確立するのに利用される証明書はアカマイのエッジサーバ側に導入されている証明書ですが、エッジサーバとオリジンサーバ間の接続には、オリジンサーバに導入されている証明書をエッジサーバ側で検証します。アカマイでは中間者攻撃を防ぐための対策として、オリジンサーバに導入されている証明書を厳格に検証しますが、こちらの設定もProperty Managerで簡単に設定が可能です。
証明書検証の選択肢として、信頼する認証局を独自に選択する、あるいはアカマイが用意しているAkamai Certificate Storeにある認証局を信頼する、もしくはオリジンサーバに導入されている証明書を個別に設定する等、複数の方式からオリジンサーバ証明書の検証手段をご選択いただけます。なお、エッジサーバの証明書も同様ですが、オリジンサーバーの証明書についても、有効期限が切れる60日前から管理者に通知が送信され、うっかり更新を忘れることがないような仕組みも実装されております。詳しくはアカマイコミュニティを参照ください。

 

今回はWebサイト全体をHTTPS化する際に役立つTipsや関連するアカマイの機能をご紹介致しました。
Webサイト全体をHTTPS化することにより、Webサイトをセキュアに保ちつつ、応答速度の向上も同時に実現できる可能性があります。アカマイを活用してセキュアでパフォーマンスに優れたWEBサイトを構築していただければ幸いです。