Web制作のプロが教えるCMSとセキュリティ“9つ”の金言 事例詳細|つなweB

CMSを導入・運営する際に情報セキュリティ要件の設計は重要です。「HeartCore」など商用CMSの構築実績を多数持つ株式会社キノトロープの高橋輝さんに考慮すべきセキュリティのポイントについて聞きました。

 

高橋 輝
株式会社キノトロープ 開発・制作部 部長

 

(1)タダほど高いものはありませんよ!

CMSは「WordPress」に代表されるオープンソース(以下OSS)型のCMSとライセンス販売などで提供される商用CMSに大別されます。しかし「OSS型CMSは商用利用ではむしろセキュリティコストは高くなります」とキノトロープの高橋さん。

それというのもOSS型CMSは基本無償か廉価で提供されるメリットがある一方で、多くの利用者がいるぶん攻撃に晒されやすいという弱点があります。新たな脆弱性が発見された場合も、商用CMSであればメーカーが対応しますが、OSSでは開発コミュニティによる修正アップデートによる対応を待つことになるため情報セキュリティのリスクが高まります。

制作会社とのサポート契約の内容にもよりますが「小規模に運用したい場合など、ごく限られた例を除いて、基本的に弊社ではWordPressで開発することはありません」と高橋さんは言います。

 

脆弱性対策情報のデータベース「JVN iPedia」でWordPressに関する脆弱性を検索すると、2018年だけで176件報告されています。その多くは拡張プラグインの問題によるものです 

 

(2)つくりっぱなしで満足してませんか?

CMSは導入してWebサイトを公開したら終わりではありません。コンテンツを投稿し内容を充実させると同時に、CMSソフトウェアなどの「サポートライフサイクル」を考慮した中・長期的なシステムを計画・実施していく体制が重要です。

製品サポートが切れてもCMS自体は問題なく動いているように見えることがあります。その場合、古いバージョンを利用し続けることになるため、既知の脆弱性についても放置されたままになってしまうことがあります。

また、脆弱性を突かれて「Webサイトの改ざん」のような目に見える被害よりも、サーバをスパムメールを発信する「踏み台」にされるなど目に見えない被害のほうが露見しにくいため深刻です。そうした問題を防ぐには、運用中にサポート期限切れや更新の空白期間が発生しないよう「保守計画」を立てることが必要です。

 

(3)まさかデフォルト設定で運用してませんか?

サーバにインストールし、複数ユーザーがログインして投稿するタイプのCMSでは、管理画面を初期設定のままにしておくとユーザー名やパスワードが推測されクラッキングの被害に遭いやすくなります。

CMSを管理するうえでは基本的なことですが、管理ユーザー名やディレクトリを初期設定のままにしないことが重要です。また、会社のIPアドレスからのみログインできるようにアクセス制限を行うのも効果的です。

これはどのCMSにもほぼ共通して言える対策で、例えばWordPressの場合は「/wp-login.php」と「/wp-adminディレクトリ」が攻撃の対象となりやすいことが知られています。WebサーバがApacheの場合は.htaccessを、Nginxの場合は設定ファイルにアクセスを許可したいIPアドレスを追記し、それ以外のIPアドレスからアクセスできないようにしておきましょう。

 

WordPressのログイン画面をインストール時のままにしておいたり、アクセス制限をかけないことでセキュリティ上の弱点となります

 

(4)担当が変わっても管理を継続できますか?

組織によっては、すでに長期間CMSを運用しているケースもあります。その場合、CMS設置時とは管理者が変わっていることもしばしばあります。もちろん業務の引き継ぎが適切に行われていれば問題ありませんが、運営体制が整っていない組織では管理責任の所在が曖昧となり、結果的に情報セキュリティ上のトラブルが発生する危険性が高まります。

技術的なことはもちろん、運営体制がどうなっているのかを明確にしておくことが重要です。

下記にサーバの運用形態ごとの管理対象項目の一般的な例を紹介します。自社サーバよりもレンタルサーバ、レンタルサーバよりもSaaSのほうがWebサイト担当者の管理項目は少なくなり、セキュリティが高まります。一方で、運営サイドからのカスタマイズ性が低くなることもあります。

 

Webサーバの主要管理項目
サーバの運用形態によって管理の主体やメンテナンスの責任範囲が変わることがあります (HASHコンサルティング 徳丸浩氏の資料を元に作成)

 

(5)その記事いつ公開だったっけ?

