CMSに求められるセキュリティ対策

 2017.09.21 Secure Enterpriseポータル

CMS(コンテンツ管理システム)の特徴は、「Webサイト制作や運用に関する知識・技術が無くとも、コンテンツ(主にブログ記事)の作成・更新や、公開したコンテンツの管理が可能」であることです。

インターネットが普及し、モバイル端末が広く利用されるようになりデジタル化が進んだ今、「一社に1サイト」という時代が到来しています。Webサイトを運用している企業のほとんどは、何らかのCMS製品を利用していると言っていいでしょう。

その中でも特に導入率が高いのがOSS(オープン・ソース・システム)のCMSです。OSSとは無償ライセンスで提供されるソフトウェアで、CMS分野においては「WordPress」が最も高いシェアを持っています。次いで「Joomla」や「Drupal」など、いずれもOSSのCMSが市場シェアを席捲している状態です。

参考:W3Techs「Usage of content management systems for websites(WebサイトにおけるCMSのシェア)」

本記事を読まれていて、Webサイトを運営している方の中には、上記CMSのいずれかを導入している方が多いのではないでしょうか?

そんなOSSのCMSに潜む危険性といえば「サイバー攻撃による情報漏えいやサービス停止」です。そもそも、CMSというソフトウェア自体、脆弱性(セキュリティ上の弱点)が発見されやすいという特徴がある上に、OSSは無償ライセンスであるため、輪をかけて脆弱性が発見されやすい傾向にあります。

今年2月にWordPressで発見された脆弱性では、世界150万以上のWebサイトが脆弱性の悪用によりWebサイト改ざん被害に遭いました。

参考:さくらのナレッジ「「WordPress」に脆弱性、150万超のサイトが改ざん被害に

今回は、こうした状況を踏まえ、CMSに必要なセキュリティ対策について解説していきます。

CMSはなぜ脆弱性が発見されやすいのか?

俗に「Webアプリケーション」とも呼ばれるCMS。特にOSSのCMSに脆弱性が多い理由はいくつかあります。

まず、OSSの特徴としてソースコード(ソフトウェアの設計)が開示されています。これはつまり、コードさえ理解できれば「誰でもプログラム開発ができる」ということなので、OSSは自由なカスタマイズが可能です。ユーザーからすれば大変魅力的な特徴ではあるものの、リスクを孕んでいることも確かです。

ソースコードが開示されていることで、攻撃者は脆弱性を発見しやすくなります。このため、脆弱性が発見される度に、大規模なサイバー攻撃被害が起きます。

そこで、「開発者は脆弱性を発見して修正しないのか?」と考える方も多いでしょう。しかし残念ながら、脆弱性修正が追いついていないのが現状です。

OSSのCMS開発者たちは無償で開発を行っています。このため、日々積極的に脆弱性を発見するような活動は、あまり行いません。一方攻撃者は、脆弱性を発見してサイバー攻撃を仕掛けようという気合に満ちており、CMS開発者よりも圧倒的に多くの時間をかけて、脆弱性を探しています。

こうした事情からも、OSSのCMSでは「脆弱性が無くならない」と言われています。

知っておきたい脆弱性の種類と違い

一口に「脆弱性」と言っても、複数の種類が存在します。大まかに分類すると「不正操作される脆弱性」「改される脆弱性」「サービス停止に陥る脆弱性」の3種類があります。

「不正操作される脆弱性」は主に、Webサイト上の会員情報などを格納しているデータベースや、WebサーバのOSを操作するための言語である、SQLやOSコマンドを不正利用されます。例えばWebサイトに設置された入力フォームに、不正操作のためのSQLを入力すると、データベースからごっそりと個人情報を抜き取られたりします。このサイバー攻撃の名は「SQLインジェクション」といい、一度は耳にしたことがあるでしょう。

「改される脆弱性」は、Webサイトを構築する上で欠かせないHTMLという言語を悪用し、ユーザーがページ遷移する際に不正スクリプト(簡易プログラム)が起動するように、攻撃を仕掛けます。その結果、ユーザーは運営者が意図していないWebサイトの飛ばされたり、ウイルスをばら撒かれる可能性があります。

「サービス停止に陥る脆弱性」は、主にCMSのリクエスト処理機能に存在し、これを悪用されると一般ユーザーからのリクエストが処理不能になり、事実上サービス停止に陥ります。

いずれの脆弱性も、悪用されると情報漏えいやウイルスばら撒きの踏み台、あるいはサービス停止という、甚大な被害を受けるものです。これらの脆弱性を排除し、Webサイトを守るためにはやはり「CMSのためのセキュリティ対策」が必要です。

CMS運用で実施したい最低限のセキュリティ対策とは

OSSのCMSを運用していることを全体に話を進めますと、何より大切なのは開発者によるバージョンアップに対し、迅速に対応することにあります。

CMSのバージョンアップでは往々にしてセキュリティパッチ(修正プログラム)が含まれています。これは、今ある脆弱性をカバーするものであり、CMSのセキュリティ対策を強化するための最も基本的な対策です。

バージョンアップに対応しないことは、脆弱性を露呈しているのと同じであり、いつサイバー攻撃の被害に遭ってもおかしくありません。特にOSSの場合は、バージョンアップ通知が届いたら、迅速に対応しましょう。

OSSのCMSでの脆弱性カバーは、開発者が後手に回ってしまっているのが現状です。このため、バージョンアップに迅速に対応したからといって、必ずしもサイバー攻撃を受けない保証はどこにもありません。

脆弱性が発見されてから修正されるまでの間を狙った「ゼロデイ攻撃」への警戒が必要です。

そこで、WAF(ウェブ・アプリケーション・ファイアウォール)というセキュリティ対策ツールが有効です。WAFは、数あるセキュリティ対策ツールの中でも、唯一Webサイト保護に特化した製品であり、CMSに存在する脆弱性をカバーできます。

WAFはユーザーとWebサイトでやり取りされるHTTP通信の中身を確認した上で、それが正常通信か不正通信かを判断するため、CMSの脆弱性を狙ったサイバー攻撃に非常に有効です。

以前は「運用が難しい」という課題から敬遠されてきたWAFも、今ではクラウドサービスの登場や技術進歩により、運用しやすくセキュリティ対策効果の高い製品となっています。

まとめ

光と影は当時に存在するよう、インターネットの「便利」という光の裏には、「サイバー攻撃の巣窟」という影があります。その被害を最も受けやすいのが、企業が運営しているWebサイトです。CMSを利用し、Webサイトを公開している企業は「サイバー攻撃のリスクは必ず存在する」と考え、現状と今後のセキュリティ対策について検討しましょう。