Dyno

CMS のセキュリティ比較

今回は CMS のセキュリティ比較……をやってもいいけど、そこから得られるものはあまり多くありませんよ というお話です。

前提として、この記事では「 CMS: コンテンツマネジメントシステム」のうち インストールして設置するもの だけを指して「 CMS 」と呼ぶことにします。 CMS にはインストールしないタイプのもの――いわゆる SaaS 型のものもありますが、ここではインストールして設置するタイプのものだけを対象にします。

ちなみに、 CMS の定義や分類について書いた別記事もありますので、興味のある方はよろしければご覧になってみてください。

CMS のセキュリティ比較にはあまり意味が無い

さっそく結論ですが、そもそも CMS のセキュリティ比較をしてもあまり意味がありません 。 理由は 2 つあります。

  1. 定番 CMS のセキュリティ特性に大きな違いがないから
  2. 「どの CMS を使うか」よりも「 CMS をどう使うか」の方がずっと重要だから( WHAT より HOW だから)

順に説明していきます。

定番 CMS のセキュリティ特性は大きく違わない

多くの人が利用している定番 CMS に対象を絞れば、セキュリティ特性はどの CMS も似たり寄ったりで、そう大きくは違いません。 細かいところを見ていくともちろん違いはあるのですが、それらが CMS 全体のセキュリティレベルに決定的な差を生むわけではありません。

セキュリティ対策とは言ってみればマイナスをゼロにする(失点を減らす)取り組みなのですが、 CMS の作る側の立場からできることというのは高々知れています。 そのため、多くの CMS が「他の CMS よりも安全です」とアピールしていますが、その中身を覗いてみれば、どの CMS もやっていることは大体似通っています。

利用者の少ない超マイナーな CMS やメンテナンスが不十分な CMS などセキュリティに注意が必要な CMS というのはありますが、有名な CMS に関していうと、 A と B を比較してどちらがセキュリティが優れているかを調べたとしてもあまり実のある答えは出てきません。

例えば WordPress と Drupal でいうと、 WordPress には「自動アップデート機能」、 Drupal には「寄贈モジュールも含めたセキュリティ監視体制」という他方には無い長所がそれぞれありますが、その他の部分はよく似ています。 それらの違いが決定的なものになるとすれば、それは利用者側の状況に起因します。

ただし、ひとつ例外があります。 それは「静的ページ設置型の CMS 」です。

2019 年現在の CMS の主流は、ブラウザからアクセスがあればプログラムが動いてページを生成する「ページ動的生成型」ですが、それとは違って、あらかじめページ用ファイルを生成しておいてブラウザからアクセスがあればそのファイルを返すだけの「静的ページ設置型の CMS 」というものも存在します。

これはウェブ制作の世界では SSG (Static Site Generator) と呼ばれたりしますが、このタイプの CMS は「ページ動的生成型」に比べると、実際にセキュリティレベルが高い傾向にあります。

ただ、静的ページ設置型にはデメリットもあるので、現実には「セキュリティが強いから静的ページ設置型にしましょう」とは必ずしもなりません。

参考:

サイトのセキュリティは「どの CMS を使うか」よりも「どう使うか」

続くもうひとつの理由は、サイトやウェブシステムのセキュリティは「どの CMS を使うか」だけでは決まらないから、です。 むしろ、 CMS を使ってどうサイトを構築するか、どう運用するか、という HOW の部分の方がセキュリティ的には重要です。

これは「ダイエットによい食べ物は何か」という問題によく似ているので、それにたとえて説明します。

CMS のセキュリティ比較というのは「食べ物 A 〜 E をダイエットによい順番に並べてください。」という問題に似ています。

この問題にどう答えるかは人それぞれですが、健康管理とダイエットに一定の知識を持つ方であれば「強いていえば……の順番だと思いますが、それよりも全体のバランスの方が大切です」といった回答をすることと思います。

