- SERVICE
Webサイト・CMSの保守管理・運用
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
当社のWordPressセキュリティ対策サービスは、WordPressで構築されているWebサイトの基本的なセキュリティ対策を総合的に実現するサービスです。
当社では、2017年よりWebサイト・Webサイト・WordPressの保守運用サービスを正式に開始し、WordPressサイトのセキュリティ対策もその一環として実施してまいりました。
しかしながら、2020年より、保守とは別にスポットでWordPressサイトのセキュリティ対策をしてほしいというご相談が増加してきました。
そこで、2021年4月より、これまでWordPressの保守運用サービスの一要素として当社に蓄積されてきたWordPressサイトのセキュリティ対策を、当社のエンジニアチームが提供するサービスとして定型化しました。
WordPress(ワードプレス)は、世界で圧倒的な支持を得ているオープンソースのCMS(コンテンツ管理システム)です。
W3Techsによれば、2023年8月31日時点で、世界中のWebサイトの約43.1%がWordPressで構築されているとのことです(右グラフ参照)。当社の記録によれば、2018年の春に確認した際には30.7%でしたので、凄まじい勢いでシェアが増えていることがわかります。
一方で、オープンソースの優れたCMSであるために、WordPressは攻撃の対象として狙われやすいという特徴を有しています。
また、WordPress本体だけではなく、人気のあるプラグインをターゲットにする攻撃も増加してきています。
この為、WordPressで構築されたWebサイトを運用する場合、可能な限りセキュリティ対策を実施しておくことが重要になっています。
WordPressサイトのセキュリティ対策の第一は、Webアプリケーション、ミドルウェア、OSの各ソフトウエアにおける脆弱性(セキュリティホール)を発見した上で、これらを塞ぐ対策を実施することです。
WordPressサイトというWebアプリケーションは、一般的にHTML、CSS、JavaScriptという言語でコーディングされており、これらがWordPressに組み込まれることで構築されています。
そして、WordPressには通常テーマと複数のプラグインがインストールされています。
また、Webアプリケーションの開発時に、フレームワーク・ライブラリが利用されている場合もあります。
JavaScriptのフレームワークであるjQueryや、CSSのフレームワークであるBootStrapなどがよく利用されています。
また、WordPress自体はPHPというスクリプト言語で作られていますし、MySQLないしMariaDBというデータベース管理システムが採用されています。更に、通常はApacheないしNginxというWebサーバーソフトウエアが利用されており(稀にIISやLiteSpeedが使われているケースもあります)、これらがWordPressサイトを動かす為に使用されるミドルウェアになります。
最後に、Webアプリケーションを動かすためにOSが必要です。
このようにWordPressサイトは多くのソフトウエアで動いておりますので、脆弱性を発見・塞ぐ対策についても総合的な対策が必要となります。
以下、当社にて対応出来る脆弱性を発見・塞ぐ対策の概要についてご説明させていただきます。
Webアプリケーション・フレームワークの脆弱性対策 | ■Webアプリケーションの脆弱性を発見する これらの脆弱性について、当社では、スウェーデンのTriop AB社によるWordPressスキャンであるWPSECにて定期的にチェックしている他、米国国立標準技術研究所(NIST)が運営する脆弱性データベース(NVD)とバージョン情報を突合するシステムを自社開発していることで、可能な限り迅速に脆弱性を発見できる体制を整備しています。 この突合プログラムについては、一部「Webセキュリティ保守.com」として無料で公開させていただきましたので、チェックしてみていただけると幸いです。 また、WordPressサイトにエンジニアが自ら開発した独自のプログラムを組み込んでいる場合、そのプログラムに脆弱性が入り込んでいる場合があります。 この独自プログラムに内在する脆弱性を発見する最も有効な発見手法は、セキュリティ専門会社に手動脆弱性診断を依頼し、専門知見を有する診断員にチェックをかけてもらうことになりますが、この手動脆弱性診断は、(内容にもよりますが)しっかりと診断しようとすれば相応のコストがかかります。 そこで、当社では、必要に応じて脆弱性診断ツールであるVAddyによる脆弱性診断を採用することで、必要コストを可能な限り抑えながら脆弱性を発見できる体制を構築しています。 |
---|---|
■Webアプリケーションの脆弱性を塞いで調整する WordPressは非常に優れたCMSですので、基本的にはWordPress本体とテーマ、プラグインのバージョンアップを適切に実施していけば、通常のWordPressサイトの脆弱性はほぼ塞ぐことができます。 しかしながら、このWordPress本体とテーマ、プラグインのバージョンアップを適切に実施するだけでも数々のトラブルが発生する為、結果としてWordPressを熟知したWeb制作会社でないと調整が困難であるケースが発生したりします。 また、WordPressサイトにはjQueryというJavaScriptのライブラリがよく使用されていますが、このjQueryの古いバージョンにもいくつかの脆弱性が発見されています。 このjQueryのバージョンアップを実施すると、WordPressサイトが正常に挙動しなくなるなどのトラブルが発生したりします。 「調整」というワードからは簡単な作業のイメージを受けられるかもしれませんが、ケースによっては機能の作り直しなどを実施することになります。 |
|
ミドルウェアの 脆弱性対策 |
■ミドルウェアの脆弱性を発見する この脆弱性情報は各ディストリビューターより公開されていますので、こういった情報を定期的にチェックすることで脆弱性を発見します。 当社では、NISTが運営する脆弱性データベース(NVD)とバージョン情報を突合する自社システムにて、可能な限り迅速にミドルウェアの脆弱性を発見できる体制を整備しています。 この突合プログラムについては、apache、mysql、mariadb、phpに関しては「Webセキュリティ保守.com」として無料で公開させていただきましたので、自社サイトのミドルウェアの脆弱性チェックにお役立ていたただけますと幸いです。 |
■ミドルウェアの脆弱性を塞いで調整する WordPressの場合、PHPというプログラム言語で開発されていますので、PHPのバージョンアップによってWordPressサイトが影響を受けることはよくあります。 なお、Webアプリケーションと異なる点としては、ミドルウェアに関しては、わたしたちユーザーサイドで実施できることは少なく、基本的には各ディストリビューションの案内に従ってミドルウェアのアップデートないしパッチの適用とそれに伴う調整を実施することになります。 特にPHPに関しては、基本的に各バージョンのリリース後2年程度で公式のセキュリティサポートが終了する傾向にありますので、定期的にアップデートと調整を実施する必要があります。 なお、OSによってはOSのベンダー(RedHat等)がPHPの保守をしてくれるケースもありますし、レンタルサーバーをお使いの場合にはレンタルサーバー会社側でPHPの古いバージョンのセキュリティ対策を実施してくれているケースもありますので、お使いのバージョンに関して、「誰が」「どこまで」サポートしてるのかを把握しておく必要があります。 |
|
OSの脆弱性対策 | ■OSの脆弱性を発見し脆弱性を塞いで調整する OSもミドルウェアと同様に、わたしたちユーザーサイドで実施できることは少なく、基本的には各ディストリビューターの案内に従ってアップデートないしパッチの適用とそれに伴う調整を実施することになります。 当社では、NISTが運営する脆弱性データベース(NVD)とバージョン情報を突合する自社システムにて、可能な限り迅速にOSの脆弱性を発見できる体制を整備しています。 この突合プログラムについては、Debian 、Red Hat Enterprice Linux、Ubuntuに関しては「Webセキュリティ保守.com」として無料で公開させていただきましたので、自社サイトのOSの脆弱性チェックにお役立ていたただけますと幸いです。 |
WordPressサイトのセキュリティ対策の第二は、攻撃自体を減らす対策を実施することです。
攻撃を減らす対策には「情報開示・隠ぺいによる対策」と「攻撃の端緒を与えない対策」があります。
以下、簡単に攻撃を減らす対策の概要をご説明させていただきます。
情報開示・ 隠ぺいによる セキュリティ対策 |
■WordPress本体やテーマ・プラグインの最新バージョンを公開することで攻撃を減らす 一方で、この対策を実施してしまうと、後述するWordPress本体、テーマ、プラグインの最新バージョンを隠ぺいすることで攻撃を減らすという手法が取れなくなるなどのデメリットもあります。 保守管理業務にて脆弱性を発見・塞ぐことができるのであれば、この「最新バージョンを公開することで攻撃を減らす」対策はある程度有効です。 |
---|---|
■ソースコードからWordPressサイトである痕跡を消すことで攻撃を減らす しかしながら、痕跡を消しきる為にはいくつかのポイントがあることはあまり知られていません。例えば、RSSフィードを利用している場合、RSSフィードにアクセスすることでバージョン情報は確認できてしまうなどが有名ですが、単純にWordPress特有のサイト構造など、痕跡を消し切ることは案外難しく、痕跡を消しきったと立証することも困難です。 また、これを実施してしまうと、前述したWordPress本体、テーマ、プラグインの最新バージョンをあえて明示することで、攻撃を減らすという手法が取れなくなるなどのデメリットもあります。 保守管理業務にて適宜脆弱性を発見・塞ぐことが難しい状況でしたら、この「WordPressサイトである痕跡を消すことで攻撃を減らす」対策はある程度有効です。 |
|
攻撃の端緒を 出来るだけ与えない セキュリティ対策 |
■管理画面へのログイン画面のURLを変更する WordPressへの攻撃を試みるボット・スクリプトは“wp-admin”または“wp-login.php”でログイン画面にたどり着けるサイトをアタックリストにアップしますので、この「ログイン画面のURLを変更」して管理画面への入り口を隠したり、ベーシック認証をかけて隠すことでブルートフォースアタック(総当たり攻撃)の端緒を一定程度減少させることができます。 |
■wp-config.phpのパーミッションを400ないし600にする wp-config.phpへのパーミッションを400に設定すれば、WordPressサイトの管理者だけが読取可能(書込不可)となりセーフティですが、そうすると保守管理の現場での運用コストが増加する為、パーミッションを600に設定することで、WordPressサイトの管理者だけが読取・書込可能とする手法を当社では推奨しています。 |
|
■データベース名とプレフィックスをデフォルトから変更する これらがデータベースに対する攻撃(SQLインジェクション等)に利用される可能性がありますので、データベース名とプレフィックスはデフォルトから変更しておくことをお勧めしています。 |
|
■ディスカッション設定を適切に管理する これらの機能はDos攻撃・DDos攻撃(大量のデータを送りつける攻撃)に利用される可能性がありますので適切に設定しておく必要があります。 |
|
■サイト内検索にはGoogleカスタム検索や専門の検索サービスを利用する しかしながら、サイト内検索の検索ボックスはWebサイトからDBへと不正なプログラムを送信できる入り口となりますので、攻撃の端緒となる確率が高い機能です。 また、同様の理由により、サイト内検索機能を提供するプラグインには脅威度の高い脆弱性が見つかるケースも多く、人気のあるプラグインを狙った攻撃も観測されていることから、当社ではサイト内検索機能が必要な場合にはGoogleカスタム検索による方法をお勧めしています。 |
|
■メールフォームにはGoogleFormや専門のフォームサービスを利用する しかしながら、フォームもまたWebサイトから不正なプログラムを送信できる入り口となりますので、攻撃の端緒となる確率が高い機能です。 また、同様の理由により、フォーム機能を提供するプラグインには脅威度の高い脆弱性が見つかるケースも多く、人気のあるプラグイン(特にContact Form 7)を狙った攻撃も観測されていることから、当社でも2020年冬頃よりフォームについてはGoogleFormやHubspot等のMAツールによる方法をまずお勧めするようになっています。 |
|
■WordPressをHeadressCMS化してCDNを利用する ※詳細は「厳密なリアルタイム性が要求されないWebシステムにおける当社の強み」をご覧ください。 この構成をとれば、Webサイト経由のアタックについては、全てCDN側のWebキャッシュサーバーが引き受けてくれる為、CMSが格納されているWebサーバーへの攻撃を避けることが可能になります。 |
WordPressサイトのセキュリティ対策の第三は、攻撃を防御する対策を実施することです。
攻撃を防御する対策には「攻撃の難易度を高める対策」と「攻撃を検出し防御する対策」、そして「被害を少なくする対策」があります。
以下、簡単に攻撃を防御する対策の概要をご説明させていただきます。
攻撃の難易度を 高める対策 |
■管理画面へのログイン難易度を高める ファールワンスとは、正しいID、パスワードが入力された場合でも一度はログイン失敗とさせる機能のことで、WordPressの場合、これらの防御機能はSiteGuard WP Pluginという有名プラグインで簡単に実装することができます。 |
---|---|
■IP制限(アクセス制限)を実施する 一方で、通常は公開すべきWebサイトにまでIP制限をかけるわけにはいかないため、公開領域に存在するWebサイト経由での攻撃については完全に防ぐことはできません。 |
|
攻撃を検出し 防御する対策 |
■WAFを設定する WAFはWebアプリケーション(WordPressサイト)への攻撃そのものを検知・制御するものですので、例えば使用しているプラグインに致命的な脆弱性が見つかり、更新が追い付いていない間に攻撃を受けた場合(ゼロデイ攻撃)でも、WAFであれば一定程度防御できることがあります。 また、防御範囲も、XSS対策やSQLインジェクション対策、ファイル不正アクセス対策、PHPの関数の脆弱性対策などの検知しやすい攻撃への対策だけに留まらず、パスワードリスト攻撃、DDos等年々広くなっています(WAF製品・設定によって異なります)。 この為、当社では可能な限りWAFの設定を推奨させていただいております。 |
■ファイアウォール、IDS・IPSを設定する IDS(Intrusion Detection System)・IPS(Intrusion Prevention System)とは、その名の通り侵入検知・侵入防御システムのことですが、「通過させてはいけない通信」を阻止するシステムである点はファイアウォールと同一です。こちらは外部からの不正アクセス・攻撃を防ぐだけではなく、例えば内部からの秘密情報の不正公開も「通過させてはいけない通信」として阻止してくれます。 この3つのシステムはセキュリティ対策の基本であり、各サーバーには、大なり小なり設置されていることが通常ですが、もし不足を感じるようであればセキュリティの専門企業の力をお借りして最適なセキュリティ製品の導入を検討することになります。 |
|
被害を少なくする対策 | ■バックアップ体制を整備する このため、バックアップの体制を整備しておくことが非常に重要になります。 |
■ダッシュボードからの編集をできないようにする ただし、この手法は利便性とトレードオフの関係にありますので、採用には慎重な検討が必要です。 |
|
■インシデントに対応できる体制を構築する その為、トラブル(業界では「インシデント」と呼びます)が起こった場合に迅速に対応できる体制を整えておくことが重要になります。 通常は、各種ログを取得・保管しておいた上で、企業側の情報システム部門と当社のような保守業者が役割分担表を作成し、ケースにより適用するエスカレーションフローを作成して、対応できる体制を整備することになります。 |
まずはこちらのお問合せフォームよりご相談ください。
Zoom等でWordPressサイトの現状について、ヒアリングをさせていただきながら表面的なチェックをさせていただきます。
また、当社のセキュリティ対策サービスについて、ご説明させていただきます。
セキュリティ対策サービスを受託させていただく前に、WordPressサイトのセキュリティ対策の現状について、1サイト2人日(80,000円~96,000円)程度で調査をさせて頂き、レポートにて提出・ご報告させていただきます。
当社の場合、フロントエンドエンジニアであれば人日40,000円であるため2人日ですと80,000円となりますが、状態によってはバックエンドエンジニア・サーバーサイドエンジニアが調査を担当せねばならないこともあり、その場合は人日48,000円の2人日で96,000円となります。
上記簡易調査の結果に基づいて、特に問題がなければセキュリティ対策の内容とお見積りを提出させていただく形になりますが、場合によっては追加でVAddyによる自動脆弱性診断をお薦めする場合もあります。
※稀ですが、この調査後の段階で当社の力量では十分な対応が出来ないと判断させていただくケースもあります。この場合には正直にお伝えさせていただいた上で、専門企業などをご紹介するなど可能な限り次の手段をご提案させていただきます。
全面的に作り直すケースは別として、業務は準委任契約で、かつ当社の損害賠償責任を委託金額を上限とする条項を付けさせていただいております。 これは、ほとんどのケースで他社様が制作・構築されたWordPressサイトを引継ぎ、セキュリティ対策を実施すという業務の性質上、当社のリスクを限定することで出来るだけ安価に受託させて頂くための工夫として皆様のご了承いただいております。
委託契約が締結されましたら、御社のメイン担当者・サブ担当者を付けさせていただきます。
また、やり取りはchatwork等のツールを使って実施しておりますが、担当者以外にも10名以上はchatの状況を共有する体制を構築させていただくことで、滞りなく御社のWordPressサイトのセキュリティ対策を実施させていただきます。