- SERVICE
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
当社のWordPressセキュリティー対策サービスは、WordPressで構築されているWebサイトの基本的なセキュリティー対策を総合的に実現するサービスです。
当社では、2017年よりWebサイト・Webサイト・WordPressの保守運用サービスを正式に開始し、WordPressサイトのセキュリティー対策もその一環として実施してまいりました。
しかしながら、2020年より、保守とは別にスポットでWordPressサイトのセキュリティー対策をしてほしいというご相談が増加してきました。
そこで、2021年4月より、これまでWordPressの保守運用サービスの一要素として当社に蓄積されてきたWordPressサイトのセキュリティー対策を、当社のエンジニアチームが提供するサービスとして定型化しました。
WordPress(ワードプレス)は、世界で圧倒的な支持を得ているオープンソースのCMS(コンテンツ管理システム)です。
W3Techsによれば、2021年5月17日時点で、世界中のWebサイトの約41.4%が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アプリケーションの脆弱性を発見する この為、現時点での最も有効な発見手法は、セキュリティー専門会社に手動脆弱性診断を依頼し、専門知見を有する診断員にチェックをかけてもらうことになります。 しかしながら、この手動脆弱性診断は、(内容にもよりますが)しっかりと診断しようとすれば相応のコストがかかります。 そこで、当社では、①2人日程度を上限とする簡易調査を実施・レポートを提出・ご報告をさせていただいた上で、②更に必要があリそうであればVAddyによる自動脆弱性診断を実施するか、③自動診断で厳しそうであればセキュリティー専門会社をご紹介するというフローで必要コストを段階的に分散させながら脆弱性診断を実施しています。 |
---|---|
Webアプリケーションの脆弱性を塞いで調整する WordPressは非常に優れたCMSですので、基本的にはWordPress本体とテーマ、プラグインのバージョンアップを適切に実施していけば、通常のWordPressサイトの脆弱性はほぼ塞ぐことができます。 しかしながら、このWordPress本体とテーマ、プラグインのバージョンアップを適切に実施するだけでも数々のトラブルが発生する為、結果としてWordPressを熟知したWeb制作会社でないと調整が困難であるケースが多発しています。 例えば、WebサイトにはjQueryというJavaScriptのフレームワーク・ライブラリがよく使用されていますが、このjQueryの古いバージョン(1系)には2020年だけでもいくつかの脆弱性が発見されました。 WordPressも対策を実施しており、本体のバージョンを5.6にアップデートするとjQueryは最新の3.5系にアップデートされるようになっています。ところがこのアップデートによりjQueryを利用している各種プログラムが正常に動かなくなる等の問題が多発しており、調整が必要になります。 また、WordPressの公式テーマ以外のテーマやプラグインを数多くインストールしている場合では、WordPressのバージョンアップをすると正常に稼働しなくなるなどのケースがよくあり、これらも調整が必要になります。 「調整」というワードからは簡単な作業のイメージを受けられるかもしれませんが、ケースによっては機能の作り直しなどを実施することになります。 |
|
ミドルウェアの脆弱性対策 | ミドルウェアの脆弱性を発見する この情報は各ディストリビューションより情報が公開されていますので、こういった情報を定期的にチェックすることで脆弱性を発見します。 |
ミドルウェアの脆弱性を塞いで調整する Webアプリケーションと異なる点としては、ミドルウェアにおいてわたしたちユーザーサイドで実施できることは少なく、基本的には各ディストリビューションの案内に従ってミドルウェアのアップデートないしパッチの適用とそれに伴う調整を実施することになります。 特にPHPに関しては、各バージョンのリリース後2年で公式のセキュリティーサポートが終了しますので、定期的にアップデートと調整を実施する必要があります。 なお、OSによってはOSのベンダー(RedHat等)がPHPの保守をしてくれるケースもありますし、レンタルサーバーをお使いの場合にはレンタルサーバー会社側でPHPの古いバージョンのセキュリティー対策を実施してくれているケースもありますので、各企業にて「公式にサポート」されているバージョンかどうかを確認する必要があります。 |
|
OSの脆弱性対策 | OSの脆弱性を発見し脆弱性を塞いで調整する OSもミドルウェアと同様に、わたしたちユーザーサイドで実施できることは少なく、基本的には各ディストリビューションの案内に従ってアップデートないしパッチの適用とそれに伴う調整を実施することになります。 OSは開発の基盤となるソフトウエアですのでその影響は大きく、私たちにできることはそれほど多くはありません。 最近ですと、CentOS8が2021年末にサポート終了することが発表されたましたが、当社で出来ることは移行先候補の選定と影響範囲の調査・検討、そして移行作業の実施だけという状態です。 |
WordPressサイトのセキュリティー対策の第2は、あたりまえのことではありますが攻撃を避ける対策を実施することです。
攻撃を避ける対策には「隠ぺい・削除による対策」と「攻撃の端緒を与えない対策」があります。
以下、簡単に攻撃を避ける対策の概要をご説明させていただきます。
隠ぺいによるセキュリティー対策 | ソースコードからWordPressサイトである痕跡を消すことで攻撃を避ける しかしながら、痕跡を消しきる為にはいくつかの制約を受けることはあまり知られていません。例えば、RSSフィードを利用している場合、RSSフィードにアクセスすることでバージョン情報は確認できてしまいますので、RSSフィードの使用について制約を受ける等です。 また、これを実施してしまうと、WordPress本体、テーマ、プラグインの脆弱性を定期的にチェックするツール(WPsec等)が誤作動を起こすなどのデメリットもある点に注意が必要です。 当社の場合、保守にて脆弱性を発見・塞ぐことを優先していますので、この対策はそれほどお勧めしておりません。 |
---|---|
管理画面へのログイン画面のURLを変更することで攻撃を避ける WordPressへの攻撃を試みるボット・スクリプトは“wp-admin”または“wp-login.php”でログイン画面にたどり着けるサイトをアタックリストにアップしますので、この「ログイン画面のURLを変更」して管理画面への入り口を隠すことでブルートフォースアタックの機会を一定程度減少させることができます。 |
|
攻撃の端緒を出来るだけ与えないセキュリティー対策 | データベース名とプレフィックスをデフォルトから変更する これらがデータベースに対する攻撃(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サイトのセキュリティー対策の第3は、攻撃を防御する対策を実施することです。
攻撃を防御する対策には「攻撃の難易度を高める対策」と「攻撃を検出し防御する対策」、そして「被害を少なくする対策」があります。
以下、簡単に攻撃を防御する対策の概要をご説明させていただきます。
攻撃の難易度を高める対策 | 管理画面へのログイン難易度を高める |
---|---|
IP制限(アクセス制限)を実施する 一方で、通常は公開すべきWebサイトにまでIP制限をかけるわけにはいかないため、公開領域に存在するWebサイト経由での攻撃については完全に防ぐことはできません。 |
|
攻撃を検出し防御する対策 | WAFを設定する WAFはWebアプリケーション(WordPressサイト)への攻撃そのものを検知・制御するものですので、例えば使用しているプラグインに致命的な脆弱性が見つかり、更新が追い付いていない間に攻撃を受けた場合(ゼロディ攻撃)でも、WAFであれば一定程度防御できることがあります。 また、防御範囲も、XSS対策やSQLインジェクション対策、ファイル不正アクセス対策、PHPの関数の脆弱性対策などの検知しやすい攻撃への対策だけに留まらず、パスワードリスト攻撃、DDos等年々広くなっています(WAF製品・設定によって異なります)。 この為、当社では可能な限りWAFの設定を推奨させていただいております。 |
ファイアーウォール、IDS・IPSを設定する この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サイトのセキュリティ対策を実施させていただきます。