「WordPressはセキュリティ面で弱いと聞いたことがある」
以前お客様からこのような声をいただきました。
もしかしたら、WordPressでのWebサイト構築を検討中であったり、すでに運用していたりする方の中にも、WordPressにおけるセキュリティリスクやセキュリティ対策を気にしている方は多いのではないでしょうか。
この記事では、日々WordPressでwebサイト制作を行う私たちファングリーが、WordPressのセキュリティリスクやセキュリティ対策の方法について分かりやすく解説します。
Table of Contents
CMSとは「コンテンツ・マネジメント・システム(Contents Management System)」の略称で、Webサイトの専門知識がなくても簡単に更新や新規ページを作成できるシステムのことです。
CMSの仕組みは、管理画面上で画像やテキストなどの情報をデータベースに登録し、そのデータをテンプレートに流し込むことで、1ページずつWEBページを生成していきます。CMSの代表的な例として、「WordPress」や「Movable Type」などが該当します。
この記事ではWordPressでwebサイトを構築することを前提に解説していきます。
世界で最も使われているCMSとも言われるWord Pressのメリットについて紹介します。
WordPressはオープンソースソフトウェアであり、ソースコードが公開されています。そのため、カスタマイズ性が高く、利用できるプラグインも豊富です。また、システム自体は無料で利用が可能なのもポイント。独自ドメインの取得やレンタルサーバーの用意に費用はかかりますが、気軽にwebサイトの構築ができます。Word Pressのインストールも簡単なので、はじめるにあたって専門的な知識は必要ありません。
Web技術調査サービスW3Techs の調査報告によると、全世界の40%以上のWEBサイトはWordPressで構築されており、CMSの中でも圧倒的なシェアを得ていることが分かります。
WordPressがここまで多くの利用者を獲得している背景の一つとして、常に行われるバグの修正やセキュリティ対策の改善、機能追加などのバージョンアップが挙げられるでしょう。
また、利用者が多いと言うことは、開発者もそれだけ多く存在しているということ。開発者が限定的なシステムとは違い、より幅広い機能や安全性の高さも期待できます。万が一、トラブルが発生した場合もインターネット上に情報がある可能性が高いので、そういった点を加味するとWordPressを利用するメリットは大きいでしょう。
Webサイト構築では、デザインやレイアウト、機能などの組み合わせを「テーマ」と呼び、WordPressにはシンプルなものから個性的なものまでさまざまなテーマが用意されています。そのため、テンプレートとなるテーマをインストールすることで、初心者でもWebサイトを作ることが可能です。
もちろん、テンプレートのテーマを使用せずにWebサイトを構築することもできます。BtoB企業の場合は、独自性を担保するためにテーマを一からカスタマイズしてサイトを構築するのが一般的です。
また、拡張機能を追加する「プラグイン」をインストールできるのも大きな特徴。WordPressには、SEO対策や管理画面の充実、セキュリティ対策などあらゆる用途のプラグインがあります。WordPress.orgの公式サイトによると、現在6万近くのプラグインが提供されているので、いかに拡張性が高いかが想像できるでしょう。
冒頭でも触れましたが、よくWordPressはセキュリティリスクがあると言われます。本当にそうなのでしょうか。
個人的には、WordPressは他の多くのCMSと比べて、特別にセキュリティが弱くはないと考えています。ただし、特別セキュアなCMSというわけでもありません。
WordPressのセキュリティリスクが特に注目される理由として、オープンソースのCMSであり誰でも利用できることが挙げられます。単純に全世界で利用者が多いので、それに比例して改竄(改ざん)などのトラブルも多くなるということです。
そのため、セキュリティ対策をしっかり行えば、一般企業のサイトもWordPressで問題なく構築ができます。また、世界中で幅広く使われているオープンソースだからこそのメリットとして、脆弱性が発見されるとすぐにアップデートが開発されることが挙げられます。
このように、WordPressのセキュリティリスクは、システムの構造自体に問題があるわけではありません。WordPressは正しく運用できればコストパフォーマンスが高いCMSと言えるでしょう。
ここでは、WordPressにおいて行うべきセキュリティ対策について解説します。ただし、開発者側が常に悪質なユーザー(ハッカー)を上回ることはそう簡単ではなく、「これだけをやっておけば絶対に安全!」というわけではありません。これらは、あくまで最低限行うべき施策であり、より万全な体制を整えるのであれば専門的な知識や適切な運用が大切です。
数多くあるセキュリティ対策のうち、最初に意識すべきなのがアップデートです。WordPressそのものやプラグインに脆弱性が発見されるとアップデート情報が配信されます。アップデートをせずに放置していると、発見された脆弱性がセキュリティホールとなり、外部からの攻撃を受けやすくなります。
こうしたセキュリティホールをついた攻撃を防ぐために、WordPressやプラグインは常に最新版であることが望ましいです。アップデートする際は、必ずソースコードとデータベース(DB)のバックアップを行いましょう。
プラグインは便利ではあるものの、数が増えればそれだけセキュリティホールになるリスクは高まります。そのため、長く使用してなかったり無効化していたりするプラグインは削除しましょう。
WordPressにおいて、セキュリティ攻撃の多くはログイン画面に対して行われます。つまり、そもそもログイン画面にアクセスさせなければ攻撃の多くを防ぐことが可能です。
WordPress管理画面のログインURLは、初期設定で「https://ドメイン/wp-admin/」や「https://ドメイン/wp-login.php」となっており、ハッカーは容易に推測することができます。セキュリティ攻撃を避けるためにも、ログイン画面のURLはデフォルトから変更しましょう。
ログインURLを変更する方法は、プラグインを使用するのが簡単です。おすすめは「SiteGurad WP Plugin」や「WPS Hide Login」です。
※多機能だが、マルチサイトに対応していない。
※マルチサイトにも対応。
いずれも管理画面から設定を行うので、特別な知識がなくても簡単に設定することができますので、ぜひ試してみてください。
悪質なユーザーは自動プログラムによって攻撃を仕掛けることも少なくありません。ログイン時に画像認証を入れることで、目視による操作が必要となり自動プログラムによる攻撃を防ぎやすくなります。画像認証の追加は先ほど紹介した「SiteGuard WP Plugin」で設定可能です。
「SiteGuard WP Plugin」はさまざまな機能がありますが、他のセキュリティ系のプラグインと競合しやすいので、URLの変更は「WPS Hide Login」で設定するのがオススメです。
悪質なユーザーはパスワードを自動生成して何度も管理画面のログインを試みます。そこで、ログインの失敗回数を制限して総当たり攻撃に備えましょう。こちらも「SiteGuard WP Plugin」で設定ができます。
プラグインを有効化することで「5秒間に3回連続でログインに失敗すると1分ロックされる」機能が実行されます。ロックする回数、時間などの変更は、SiteGuradのダッシュボードから「ログインロック」から可能です。
ログイン画面にBasic認証を設定し認証機能を二重にすることで、セキュリティがより強固になります。ログイン画面にBasic認証を設定する場合は、以下のような手順でパスワードファイルをサーバーにアップロードして、htaccessへBasic認証の設定を追記します。
1.【.htpasswd】(パスワードファイル)を作成して、サーバーにアップロードする。
【.htpasswd】は生成サービスを利用すると簡単です。
https://www.luft.co.jp/cgi/htpasswd.php
2.【.htpasswd】にBasic認証の以下の設定を追記してサーバーにアップロードします。ソースコード編集などの知識が必要となるので、不安な場合はエンジニアに依頼すると良いでしょう。
<Files wp-login.php>
AuthUserFile /[.htpasswdまでのディレクトリ]/.htpasswd
AuthGroupFile /dev/null
AuthName “”Protected Area””
AuthType Basic
require valid-user
</Files>
そもそもログイン画面にアクセスできる場所をIPアドレスで限定し、不特定多数のログイン画面へのアクセスを防ぐ方法です。ログイン画面にIP制限を設定するには、【.htpasswd】へIP制限の以下の設定を追記し、サーバーにアップロードします。
<Files wp-login.php>
order deny,allow
deny from all
allow from [許可するIP]
</Files>
WordPress4.7から「REST API」がサポートさたことで、ログインすれば認証情報不要で誰でもWordpressの情報(投稿、ユーザー情報など)を取り出したり、書き込んだりできるようになりました。
これにより「記事の自動投稿」や「記事情報の自動取得」ができるため、多くのシーンで利用されています。しかし、さまざまなデータを外部から取得・追加・更新・削除ができることで、悪質なユーザーから攻撃対象にされてしまうことも少なくありません。
REST APIはデフォルトで有効化されているので、記事の自動投稿などをしない場合は必ず無効化しましょう。REST APIを無効化するのに便利なWordPressプラグインを紹介します。
インストールして有効化するだけで、認証していないユーザーからREST APIを保護してくれます。WordPressで子サイトを運用している場合は、子サイト側でもインストールが必要です。REST API機能を駆使していないことが前提なので、自社のWordPressの仕組みを十分に理解したうえで「Disable REST API」を導入しましょう。
基本的なことで忘れがちですが、パスワードはより複雑なものを設定しましょう。
パスワードが推測しやすいものであると、悪質なユーザーによる不正ログインの原因となります。
例えば、企業名、ドメイン名、日付、ユーザー名と同じといったパスワードは、簡単に突破されてしまうため避けるべきです。
アカウント管理の基本的な考え方ですが、これも見落としがちなポイントです。運用メンバーの変更を考慮して利用者ごとにユーザーを用意しましょう。
WordPressは非常に便利でコストパフォーマンスが高いCMSです。その反面、さまざまなセキュリティリスクと常に隣り合わせでもあるので、セキュリティ対策をしないと悪質なユーザーのターゲットになってしまいます。WordPressはセキュアな状態で利用する努力が必要なのです。
この記事で紹介したセキュリティ対策をしっかり行い、多くの攻撃から大切なWebサイトを守りましょう。
私が所属するファングリーは、制作支援とマーケティング支援の機能を併せ持つコンテンツプロデュースカンパニーです。今回解説したWordPressにおけるセキュリティ対策を含め、「BtoB向けのコンテンツ制作」に強みをもった制作会社と自分たちを位置付けており、ブランディングを軸としたサイト制作・コンテンツ制作を通じてお客様のビジネス課題の解決に取り組んでいます。
長年、企業のブランディング支援を行ってきたノウハウを生かし、コーポレートサイト、サービスサイト、採用サイト、LPはもちろん、企業パンフレット、ホワイトペーパーといったクリエイティブツールの制作、CIやVI(MVV・ロゴ・ブランドメッセージ・タグライン・動画・ブランドブックなど)の開発までワンストップでご提供します。
「【会社案内】+Web制作事例集(2023年度版)」をご用意していますので、サイトリニューアルをはじめとしたWeb制作を検討されている方はぜひ、参考にしてみてください。
資料ダウンロードhttps://fungry.co.jp/cnaps/wp-content/uploads/2023/10/main02.png|https://fungry.co.jp/cnaps/wp-content/uploads/2023/09/main01.png|https://fungry.co.jp/cnaps/wp-content/uploads/2023/10/AdobeStock_624420915.jpeg
最新記事