Sucuriはこのほど、「How to Quickly Find & Fix Mixed Content Issues (SSL/HTTPS) | Sucuri Blog」において、混合コンテンツ(Mixed Content)の迅速な見つけ方とその修正方法を伝えた。
近年のWebサイトは高いセキュリティが求められるため、ほとんどのWebサイトはHTTPSプロトコルで運用されている。Sucuriによると、WebサイトをHTTPからHTTPSへ移行した際に「混合コンテンツの問題と警告」という意図しない結果をもたらす可能性があるという。
混合コンテンツに関するSucuriの説明を要約すると、「HTTPS接続でのWebサイト読み込み中にHTTPを介した読み込みが発生するコンテンツ」となる。このようなコンテンツを読み込むと、ブラウザは次の図のように警告し、コンテンツをブロックする可能性があるとされる。
Sucuriによると、ブラウザは混合コンテンツのような安全ではないコンテンツに対し防御を高めており、このようなコンテンツを読み込もうとすると、コンテンツまたはサイト全体へのアクセスをブロックするという。Webサイトの訪問者は、混合コンテンツの影響で、意図したとおりにサイトを体験できないか、またはまったく体験できない可能性があるとされる。
Sucuriは混合コンテンツの発生原因として、外部アセットの多用を挙げている。画像、メディアファイル、JavaScript、CSSなどのサイトアセットの読み込みで、http:から始まる絶対パスのURLを指定した場合に起きる可能性がある。
混合コンテンツの問題を避けるため、次のような対処方法が紹介されている。
- WordPressを使用している場合は、プラグイン「Really Simple SSL – WordPress plugin | WordPress.org」を利用する。このプラグインはHTTPを自動でHTTPSにリダイレクトしてくれる
- WordPressを使用していない場合は、サイト内のすべてのファイルに対し手動でhttp:から始まるURLを検索してhttps:に書き換える。http:の検索についてはSucuriのWebsite Security Checkerを使用して見つけることも可能とされる
- データベース内部の混合コンテンツの問題を見つけて修正する。これは使用しているデータベースとWebアプリケーションによって適切な対処方法が異なるため、Webアプリケーションの開発者と相談して適切に対処する
Sucuriは、混合コンテンツの存在はサイトの脆弱性を示すとの見方を示している。暗号化されていないコンテンツが中間者攻撃(MITM: Man-in-the-middle attack)によって公開されたり、Webサイトの改ざんが行われたり、極端な場合はサイトの制御を奪われたりする危険性も指摘している。Webサイトの管理者や開発者には、HTTPSへの移行が求められているとともに、混合コンテンツを残さないよう適切にコンテンツを管理することが望まれている。