ダイエットは「 A という食べ物さえ食べていれば OK 」という単純なものではなく、食事を含む睡眠・運動・ライフサイクル・生活習慣・心理状態・体質等さまざまな要素が関係してきます。 いくら健康によいとされる食べ物を食べていても、適切な量や時間を守らなければ意味がありませんし、運動や睡眠等その他の面がおろそかでも健康的なダイエットは達成できません。

CMS のセキュリティの問題もこれとよく似ています。

ウェブサイトのセキュリティというのは CMS だけで決まるわけではありません。 セキュリティとはマイナスをゼロにする取り組みなので、高セキュリティの CMS をいくら追究しても、構築や運用の仕方が間違っていれば台無しです。 CMS 以外のレイヤーのセキュリティに不備があった場合もアウトです。

CMS のセキュリティは自動車の安全性のようなもの

もうひとつ別のたとえを出します。 CMS のセキュリティというのは自動車運転の安全性に似ています。

自動車は車種によって安全性の違いがあります。 安全のための特定の機能が A という車種にはついていて B という車種にはついていません。 それで安全性の違いは多少出るのですが、それ以上に大切なことがあって、それは ドライバーが安全に運転すること です。 車メーカーがいくらシートベルトやエアバッグ等で安全性に配慮したとしても、それらが事故を 100% 防いでくれるわけではありません。 最終的に自動車の安全の鍵を握っているのは車体ではなくドライバーです。

そして、市場に出ているちゃんとした車を買うかぎり、一定レベル以上の安全性は共通で得られます(たまに例外もありますが……)。

CMS もこれと同じです。

WordPress の自動アップデート機能は強みになるか

ひとつ例をあげてみます。

WordPress にはセキュリティのための自動アップデート機能が備わっています。 自動アップデート機能は他の CMS には無いことが多いので、その意味では WordPress のセキュリティ性能は他から一歩抜きん出ています。

しかし、自動アップデート機能がサイトのセキュリティ向上に役立つのは、利用者が適切に設定・活用できている場合だけです。 少しでも設定を間違っていればサイトのセキュリティ向上ははかれません。

また、 WordPress 以外の自動アップデート機能の無い CMS でも、通常は自動アップデートに近い対応を運用担当の人間が行います。 適時のアップデート対応というのは本来 CMS を利用する上での最低条件なので、たとえ自動アップデート機能が無かったとしても大きな問題にはなりません。

つまり、 WordPress のセキュリティレベルは実際高いのですが、それがサイトのセキュリティ向上につながるとはかぎりませんし、他の CMS と比べた際の強みになるとはかぎらないのです。 それより何より、 利用する CMS のことを正しく理解して、正しく利用して正しく運用することの方がずっと大切 です。

ここでは WordPress の自動アップデート機能を例にとりましたが、これはほんの一例です。 他の CMS がアピールするセキュリティ機能にもおおよそ同じようなことが言えます。

まとめ

最後にまとめます。

  • CMS のセキュリティ比較は、ダイエットによい食べ物を選ぶようなもの
  • 定番 CMS の中から選ぶかぎり、セキュリティ特性に決定的な差は無い
  • 「どの CMS を使うか」よりも「どう使うか」の方が重要

ということで、 CMS のセキュリティ比較を深くやってもあまり実りは無いですよというお話でした。

誤解しないでいただきたいのは、 CMS のセキュリティなんてどうでもいいと言っているわけではない ということです。 CMS のセキュリティ面はもちろん大切ですし選定の際に必ず評価すべきです 。 しかし、 CMS のセキュリティ面を比較して比較表に作ったりしても、そこから得られるものはあまりありません 。 「まったくありません」ではなく「あまりありません」と書いているはそういう理由です。

というわけで、今回の内容をお読みいただけた方には「セキュリティが最強の CMS 」なんてものは幻想だということがおわかりいただけるのではないかと思います。

ご参考になれば幸いです。

CMS を利用するときのセキュリティ対策に興味のある方には次の記事も参考になるものと思います。

ちなみに SEO に関しても同じようなこと ↓ を言っています(笑)