WordPressのセキュリティ対策:All In One WP Security、wordfence securityの設定

WordPressのセキュリティ

「WordPressはセキュリティが弱いと聞いて不安」「重要なサイトだからしっかりとセキュリティ対策をしたい」と考えている方に向けて、簡単に実施できるWordPressのセキュリティ対策を解説します。

WordPressは「セキュリティが弱い」のではなく「狙われやすい」

WordPressはセキュリティが弱いと言われることもありますが、構造そのものが他のCMSと比べて弱いわけではありません

ただ、世界でもっとも使われているCMSなので、悪意のあるクラッカーに狙われやすい傾向があります。広く使われているからこそ、攻撃する側からすれば弱点を突き止めれば様々なサイト標的にでき効率がよいのです。

また、WordPresはオープンソースのシステムです。オープンソースとはソースコードが公開されていること言います。そのため脆弱性の検討もしやすいです。

この2点が、WordPressのセキュリティ被害のニュースが比較的多くなる主な要因です。

しかし、下記で解説するようなセキュリティ対策をしっかりおこなえば、被害に遭う可能性をかなり減らすことができます。

WordPressの具体的なセキュリティ対策13選

WordPressの具体的なセキュリティ対策を、特別な専門知識が必要無い方法を中心に解説します。ほとんどがプラグインを導入することで簡単に設定できます

1.ログイン画面のURLを変更する

セキュリティを考える上で、クラッカーに認証を突破されないことは非常に重要です。そのために、そもそもログイン画面への意図しない他者からのアクセスを発生させないことは基本の対策になります。

その一つの方法が、ログイン画面のURLを変えることです。WordPressのログインURLは初期設定だと /wp-login.php となっています。このままにしておくと、誰でも簡単にログイン画面の場所がわかってしまうので、変えることが望ましいです。

具体的には、 /wp-login.phpを予測が難しい文字列(7wMkv4iD など)に変えるのがよいでしょう。手作業で変える方法もありますが、プラグインを使うのが簡単でおすすめです。

対応プラグイン:All In One WP Security Firewall

2.ログイン画面にアクセス可能なIPを制限する

IPアドレスでアクセスを制限する方法も有効です。社内や許可されたリモート環境のネットワークのみ許可することで、意図しない外部からのアクセスを防ぐことができます。

対応プラグイン:All In One WP Security Firewall

3.ログイン画面にベーシック認証をかける

ログイン画面へのアクセスを制限するために、ベーシック認証をかけることも効果的です。ベーシック認証とは、ページを表示する際にIDとパスワードの入力を求めることで、アクセスできるユーザーを限定する手法です。

設定するには”.htaccess”と”.htpasswd”という2つのファイルを用意する必要があります。具体的なやり方はサイト閲覧者を簡単に制限 – BASIC認証の設定と解除の方法などにわかりやすくまとまっていますので、参考にしてみてください。

4.ログインの失敗回数に上限を設ける

ログイン画面にアクセスされしまった場合、IDとパスワードのみの認証だとブルートフォースアタック(IDとパスワードをひたすら生成して総当たりする攻撃)や辞書攻撃(パスワードに使われる可能性が高い単語を辞書化して、それらを片っ端から試す攻撃)で突破されてしまう可能性があります

なので、初期設定で設けられているIDとパスワード以外の認証方法を追加することが重要になります。

その一つの方法が、ログインの失敗回数に上限を設けることです。上述したブルートフォースアタックや辞書攻撃は膨大な回数のログイン試行をおこないます。一方で、正規のログインユーザーであれば、ログインの失敗はほぼ無いはずです。したがって、ログインの失敗回数を制限することは有効な手段になります。

対応プラグイン:All In One WP Security FirewallWordfence Security

5.二段階認証を設定する

WordPressで設定しているIDとパスワード以外の認証を追加する方法です。プラグインを使えば、スマートフォン宛に送信されるワンタイムパスワードを要求する形式を設定でき、手軽に安全性を高めることができます。

対応プラグイン:Wordfence Security

6.reCAPTCHAを追加する

reCAPTCHAは、ページへのアクセスが人間によるものかボットによるものかを判断して、後者を弾く仕組みのことです。

reCAPTCHA

reCAPTCHA | Google Developers

これを導入することで、認証を破ろうとするプログラムからのログイン試行を防ぐことができます。

対応プラグイン:Wordfence Security

7.IDを隠す

WordPressのアカウントのIDは、初期設定のままだと表から簡単に見ることができてしまいます

例えば、テーマによってはコンテンツ上に投稿者IDが表示されるものもあります。WordPressのデフォルトのテーマ(2020年現在)であるTwenty Twentyもそのひとつです。

コンテンツ上に表示されるユーザーID

Twenty Twenty

また、URLの末尾に ?author=1 と追加してアクセスすると投稿者アーカイブページに飛び、そのURLが /author/ユーザーID/ となっているためここからも見ることができます。

認証の必要情報の1つであるIDが公開されている状態は望ましくないため、隠す必要があります。設定はプラグインを使うことで簡単に実施できます。

対応プラグイン:Wordfence Security

8.安全なパスワードを使う

推測しづらいパスワードを使うことはセキュリティの基本です。社名や個人名などを使うのは絶対にやめましょう。英数字と記号を含むランダムで長い(例えば12文字以上)文字列が推奨です。

安全性の高いパスワードは、専用のジェネレーターで生成するのが簡単かつ確実です。例えばパスワード ジェネレータ|LastPassなどはおすすめです。

また、複数のサービスでパスワードを使い回さないことも重要です。万一、一箇所からパスワードが流出した場合、使い回していると他の場所の認証まで破られてしまうリスクが高くなります。

9.wp-config.phpへのアクセスを制限する

