セキュリティの制約があってCMSを導入できない!
現在はCMSを導入した動的なwebサイトが増えており、静的なwebサイトは減少傾向にあります。
しかし、自治体などの行政機関様や大手企業様では「厳しいセキュリティ方針のためCMSを導入できない」という声もまた多く聞こえてきます。
静的なwebサイトとは?
htmlを直打ちして作る昔ながらのwebサイトのことです。1つの場所を変更したら複数箇所変更しなくてはならないことが多く、更新に手間がかかります。
※後述しますが、静的CMSが生成したhtmlで構成されるwebサイトも静的なwebサイトです。
CMSとは?
CMSは「コンテンツ・マネジメント・システム」の略称です。
代表的なものにWordPress(ワードプレス)があります。設計がきちんとされていれば、htmlやcssなどの特別な知識がなくても決められたフォームに入力するだけで、webサイトの更新が可能です。
CMSを導入できない場合の問題点(デメリット)
CMSを導入できない場合はどんな問題点があるでしょうか。
- 1つの場所を変更したら複数箇所変更することが多く、更新に手間がかかる
- 複数個所の更新は更新モレが発生する可能性が高い
- htmlやcssの知識が必要
- 担当者が変わると引継ぎが大変
CMSを導入した場合の問題点(デメリット)
CMSを導入した場合はどんな問題点があるでしょうか?
- セキュリティの問題(セキュリティ方針が厳しくて導入できない会社や自治体もある)
- 基本操作をおぼえる必要がある(htmlやcssを習得するよりは簡単です)
WordPressのセキュリティ問題
CMSの代表格であるWordPressは「セキュリティが脆弱」とよく言われます。それは下記のようなことが原因です。
- CMSのシェアNO1で、利用者が多いので狙われやすい
- 管理画面がインターネット上にある
- WordPress本体の脆弱性(過去にも何回か見つかっています)
- WordPressプラグインの脆弱性(第3者によって任意のスクリプトを実行されてしまうなどのリスクがあります)
オープンソースで圧倒的なシェアを誇り、運用しやすいがゆえにおこる脆弱性ではあります。
もちろん正しい対策をしていれば、そこまで恐れることはないですが、会社や自治体によってはなるべくリスクは減らしたいというのも当然のことだと思います。
WordPressで構築されたような動的なwebサイトは便利ですが、PHP、perlなどなど沢山のプログラムが動くと、悪意のあるプログラム(ウィルスなど)も動いてしまいます。
このため「CMS」=「セキュリティに問題がある」と思われがちですが、決してそうではありません。
例えば後述する静的CMSなどは高セキュリティです。
静的CMSで生成された静的なwebサイトは閲覧時にプログラムが動くわけではないので、悪意のプログラムも動きようがないのです。
CMSは導入できないけど、運用や更新は効率的にしたい! どうしたらいいの?
クライアント様とのやり取りの中で、絶対にCMSを導入したほうがよいようなwebサイトでも、会社や自治体のセキュリティ方針の厳しさによりCMSを導入できないというケースに何度か遭遇しました。
こういったケースでは、「CMSは導入できない」しかし「運用や更新は効率的にしたい」という、相反したご要望を出されることが多いです。そんなときはどうしたらよいでしょうか?
その答えが、静的CMSのローカル運用です。
静的CMSのローカル運用とは?
一言で言うと、CMSをローカル環境で構築し、書き出したhtmlをサーバにアップロードするという方法です。
サーバ上では静的なwebサイトと何ら変わりません。
普通はサーバ上に構築するCMSですが、開発環境(ローカル)に静的htmlを生成するCMSを構築します。
ローカル環境でhtmlを生成するための「装置」としてCMSを利用します。html自体は手動もしくはCRONを利用してサーバにアップロードします。
具体的にはどうやってローカルでCMSを構築・運用するの?
使用するCMS
CMSというと著名なWordPressを使おうとなりがちですが、それは早計です。
CMSには大きくわけて動的CMSと静的CMSの2種類があります。
動的CMS
動的CMSは、webサーバにhttpリクエストがきたら、データベースにアクセスしてリクエストされたhtmlを返します。
これはユーザがアクセスするたびにデータベースからページを書き出す方式なので、リクエスト内容によって情報の出し分けをしたり、リアルタイムな表示が可能です。
動的CMSの著名なものにWordPress(ワードプレス)があります。
静的CMS
静的CMSは、htmlファイルを生成してwebサーバにデータを転送し、静的なhtmlサイトを構築します。
動的CMSとは異なりあらかじめhtmlを生成してあるので、表示が早いです。
また、webサーバとCMSサーバを切り分けることができるので、セキュリティが非常に高いです。
静的CMSの代表的なものにMovableType(ムーバブルタイプ/略称MT)があります。
MTで生成したWebサイトは静的htmlで構成されることになるので、静的なhtmlサイトと何ら変わりなく、webサイトを見ただけでは何のCMSを利用しているかわからないようになっています。
WordPressのプラグイン
WordPressのサイトを静的htmlに変換するSimply Staticなどのプラグインもありますが、プラグインなので本来の設計ではありません。
予期せぬ不具合やアップデート時にプラグインが非対応になる場合がある……などの問題があります。
やはり恒常的な運用を考えると標準で静的htmlを書き出しできる設計となっている静的CMSを使うほうが無難です。
SERENDECではローカル環境で運用する静的CMSとしてMovableType(ムーバブルタイプ/略称MT)をおすすめします。
MovableType(ムーバブルタイプ/略称MT)をオススメする理由
SERENDECがMTをオススメする理由は以下の通りです。
- 静的CMSであり、高セキュリティ
- 導入実績多数あり
- 有料なのでサポートがしっかりしている
MovableType(ムーバブルタイプ/略称MT)とは?
MTはシックス・アパート社が提供するブログタイプのCMSです。
商用パッケージ型CMSでは国内導入シェアNo1であり、日本国内5万サイト以上に導入されています。
個人利用は無料ですが、商用利用だと有料ライセンスが必要です。ただ有料ライセンスなのでしっかりとしたサポートがついています。
低価格から購入可能なので、小規模なサイトから大規模なサイト(大企業、官公庁などの公共機関/自治体、大学などの教育機関)まで、幅広く支持されています
SERENDECはWordPressだけでなくMTでの構築経験も豊富です。
静的CMS(MT)を使った実際の運用方法
ローカル環境にCMS(MT)を構築し、静的htmlを出力させます。
出力したhtmlを本番サイトに手動アップロードもしくはCRONでデータを同期することもできます。
テンプレートモジュールの活用
headerやfooterなど全ページに共通するような部分はjavascriptのテンプレートモジュールを活用することもできます。
静的CMS(MT)のローカル運用のメリット
○手作業でhtmlを作成しアップロードする場合と同じセキュリティ
ローカル環境でhtmlを生成して手動でアップロードするので、静的なhtmlページを手作業で作成することと何ら変わらないセキュリティが保たれます。
○1か所修正するだけで、複数ページを自動修正
一覧ページなどの上層ページをプログラムで組み合わせて生成することが可能なので、下層のページを修正・追加するだけで、その上層にあたる複数のページも自動的に修正することができます。
○情報のアーカイブか簡単
過去記事のアーカイブが簡単です。ひとつひとつの記事にカテゴリー付けが可能なので、年ごと、月ごと、カテゴリーごとに自動振り分け可能です。複数ページを修正する必要がありません。
○コンテンツの作成・更新が簡単
htmlやcssを理解していなくても、テンプレート機能を利用することにより、コードを意識せずに定型ページの更新ができます。
○サイト全体の統一感と拡張性
MTによるwebサイト制作はテンプレートを使用するので、webサイト全体に統一感が出ます。
統一感のあるwebサイトはユーザービリティ(使いやすさ)に優れています。またMTはマルチブログに対応しているため、テーマの異なる特設サイトなどを新規作成することも容易にでき、拡張性が高いです。
○公開・非公開の容易性
新たなコンテンツの作成も容易ですが、既存コンテンツは非公開にしてしまうことで、削除しなくても非公開にすることができます。(削除するとしても簡単です。)
静的CMS(MT)のローカル運用のデメリット
×静的CMSはhtml生成時に再構築が必要
サーバ上に構築する場合も同様ですが、ページが多いと再構築(html生成)に多少時間がかかります。
ただ、複数ページの修正をすることを考えたら、他の作業をしている間にできることです。
×バックアップの必要性
サーバ上に構築する場合も同様ですが、ローカル環境でもバックアップをとる必要があります。どのタイミングでバックアップするか、どのように保存しておくかなど細かい調整が必要です。
×最初は基本操作に慣れる必要がある
サーバ上に構築する場合も同様ですが、最初は基本操作に慣れる必要があります。ただし、htmlを直接記述するよりも簡単に更新できます。
×基幹部分の修正が必要なときに手間がかかる
CMSがローカル上に構築されていることで、CMSのプログラム部分の更新やメンテナンスを遠隔で行うことができません。
このため、バックアップデータをお渡しいただき修正してお渡しするか、開発者が出向くなど少し手間がかかります。
本来はサーバ上にCMS構築することが一番良いのです。
本来はCMSをサーバー上に構築するのが一番よいですが、CMSのローカル運用は静的サイトのメリットとCMSのメリットを享受できるため、デメリットよりメリットのほうがはるかに多いと考えています。
エディタ等で静的なwebサイトを更新するよりも運用のしやすさ、拡張性が格段に高いです。
「セキュリティ方針でCMSが導入できない!」という場合に、是非ご検討いただけたらと思います。