難易度別!ワードプレスセキュリティ対策集

昨今はAIの影響でセキュリティ対策がますます重要になっています。
特に、ワードプレスは世界中で広く利用されているCMS(コンテンツ管理システム)になるため、その人気の高さから攻撃の対象となることが多いです。
今回は、その世界中で使われているワードプレスのセキュリティ対策について、初級から上級までの方法をご紹介します!
誰でも出来るセキュリティ対策(初級)
1.ログインID、パスワードを強力なものにする
ワードプレスのセキュリティ対策の第一歩は、ログインIDとパスワードを強化することです。
具体的には、以下のポイントを意識してください。
- ・推測されにくい英数字や記号を組み合わせる
- ・他のサイトと同じパスワードを使い回さない
一般的な組み合わせは以下のようなものになります。
- :文字数12文字以上
- :大文字のアルファベット(例:A, B, C…)
- :小文字のアルファベット(例:a, b, c…)
- :数字(例:0, 1, 2…)
- :記号(例:!, @, #…)
これらを組み合わせることで、より強固なパスワードを作成できます。
考えるのが少し手間だなと感じる方は以下のサービスで条件に沿ったパスワードを生成してくれるので試してみてください。
パスワード生成(パスワード作成)ツール
2.ワードプレスのアップデート
こちらもシステム全般に言えますが、常に最新版にしておくことはセキュリティ対策の基本になります。
こちらは更新ボタンを押すだけなので、操作としては誰でもできるので、初級として扱っていますが、もし複数のプラグインをインストールしてカスタマイズを行っていた場合、互換性が崩れ、結果サイトの崩れに繋がる場合があるので、専門家に相談することをおすすめします。
プラグインで出来るセキュリティ対策(中級)
ここでは、プラグインを使ってセキュリティ対策を行う方法を紹介します。プラグインは、ワードプレスの機能を拡張するためのツールで、セキュリティ対策にも役立ちます。
1.SiteGuard WP Plugin
このプラグインは、ワードプレスのセキュリティを強化するための多機能なツールです。以下のような機能があります。
- :ログインURLの変更
- :ログイン試行の制限
- :ログイン画面のカスタマイズ
このプラグインの主な役割はWPのログインページのURLを変更することです。
ID、パスワードの他にその情報を打ち込むログイン画面のURLというのも重要な情報になります。デフォルトでは以下の二つになっており、初期設定の場合はそのサイトのurlが分かればログイン画面のurlも分かってしまいます。
それを変更することで、攻撃者がログイン画面を特定しにくくなり、ブルートフォース攻撃などのリスクを軽減できます。
デフォルトのログインURLは以下の二つです。
(変更前)
https://example.com/wp-login.php
https://example.com/wp-admin/
SiteGuard WP Pluginをインストールし、設定を行うことで、ログインURLを任意のものに変更できます。例えば、以下のように設定することが可能です。
(変更後)
https://example.com/my-login/
https://example.com/admin-area/
このようにログインURLを変更することで、攻撃者がログイン画面を見つけるのが難しくなり、セキュリティが向上します。
2.limit login attempts reloaded
このプラグインは、ログイン試行の回数を制限することで、ブルートフォース攻撃を防ぐためのものです。設定により、特定のIPアドレスからのログイン試行回数を制限し、一定回数を超えた場合にはそのIPアドレスを一時的にブロックすることができます。このような機能は「SiteGuard WP Plugin」にもありますが、こちらはより細かく設定でき、ログイン制限を受けずにログインできるホワイトリスト、無条件でログインが不可になるブラックリストの設定が可能です。
例えば、以下のような設定が可能です。
- :ログイン試行の回数を5回に制限
- :一定時間(例:15分)内に5回以上の失敗があった場合、そのIPアドレスをブロック
- :管理者のIPアドレスをホワイトリストに設定
このように設定することで、攻撃者がパスワードを推測するために何度もログインを試みることを防ぎ、セキュリティを強化できます。
3.Wordfence Security
先程紹介した「SiteGuard WP Plugin」はとても優秀なプラグインですが、マルチサイトと呼ばれる、一つのワードプレスに複数サイトを組み込むことを行った場合使えないという制約があります。そのため、代替案としてこの「Wordfence Security」を利用するのがおすすめです。
以下が主な機能です。
- :ファイアウォールの設定
- :マルウェアスキャン
- :ログインセキュリティの強化
Wordfence Securityを利用することで、サイトへの不正アクセスを防ぎ、マルウェア感染のリスクを軽減できます。また、ログインセキュリティの強化により、ブルートフォース攻撃に対する耐性も向上します。
手動で行うセキュリティ対策(上級)
1.ログイン画面にアクセスできるIPを制限する
ログイン画面へのアクセスを特定のIPアドレスに制限することで、外部からの不正アクセスを防ぐことができます。
IPアドレスがホワイトリストに登録されていない場合、仮にログインURLがあっていてもログイン画面を表示することもできなくなります。
記述はシンプルなので、よりセキュリティを高めたい場合に実装してみてください。
以下サンプルコードになります。
2.セキュリティヘッダーの実装
こちらの記述は、webブラウザに対してこのページをどう扱ってほしいか指示するものです。主にセキュリティ強化のために使われます。
・HTTPSにアクセスしてくださいという指示
httpsへのリダイレクトと合わせて使うとより効果的
・MIMEタイプというファイルの種類をブラウザに勝手に判断させないための指定
・全てのリソースの読み込み元を制限
- 「default-src 'self'」:すべてのリソース(画像、動画、スタイルシート、スクリプトなど)を 自ドメイン('self') に限定します。
- 「script-src 'self'」:スクリプトの読み込みを 自ドメイン('self')と cdnjs.com からのみ許可します。
※管理画面には多くの機能があり、Content-Security-Policy の制限をかけると、サイトが正常に動作しない可能性が高いです。
そのため、動作に影響を与えないように、管理画面を制限から除外します。
・リファラー情報(ブラウザが送信するアクセス元ページ情報)の送信制限
これにより、自分のサイトから他のサイトに遷移する際に、リファラー情報が一切送信されなくなり、他のサイトが自分のサイトからのアクセス元情報を取得することができなくなります。 特に、機密性の高いページ(例えば、ユーザーの個人情報を扱うページ)で利用すると、プライバシー保護が強化されます。
終わりに
自社のサイトは昔作ったけど、更新はしていないというというお話を度々耳にすることがあるのですが、年単位になってくると脆弱性が雪だるま式に増えていってしまいます。
そのため定期的なセキュリティ対策の見直しと実施が重要になります。
1ヶ月毎などの定期的な更新を行うことが望ましいですが、3ヶ月や半年に一度の更新でも効果はあります。
弊社で作成したサイトの保守はもちろん、他社で作成したサイトの保守も行っておりますので、もしご興味があればお気軽にお問い合わせください。
予算に合ったプランをご提案させていただきます。