WordPressの記事や画像はデータベースに保存されますが、そのデータベースへの接続情報をはじめとした重要な情報が含まれているのが、wp-config.phpです。

データベースを守るため、wp-config.phpへのアクセスは制限しておく必要があります。設定はプラグインでおこなうことができます。

対応プラグイン:All In One WP Security Firewall

10.ファイアウォールを設置する

ファイアウォールは不正なアクセスを防ぐシステムのことです。一般的にはネットワークに設置されることが多いですが、Webに対して働くものもあり、それをWAF(Web Application Firewall)と言います。

レンタルサーバの管理画面から設定できる場合もありますが、WordPressのプラグインを使うのが簡単でおすすめです。

対応プラグイン:All In One WP Security & FirewallWordfence Security

11.不要なプラグインを削除する

不要なプラグインを放置すると、脆弱性が見つかった時にそこから狙われてしまう可能性があります。

また、サイトの表示速度を悪化させる要因にもなりうるため、使用していないプラグインは削除するようにしましょう。

プラグインの削除方法:WordPressの管理画面のメニュー > プラグイン > 該当するプラグインの「削除」をクリック

12.WordPressやプラグインを最新に保つ

WordPress本体や各プラグインは、定期的に新しいバージョンがリリースされています。新しくなればなるほどセキュリティ担保の度合いが高くなるため、常に最新版が使われている状態が望ましいです。

バージョンアップ自体は簡単な操作でおこなうことができますが、導入しているテーマやテンプレート次第ではサイトが表示されなくなったりするなど不具合が発生するケースがあります。したがって、事前にバックアップを取ることが非常に重要です。

13.バックアップを定期的に取る

「12.WordPressやプラグインを最新に保つ」でバージョンアップする前にバックアップを取ることの重要性に触れましたが、そうでなくても普段から定期的に取っておくことで、万一サイトのデータを消されてしまったり改ざんされてしまったりした時にも復元することができます

WordPressのセキュリティ対策におすすめのプラグイン

セキュリティ対策と聞くと難しそうな印象もあると思いますが、上述した内容のほとんどはプラグインだけで簡単に設定できます

そこで以下では、WordPressのセキュリティを高める上で特におすすめな2つのプラグイン、”All In One WP Security & Firewall“と”Wordfence Security“を紹介します。

この2つが対応しているセキュリティ対策はそれぞれ下記の通りです。

All In One WP Security FirewallWordfence Security
ログイン画面のURLを変更する
ログイン画面にアクセス可能なIPを制限する
ログイン画面にベーシック認証をかける“.htaccess”と”.htpasswd”
ログインの失敗回数に上限を設ける
二段階認証を設定する
reCAPTCHAを追加する
IDを隠す
安全なパスワードを使うパスワードジェネレータ
wp-config.phpへのアクセスを制限する
ファイアウォールを設置する
不要なプラグインを削除する手作業
WordPressやプラグインを最新に保つ手作業
バックアップを定期的に取るUpdraftPlusがおすすめ

All In One WP Security & Firewall

All In One WP Security & Firewall

対応範囲が広く、これ一つで基本的なセキュリティ対策はかなりまかなえます

あまり手間をかけずにサイトのセキュリティを高めたい場合は、まずはAll In One WP Security & Firewallをインストールするのがよいでしょう。

インストール数や利用者レビューもバッチリで、安心して使うことができます。プラグインの更新も頻繁です。

デメリットは管理画面が英語なことと、二段階認証やreCAPTCHAなどのやや高度なセキュリティには未対応なことです。

Wordfence Security

Wordfence Security

All In One WP Security & Firewallが対応していない二段階認証やreCAPTCHAを実装することができます

サイトのセキュリティ状態をスキャンする機能もあり、脆弱性を幅広い項目に渡ってチェックしてくれます。

ログインの監視機能もあり、怪しいログインをモニタリングすることが可能です。

総じてAll In One WP Security & Firewallよりもさらに高機能なのが魅力的ですが、ログイン画面のURLの変更などのやや基本的な対策に対応していないのがネックです。

セキュリティ対策を万全にしたい場合はAll In One WP Security & Firewallと併せて導入するのがよいでしょう。

WordPressのセキュリティ対策に役立つ情報源

WordPressのセキュリティについての情報を得られるSNSアカウントやWebサイト、書籍を紹介します。

WordPress.orgのTwitterアカウント

WordPressに関するお知らせが投稿されており、バージョンアップの情報などをキャッチアップできます。

WordPress.orgのTwitterアカウント

INTERNET Watch(インプレス)

インプレスが運営する「インターネットと情報セキュリティの最新ニュース」についてのWebメディアです。ウイルス、脆弱性、フィッシングなど幅広いテーマに渡ってセキュリティ対策関連ニュースを発信しており、WordPressの情報も扱っています。

INTERNET Watch

『WordPressセキュリティ大全』

WordPressのセキュリティについて丸一冊に渡って解説した書籍で、非常に幅広い知識と具体的な対策方法を学ぶことができます。この記事を書く際にも参考にさせていただきました。

『WordPressセキュリティ大全』

WordPressのセキュリティ対策まとめ

WordPressは簡単な操作で本格的なWebサイトを構築・運営できる優れたシステムです。ただ、人気があるがゆえに狙われやすく、セキュリティ対策をしっかりおこなう必要があります。

この記事でご紹介した方法ならスキルが無くても簡単にセキュリティ対策ができますので、ぜひ参考にしてみてください。

この記事があなたのWebサイトを守る助けになれば幸いです。

この記事の執筆者

牧野健人

牧野健人

株式会社リラクス 代表取締役。マーケティング領域におけるクリエイティブ改善を専門としながら、アクセス解析やSEOの知見、ならびにデザイン・コーディングのスキルを活かしクライアントの成果向上のための取り組みに尽力しています。