多くのCMSでは投稿記事を下書きで保存したり、指定した日時に自動公開する「予約投稿」の機能を備えています。しかし、例えば社内の複数部署がアクセスする環境で、ユーザー権限を曖昧なままにしておくと、発表を数日後に控えた新製品のプレスリリース情報やキャンペーンの告知が事前に漏れてしまったり、誤って公開設定にされてしまうかもしれません。

うっかりミスのように感じられるかもしれませんが、企業にとって大きな機会損失を生んでしまうことがあります。もし、外部の制作会社が誤操作してしまったら責任問題に発展しかねません。

CMS自体に問題がなくても、ヒューマンエラーの発生を防ぐことも重要なセキュリティ対策です。エラーを誘発する業務フローでないかどうか、コンテンツの閲覧や投稿に関わるユーザー権限が適切に割り振られているかを確認しましょう。

 

ユーザーがミスを犯しても安全が確保される「フェイルセーフ」やそもそもミスが発生しないような仕組みとする「フールプルーフ」といった安全工学の考え方は情報システム設計にも重要です

 

(6)CMSだけ保護したら安全ということはない!

CMSを含めたWebサイト全体の情報セキュリティ対策を考えるうえで見落としてはいけないのは、サーバに接続するクライアントマシンのセキュリティ対策です。マルウェアに感染したPCからFTPなどで感染ファイルやプログラムをサーバにアップロードしてしまう危険性などが考えられるからです。

そのため、「Windows Defender」などOS標準のセキュリティ機能に加え、サードパーティのインターネットセキュリティ対策ソフトによる「多重防御」は欠かせません。

また、企業などで導入したWindows PCなどでは、サポート期限が間もなく訪れる「Windows 7」をいまだに使い続けているケースも少なくありません。期限切れを迎えてから慌てて対策することがないよう、OSの更新と動作検証を早めに計画して進めましょう。

 

(7)自由度が高いツールは情報漏洩に注意

ECサイトなど利用者の氏名や住所、メールアドレスなどを預かるサービスを運営する場合、個人情報流出を防ぐための情報設計が求められます。一般的にSaaS型のECサービスのほうが、第三者機関からのセキュリティ診断が行われているなど、セキュリティ面のリスクを抑えて構築できるメリットがあります。

また、ECに限らずユーザーにコンテンツを投稿させるコミュニティサイトなどでも個人情報流出を防ぐ設計が必要です。

 

個人情報(プライバシー)保護と情報セキュリティが対象とする領域は一部が重なっています。具体的にはアクセス制限や暗号化、不要な個人情報の廃棄などによって「機密性・完全性・可用性」を確保します

 

(8)社内からの通信こそ暗号化が必要です!

Webサイトを見るための通信手段には「HTTP(Hyper Text Transfer Protocol)」とその経路を暗号化して保護する「HTTPS(Hypertext Transfer Protocol Secure)」があります。

これまで問い合わせフォームやECの決済画面、CMSへのログイン画面のみをHTTPS化するWebサイトが多かったのですが、近年はWebサイト全体をHTTPS化する「常時SSL化(SSL:Secure Socket Layer )」への対応が求められています。

特に社内からしかアクセスを行わない管理画面こそ常時SSL化が重要となってきます。これを行うために必要なサーバ証明書としてはDV(ドメイン認証)のほか、ドメイン名に加えて組織の名称や所在地などを証明するOV(実在証明型)やEV(実在証明拡張型)があります。一般的に、企業サイトではEV SSLの導入をおすすめしています。

 

 

(9)そもそもどんなサイトをつくりたかったんだっけ?

導入実績が多い商用CMSであれば、基本的にはどのツールであってもセキュリティ機能は備わっていると言ってもよいでしょう。しかし、商用CMSには規模や機能などで向き・不向きがあるため、自社にとって最適なツールを選択することが重要です。そして備わっているセキュリティ機能を正しく理解して設定することでセキュアなWebサイトづくりにつながります。

そもそも、自社でどういうサイトをつくりたいのか、サイトを通じて何を実現したいのかということを明確にすることが最初のステップです。そして、そこからCMSツールの選択に進めるのが鉄則です。あくまでもツールは手段、目的はWebサイトによるビジネスの成功にあります。

適切なCMSを導入し情報セキュリティにも考慮したWebサイトを構築することで、運営者にとってもユーザーにとっても安全・安心が実現できるのです。

 

 

Text:栗原亮