Dyno

CMS のセキュリティ比較

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

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

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

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

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

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

順に説明していきます。

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

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

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

利用者の少ないマイナーな CMS やメンテナンスが十分に行われていない CMS などセキュリティに特別に注意が必要な CMS もありますが、よく使われる有名な CMS に限れば「 A と B のどちらがセキュリティが優れているか」を調べてもあまり実のある答えは出ません。

例えば、(私が比較的よく知っている) WordPress と Drupal を比較すると、 WordPress には「自動アップデート機能」、 Drupal には「寄贈モジュールも含めたセキュリティ監視体制」があり、それぞれ他方には無い長所がありますが、その他の部分は似通っています。 両者のセキュリティ特性に違いはあるのですが、その違いが決定的な違いかというとそんなことはありません。

ただし、ひとつ例外があります。 それは「ページ事前生成型の CMS 」です。

2019 年現在の CMS の主流は、ブラウザからアクセスが来たときにページを生成する「ページ動的生成型の CMS 」ですが、それとは違って、各ページの HTML ファイルをあらかじめ生成しておいてブラウザからアクセスが来たときにはそのファイルを返す形で動作する CMS (「ページ事前生成型の CMS 」)も存在します。

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

ただし、ページ事前生成型にはデメリットもあるため、現実には「セキュリティが強いからページ事前生成型を使いましょう」とは必ずしもなりません。

参考:

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

もうひとつの理由は、サイトやウェブシステムのセキュリティにおいては「どの CMS を使うか」よりも「 CMS をどのように使うか」「サイトの運用・保守をどのように行うか」の方が断然重要だから、です。

これは「ダイエットによい食べ物は何か?」という問題に似ているので、これにたとえて考えるとよくわかります。 CMS のセキュリティ比較というのは「ここに A 〜 E の食べ物があります。これらをダイエットによい順に並べてください。」という問題に似ています。

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

ウェブサイトのセキュリティも同じです。 ウェブサイトのセキュリティは CMS だけで決まるわけではありません。 いくらセキュリティが強いとされる CMS を採用しても、構築や運用の仕方が間違っていれば元も子もありません。

もうひとつ別のたとえをあげてみます。 CMS のセキュリティというのは「自動車の安全性」に似ています。

当然のことですが、自動車の安全性というのは車種によって違います。 例えば、安全性を高める X という機能が車種 A にはついていて別の車種 B にはついていない場合を考えましょう。 X の有無によって安全性の違いは確かに出るのですが、それ以上に大切なことがあります。 それは ドライバーが安全に運転すること です。 車メーカーがいくらシートベルトやエアバッグで安全性を高めたとしても、それらが事故を 100% 防いでくれるわけではありません。 最終的に安全の鍵を握っているのは車体ではなくドライバーです。 CMS もこれと同じです。

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

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

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

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

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

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

他の CMS でセキュリティの目玉機能とされているものについても同じです。

まとめ

最後にまとめます。

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

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

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

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

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

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

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