- SERVICE
Webサイト・CMSの保守管理・運用
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
皆さんこんにちは、taneCREATIVEの「ちほうタイガー」です。
2024年10月11日に本記事を改訂しています。
元々は、2020年5月頃から、「他社様が制作されたWordPressサイトの保守管理を引き継いでほしい」といったご相談が増えてきたため、2020年8月末に本記事の初稿を公開しました。
その後、WordPress(ワードプレス)の保守管理だけでなく、ライブラリ、フレームワーク(jQueryなど)、ミドルウェア(PHP、Apache、MySQLなど)、クラウドサーバー(AWSなど)をワンストップで保守管理してほしいといったご要望が増えたことから、2023年度版として記事を改訂させていただきました。
今現在は、企業の皆さんから、プラグインのバージョンアップをしっかりとしてほしいというご要望が増えてきていることから、その視点も含めた改訂をしたいと思います。
少しでも皆様のお役に立てる記事に改訂していければと思います。
どうぞよろしくお願い致します。
WordPress(ワードプレス)は2024年10月11日現在、世界で圧倒的な支持を得ているオープンソースのブログソフトウェアであり、CMS(コンテンツ管理システム)です。
元々はブログソフトウェアとして開発されたCMSとしては、Movable Type(ムーバブル・タイプ)が先行してシェアを有していました。
日本でも2008年ごろまでは、「CMSと言えばMovable Typeでしょう」という制作会社さんが多かったという印象です(あくまで筆者の記憶上の主観的な印象です)。
しかしながら、世界ではそれより早くWordPressが主流となってきており、W3Techsによれば、本記事を改訂している2024年10月11日時点で、世界中のWebサイトの約43.5%がWordPressで構築されているとのことです(グラフ1参照)。
なお、同じくW3Techsによれば、CMSというマーケットにおいて、WordPressは62.5%のシェアを有しているとのことですので(グラフ2参照)、ShopifyやWixの追い上げも目立ちますが、いまだ圧倒的な支持を得ているCMSであると言ってよいでしょう。
当社は2012年の創業以来、WordPressを多く利用してWebサイトを制作しておりますが、その理由としては、創業メンバーが、次の理由から「WordPressが日本でもトップシェアを奪う」と確信してノウハウの蓄積を行ってきたからになります。
Webサイトを管理するCMSにも色々ありますが、日本で多く使用されているMovable Typeをはじめとして、基本的には初期ライセンス費用やメンテナンスライセンス費用がかかることが通常です。
これに対し、WordPressは完全無料のオープンソースのソフトウェアであるためCMS自体のライセンス取得・更新に費用が掛かりません。
WordPressは、世界中の多数の専門家が、日夜、無償で改善・開発・その他の運営業務を継続してくださっており、そのお陰で私たちは無料で高品質なCMSを利用することが出来ます。
WordPressには、テーマと呼ばれるWebサイトのデザイン・機能がセットになったパッケージが多数存在し、これを簡単に利用することができます。
このテーマには、無料のWordPress公式ディレクトリーのテーマと企業や個人のエンジニアが販売している有料のテーマが存在しますが、これらのテーマをそのまま利用するか、テーマのカスタマイズをすることで、一からデザインすることなく(ケースによってはほとんどHTML,CSSをコーディングすることなく)、Webサイトのデザイン並びに基本的なHTML,CSSが生成できてしまいます。
これにより、デザイン工数とコーディング工数を削減することができます。
WordPressには、プラグインと呼ばれる様々な追加機能が多数存在し、これを簡単に利用することができます。
このプラグインも、無料で利用できるものが数多く揃っていますが、企業や個人のエンジニアが販売している有料のプラグインも存在します。
これらのプラグインを利用することで、様々な追加機能を実装することができるため、各種追加機能の開発・実装工数を削減することができます。
他社様にて制作・開発されたWebサイト、Webシステムをお引き受けする際に、かなりの確率で脆弱性が発見されますが、規模の小さなWebシステムにおいては、スクラッチ開発(独自に開発する手法)のケースで最も高確率で致命的な脆弱性が見つかっています。
これに対し、WordPressでサイトが構築されている場合にはWordPress本体、テーマ、プラグインで基本的な機能が実装されているケースが多いため、WordPress本体(コアファイル)、テーマ、プラグインを適切にバージョンアップさえすればほとんどの脆弱性に対応することができます。
むしろCMS側がセキュリティ対策を実施してくれるため、エンジニアがケアレスミスで脆弱性を組み込む確率は低いと言ってよいでしょう。
これは、貢献者と呼ばれる世界中の専門家の皆さんと、テーマ、プラグインの開発関係者の皆さんが、日夜迅速な対応をしてくれているからに他なりません。
これにより、セキュリティ対策にかかる初期費用を大幅に削減することができます。
まず、誤解のないようにしたいのは、WordPress=セキュリティが弱いとは限らないということです。
Webサイトの脆弱性は、基本的には、「Webサイトを構築するエンジニアの知識不足やケアレスミスにより設計・実装段階で組み込まれたもの」と「使用しているソフトウェアに組み込まれていたもの」の2種類に分けることができますが、WordPressでサイトが構築されている場合にはWordPress本体、テーマ、プラグインで基本的な機能が実装されているケースが多いため、むしろWebサイトを構築するエンジニアがケアレスミスで脆弱性を組み込む確率は低いと言えます。
また、WordPressに関する脆弱性が見つかっても、貢献者と呼ばれる世界中の専門家やテーマ・プラグインの開発者が日夜迅速な対応をしてくれていることから、バージョンアップをしっかりと実施していれば、使用しているソフトウェアに組み込まれていた脆弱性にも迅速に対応することが可能です。
特に、WordPress自体は非常に堅牢なCMSであり、バージョンアップをしっかりと行えば大きな侵入のリスクは少ないと考えています。
実際に、WordPress本体(コア)の脆弱性の数はプラグインやテーマに比べて少なく、特に最近では緊急レベルの脆弱性報告は減少しています。
※詳細は、当社が公表しているWordPressの脆弱性情報一覧を参照してください。
一方で、膨大な数のプラグインやアドオンが存在し、それらの脆弱性を狙った攻撃が増加しています。
※「20 WordPress Statistics You Should Know in 2023」によれば、WordPressに関連する脆弱性の約90%はプラグインに、6%はテーマに、残りの4%はWordPressコアに起因しているとのことです。
そのため、WordPressで構築されたWebサイトは、WordPress本体やテーマ、プラグインのバージョンアップを適切に実施すれば、サイバーセキュリティの問題をクリアしていくことができますが、このバージョンアップを含めたトラブル予防の実施や、実際にトラブルが発生した場合の対応については専門的な知見が必要になることが多いのも事実です。
そのため、WordPressの保守管理は必要であると考えています。
WordPressの保守管理の主な業務は、WordPressサイト(テーマやプラグインを含む)やミドルウェア、OSのバージョンアップを適切に実施することで、WordPressサイトの脆弱性を潰し、サイバー攻撃を受けにくくする業務の他、WAF(Web Application Firewall)の設定・管理を通してサイバー攻撃をリアルタイムで検出し対策をする業務、バックアップからの復旧などサイバー攻撃を通してしまった場合に被害を少なくするための準備・リカバリー業務などがあります。
各業務の概要は次の通りです。
PHP、WordPress本体(コアファイル)・テーマ・プラグインのアップデートを適切に実施する | WordPressはとにかく狙われる確率が高いCMSですので、WordPress本体・テーマ・プラグインに脆弱性が見つかった場合には、できるだけ速やかにバージョンアップを実施して行く必要があります。 また、WordPressはPHPというプログラム言語で開発されており、MySQLないしMariaDBというデータベースソフトウェアを使用しているため、PHP、MySQL、MariaDBといったミドルウェアに脆弱性が見つかった場合にもバージョンアップが必要となります。 そこで、ミドルウェア、WordPress本体・テーマ・各プラグインに更新がある毎に、次の作業を順次実施していきます。 ・バックアップを保全 ・ステージングサイトのWordPressの管理画面からバージョンアップ ・ステージングサイトで挙動・機能に問題がないか確認 ・問題があればエンジニアが解決 ・問題がないことが確認されたら、本番環境に反映 ・本番環境でテスト |
Webサイトを構築したエンジニアが設計・実装した部分には脆弱性診断を実施しておく | WordPress本体・テーマ・プラグインに元々備わっている機能ではなく、Webサイトを構築したエンジニアが独自に設計・実装した機能がある場合には、1年に1回程度でも脆弱性診断を実施しておくことをお薦めしています。 当社では、株式会社ビットフォレストさんが提供するクラウド型Web脆弱性診断ツールVAddyを採用しており、納品時にProfessional版でチェックをかけておりますが、一定水準以上のセキュリティが求められるサイトでは、クライアントにEnterprise版を(1年に1ヶ月だけ)ご契約いただいて、その1ヶ月の間にチェックされることをお薦めしております。 |
停止中のプラグインは削除しておく | 上記のプラグインの脆弱性は、プラグインを「停止中」であっても存在していることに留意する必要があります。 対策として、停止中のプラグインはWordPressの管理画面からできるだけ「削除」しておきます。 |
管理画面へのログインURLをガードする | WordPressのデフォルトの仕様では、管理画面へのログイン画面のURLが“wp-login.php”となっています。 WordPressへの攻撃を試みるロボットは”wp-login.php”を探して来ますので、この「ログイン画面のURLを変更」したり、「IP制限」や「Basic認証」を掛けることでURLへのアクセス自体をガードします。 なお、攻撃を試みるロボットが管理画面へのログイン画面にたどり着いてしまうと、ブルートフォースアタックという総当たり攻撃を受けてしまう可能性があります。そうしますと、仮に侵入されなかったとしても、閾値の低い共有サーバーなどではそれだけでサーバーをシャットダウンしてしまうことがあります。 その為、攻撃者をログイン画面にたどり着かせないという対策(bot対策)が重要になります。 なお、WAFを設定しているので大丈夫なのではないかという質問を時々受けますし、実際に最近のWAFはある程度botアクセスを防御することが可能なので、WAFを設定してくれればかなり安心できるのは事実ですが、通常はWAFもbotによるアクセスであると検知するまで一定量のリクエストを受け付けますので、狙われやすいWordPressの場合には、特段の理由が無い限りは「そもそもbotを管理画面にたどり着かせない対策」を実施しておくことをお薦めしています。 |
管理画面へのログインの難易度を高める | 上記のように、管理画面へのログイン画面へたどり着かれると、ブルートフォースアタックを受けてしまう可能性がありますが、その際に、「パスワードを複雑で長くする」「ログインの試行回数を制限する」「ログインに(ひらがな等の)画像認を追加する」等のログインの難易度を高めることで、攻撃者にログイン画面までたどり着かれても、アタック段階のセキュリティをある程度高めることができます。 WordPressの場合、「ログインの試行回数を制限する」並びに「ログインに(ひらがな等の)画像認を追加する」ことはプラグインで実現できますし、サーバー側でログイン試行回数を制限できるサーバーもありますので、適切に設定します。 |
wp-config.phpのパーミッションを400ないし600にする | WordPressのファイルの内、wp-config.phpという非常に重要なファイルへのアクセスを制限することは、攻撃の端緒を潰す意味で重要です。 wp-config.phpへのパーミッションを400に設定すれば、WordPressサイトの管理者だけが読取可能(書込不可)となりセーフティですが、そうすると保守管理の現場での運用コストが増加する為、パーミッションを600に設定することで、WordPressサイトの管理者だけが読取・書込可能とする手法を当社では推奨しています。 |
プレフィックスをデフォルトから変更する | WordPressはMySQLというデータベースを採用していますが、デフォルトでは、データのテーブルに「wp_」というプレフィックス(接頭辞)が設定されるようになっています。 これが「テーブル名」の特定に利用され、データベースに対する攻撃に利用される恐れがあります(SQLインジェクション等)。 この為、プレフィックスを変更しておくことが推奨されます。 |
WordPressの設定を適切に管理する | WordPressは元々がブログソフトウェアであったことから、コメント投稿機能・ピンバック機能(リクエストを受け付ける機能)・トラックバック機能(参照元のサイト管理者にリンクを貼ったことを通知する機能)が実装されています。 これらの機能を使っていないのであれば、Dos攻撃・DDos攻撃(大量のデータを送りつける攻撃)に利用される可能性がありますので、ディスカッション設定等は適切に管理しておく必要があります。 |
IP制限(アクセス制限)を実施する | IP制限とは、接続元のグローバルIPアドレスによってアクセスを制限することで、事前に許可したグローバルIPアドレス以外からの接続を拒絶する対策です。 このIP制限を管理画面全体や、Webサイトの重要な部分に掛けておくことで、セキュリティを大幅に高めることができます。 また、多くの共用レンタルサーバーでは、IP制限とサーバーに標準装備されているWAFを併用できないケースが多いので注意が必要です。 なお、上記のような厳格なIP制限の他に、国外IPアドレスからのアクセスを制限するという限定的な制限もよく利用されます。 |
WAFを設定する | WAF(Web Application Firewall)は、その名の通りファイアウォールの一種で、外部とWebアプリケーションのやり取りを検知・制御することで不正侵入を防御するセキュリティ製品です。 前述のWordPressを例にすると、WordPress本体やプラグインのバージョンアップを実施することは脆弱性自体を潰していく対策ですが、WAFはWebアプリケーションへの攻撃そのものを検知・制御するものですので、例えば使用しているプラグインに致命的な脆弱性が見つかり、更新が追い付いていない間に攻撃を受けた場合(ゼロディ攻撃)でも、WAFであれば一定程度防御することができます。 また、防御範囲も、パスワードリスト攻撃、DDos等の検知しやすい攻撃への対策だけに留まらず、XSS対策やSQLインジェクション対策、ファイル不正アクセス対策、PHPの関数の脆弱性対策など年々広くなっています(WAF製品・設定によって異なります)。 近年では、WAFを設定することは、Web制作業界でも一般的になっていると思います。 実際に多くのレンタルサーバーではWAFが標準装備となっていますし、クラウドサーバーでもAWS WAFのマネージドルールを利用できるなど年々使用しやすい状況になってきています。 |
ファイアウォール、IDS・IPSの設定を確認する | ファイアウォール(Firewall)は、サーバーやネットワークの入り口で主にIPアドレスとポート番号を監視して、「通過させてはいけない通信」を阻止するシステムです。 IDS(Intrusion Detection System)・IPS(Intrusion Prevention System)とは、その名の通り侵入検知・侵入防御システムのことですが、「通過させてはいけない通信」を阻止するシステムである点はファイアウォールと同一です。すなわち外部からの不正アクセス・攻撃を防ぐだけではなく、例えば内部からの秘密情報の不正公開も「通過させてはいけない通信」として阻止してくれます。 この3つのシステムは従来型のセキュリティ対策の基本であり、各サーバーには、大なり小なり設置されていることが通常です。 しかしながら、サーバーの種類やプランによって対応範囲が異なりますので、ご利用になられているサーバーではどこまでを標準で阻止してくれるのかを確認しておき、不足を感じれば追加でセキュリティ製品を導入するなどを検討することになります。 |
問題がおこった際に対応できる体制を構築する | 以上のように、Webサイトのセキュリティ対策には色々な手法がありますが、残念ながら万全のセキュリティ対策というのは非常に困難であると考えております。 その為、何かトラブルが起こりそうな際、起こった際に迅速に対応できる体制を整えておくことが重要になります。 通常は企業さんの情報システム部門と当社のような保守業者が役割分担表を作成し、ケースにより適用するエスカレーションフローを作成して、対応できる体制を整備することになります。 |
バックアップ体制を整備する | 万が一攻撃を通してしまった場合、基本的には新しいサーバーを準備して、攻撃を通す前のバックアップを用いてWebサイトを復旧させることになります。 その為、バックアップをできれば複数の手段で保管しておく体制を整備することが重要になります。 |
WordPressサイトの保守管理は、これまで主にWeb制作会社によって担当されてきました。
その主な理由としては、WordPress並びにテーマ・プラグインのバージョンアップに依存関係があり、WordPress並びにテーマ・プラグインに対する専門的な知見が必要であることがあります。
前述のように、WordPressはPHPというプログラム言語で開発されていますが、このPHP自体にも脆弱性が見つかります。MySQLなどのデータベースソフトウェアについても同様です。
そこで、これらミドルウェアのバージョンアップを実施する必要があるのですが、ミドルウェアのバージョンアップを実施すると、当然ながらミドルウェアを使用しているWordPressやプラグインに影響が出て来ます。
また、WordPress本体のバージョンアップはセキュリティ対策上非常に重要であり、こまめな対応が必要になりますが、WordPressのバージョンアップを実施すると、テーマやプラグインに影響が出て来ます。
さらには、プラグインは他のプラグインのことを考えて開発されておらず、プラグイン同士のバッティングによる不具合なども起こります。
つまり、基礎となるソフトウェアのバージョンアップを実施すると、それに依存するソフトウェアが正常に挙動しなくなるということが多々起こるため、実際の保守管理の現場では、これらの問題をエンジニアが一つ一つ解決していくことになります。
その為、WordPress並びにテーマ・プラグインに対する深い知見を有しているWeb制作会社が、保守管理業務の担い手としては適任となります。
また、昨今のサイバー攻撃の増加に伴うセキュリティ対策の重要性の増加から、Webサイトの保守管理には、より高度な技術・対応力が求められるようになってきています。
特に、AWSのようなクラウドサーバーでは、ミドルウェアやOS、クラウドサーバーの一部の設定についてもユーザー側に管理責任が分配されていることから、これらについてもバージョンアップ、適切な管理等の保守管理を実施する必要があります。
すなわち、WordPressサイトの保守管理を担当するには、Webサイト(HTML、CSS)、各種ライブラリ(jQuery等)、テーマ・プラグイン、CMS(WordPress)、PHPだけでなく、その他のミドルウェア(Apache、nginx、MySQL等)、OS(CentOS、Amazon Linux 2等)、クラウドサーバー(AWS、Azure等)を総合的にメンテナンスできる能力・体制が必要となってきたのです。
加えて、前述のようにWordPressのプラグインが狙われる今日では、各種プラグインの脆弱性情報を取得・保有し、適宜プラグインのバージョンアップを行ったり、更新が止まっていたり、廃止されたプラグインを使用している場合には、代替プラグインに置き換えるなどの作業が求められるようになってきました。
もちろん、WordPressサイトの場合、全てのページを管理画面から更新できるようにカスタマイズするケースは多くないことから、更新の頻度が低いページについてはコンテンツの更新補助が保守管理の内容として求められるケースも多いのは変わりません。
さらに、表示速度の高速化などの各種ユーザー体験(UX)改善業務も保守管理に求められる時代となってきています。
ただし、表示速度の高速化については、フロントエンド・バックエンドともに深い知見が必要な為、担当するWeb制作会社によって対応能力に差が出てくる領域となります。
一方で、従来のWeb制作会社が保守管理としてお金を頂いていた「サーバー」「ドメイン」「SSL/TLS証明書」の更新代行業務については、WordPressサイトの保守管理業務から除外されるようになってきました。
その理由としては、サーバーやドメイン、SSLの契約更新は、基本的には企業が直接サーバー会社、ドメイン会社と契約し更新していくことが企業の資産管理、契約管理の観点からも重要であるという認識が一般化してきたこと、更新の作業も低頻度(数か月~数年に1度)かつ簡単な作業であることが多いことから企業の担当者でも対応可能であること、等が理由であると推察されます。
WordPressサイトの保守管理費用は、作業範囲にどこまで含まれているかによって変わってきます。
その為、WordPressサイトの保守管理を依頼する際には、「どこまでやってもらえるのか」という点をしっかりと確認することが重要です。
また、WordPressサイトのセキュリティ対策についても、①WordPressでWebサイトを構築した際にどこまで保守管理・運用を考慮して実装されているか、②定期的にバージョンアップがなされているか、によって保守管理の費用は大きく変わってきます。
例えば、①WordPressサイトを構築する際に、最新のPHPを使用し、サードパーティ製のテーマは使用せず、プラグインは必要最小限度の数個のみを使用する等、バージョンアップがやり易いように実装されているケースで、②毎月ある程度保守管理されている場合には、月に数時間程度でバージョンアップが完了するケースもあります。
こういうケースでは1ヶ月に数千円~2万円程度でWordPressサイトの保守管理を請けてくれるところもあるでしょう。
一方で、①PHPが古く、サードパーティ製のテーマを使用しており、プラグインが10以上インストールされていて、②数年程バージョンアップを実施していないようなケースでは、毎月の保守管理費用が数万円かかることもありえます。
こういった場合には、保守を開始する前に、保守コストができるだけかからないサイト構成に修正してしまう方が、結果としてコスト削減につながり、かつセキュリティ対策としても良いケースがあります。
このように、WordPressで構築されたWebサイトのケースでは、WordPress本体だけでなく、PHP、テーマ、プラグインのバージョンと脆弱性の状況について、現状を把握することが大切です。
前述のように、WordPressは世界でもっとも人気のあるCMSであり、Web制作の現場ではよく使用されるCMSです。
しかしながら、WordPressのバージョンアップをしようと思っても、テーマやプラグインのバージョンアップが滞っていることでトラブルが発生したり、あるいはPHPやMySQL等のバージョンアップが必要になったりなどの問題に直面することもあるかと思います。
taneCREATIVE社は、「リモートによるWebアプリケーションのセキュリティ対策をパッケージ化、首都圏大手企業に提供」している点が評価され、2021年にJ-Startup NIIGATAに選定されているWeb制作会社で、WordPressとテーマ、プラグインはもちろんのこと、PHP、MySQL、MariaDB、各種サーバーについてもノウハウを有しています。
※「J-Startup NIIGATA」とは、経済産業省が2018年に開始したJ-Startupプログラムの地域版として、新潟発のロールモデルとなるスタートアップ企業群を明らかにし、官民連携により集中的に支援する仕組みを構築することで、新潟県におけるスタートアップ・エコシステムを強化する取組です。
WordPressを使用したWebサイト制作やWordPressのアップデートを含む保守管理に関しては、こちらのお問合せよりお気軽にご相談ください。
taneCREATIVEに所属する謎のトラ。
2024年10月11日改訂
2023年07月19日改定
2020年09月01日執筆