WordPressでやっておきたいセキュリティ対策

本記事にはアフィリエイト広告(プロモーション)が含まれています。

目次
  1. WordPressのセキュリティ被害例
  2. 管理画面を不正ログインから守るには
  3. WordPressコアファイル、テーマ、プラグインのセキュリティ対策
  4. コメント機能・お問合せフォームのスパム対策
  5. 万が一被害にあったときのために
  6. WordPressのおすすめセキュリティ対策まとめ

この前、お客さまより相談がありました。
管理画面にログインできなくなり、ホームページ上に変なメッセージが表示されてしまったとのこと・・・。

調べてみると、WordPressのコアプログラムが不正に書き換えられていました。
残念ながら、ハッキング被害に合ったようです…。
怪しいプログラムが仕込まれた箇所を特定し、最新のWordPressのコアプログラムに差し替えました。

対応はできたものの、また脅威にさらされるのは嫌ですよね…。
これを機に、WordPressのセキュリティについて、「とりあえず、これやっとけばOK!」ではなく、必要な対策を説明できるよう、自分なりに知識を深めておきたいと思い、記事にしました。

WordPressのセキュリティ被害例#

WordPressは世界中で利用者の多いブログシステムです。
使用者が多いだけでなく、オープンソースでプログラムが公開されていることから、攻撃者から狙われやすいツールでもあります。

まず、WordPressを運営時にどういった被害に合うリスクがあるのかみていきましょう。

管理画面に不正ログインされる#

WordPressのサイトは、

「http(s)://WordPressサイトのインストールアドレス/wp-admin/」… 管理画面

「http(s)://WordPressサイトのインストールアドレス/wp-login.php/」… ログイン画面

というように、アドレスが決まっています。

WordPress運営者なら誰でも知ってるログイン画面

WordPressを運営したことある人なら、誰でも簡単にWordPressのログイン画面にたどり着けます。

ユーザー名やパスワードを推測したり機械的に試して、ログインが通ってしまうと、管理画面を攻撃者が操作できるようになってしまいます。

もし管理画面を乗っ取られてしまうと、下記のような被害が起きる可能性があります。

  • 悪意のあるファイルのアップロード、外部サイトへの転送など、コンテンツを改竄される
  • WordPressのデータベースに保存されていた個人情報が漏洩してしまう
  • ホームページ・運営者の信用性が下がる

WordPressのコアプログラム、テーマ、プラグインの脆弱性を利用される#

WordPressのプログラム、テーマ、プラグインなどのプログラムの脆弱性を悪用し、不正なコンテンツやスクリプトが混入されるという被害もあります。

こちらも、プログラムを介して、コンテンツの改竄や、ウィルスの感染、重要情報の漏洩などの被害につながる可能性があります。

コメント機能・お問合せフォームをスパムに利用される#

コメントを受け付けている場合、コンテンツと関係ないコメント(スパムコメント)が大量に投稿されてしまうことがあります。

お問い合わせフォームを設置している場合、管理者宛にスパムメールが送られてくることがあります。また、お問合せフォームには入力した内容のコピーをメールアドレスに自動送信される仕組みがあります。その機能を悪用することで、第三者に迷惑メールを送られてしまう恐れがあります。

管理画面を不正ログインから守るには#

ユーザー名には「admin」を使用しない#

ユーザー名は
admin
administrator
ドメイン名(このサイトだったら、0forest)
などは、推測されやすいので避けましょう。

ただし、これは最低限の対策になります。

WordPressの仕様上、ユーザー名は著者の記事一覧URLなどで使われているので、外部に見えてしまう場合があります。
また、ユーザー名がわからなくても、ログインにはメールアドレスが代用できます。メールアドレスは、身近な人は知っているでしょうし、SNSなどのプロフィールに公開していることもあるかと思います。

ログイン画面のユーザー名/メールアドレスは隠しきれないことを前提に、その他の対策と併用することで、全体のセキュリティ強化した方がいいです。

パスワードには複雑なものを設定する#

パスワードは桁数を増やし推測されにくいものにしましょう。

WordPressはユーザー設定画面でパスワードの強度を確認できます。
「強力」となるパスワードを設定しましょう。

二段階認証を入れる#

二段階でID とパスワードを認証することで、管理画面のセキュリティを強化します。

一つのやり方はBasic認証を管理画面にいれる方法です。

WordPressブログにパスワードをつける【Basic認証】

また、後で紹介する「Wordfence Security」の機能でも認証アプリを利用して二段階認証を設定できます。

管理画面にアクセス制限をかける#

外部の人が管理画面にアクセスできないよう制限をかけます。

海外IPからのアクセスを制限する#

エックスサーバーの場合はサーバーパネル>WordPressセキュリティ設定で海外IPを制限できます。

ログインロックを入れる#

ログインロックは、何度も連続してログインに失敗するときに、一定期間ログインできないようにする機能です。
機械的にユーザー名とパスワードを試してログインしようとする攻撃に有効です。

サーバーのセキュリティ機能で用意されている場合があるので調べてみましょう。

エックスサーバーの場合はサーバーパネル>WordPressセキュリティ設定にあります。

プラグインを使う場合には、後で紹介する「SiteGuard WP Plugin」の機能で設定できます。SiteGuard WP Pluginだと、何回連続で失敗するとロックとするかなど、より細かく設定ができます。

プラグインによる管理画面の保護:CloudSecure WP Security#

日本語で設定できるのでおすすめ。

https://wpplugin.cloudsecure.ne.jp/cloudsecure_wp_security

エックスサーバー

だと、初期でインストールされます

WordPressコアファイル、テーマ、プラグインのセキュリティ対策#

WordPressのソフトウェア、テーマ、プラグインのアップデート#

最新のWordpressソフト、プラグインを使うようにしましょう。

アップデートがある場合は管理画面に印がつきます。

メンテナンスされていないテーマ、プラグインは使用しない#

テーマやプラグインをインストールする時には、しっかりメンテナンスされているか確認してから使用するようにしましょう。

使っていないテーマとプラグインは削除する#

テーマは、現在使用しているテーマと、WordPressの公式テーマ「Twenty Twenty-One」を残して、他は削除しましょう。

またプラグインも、その時使うプラグインのみを有効化し、有効化していないプラグインは削除しましょう。

重要ファイルの保護#

WordPressのプログラムファイルの中には「wp-config.php」というファイルがあります。このファイルには、データベースへのアクセス情報など、重要な情報が書かれているため、漏洩したり、不正に書き換えられないように保護します。

サーバーにアクセスし、wp-config.phpのファイルのパーミッションを、「400(読取専用)」に変更します。

ファイルの場所:/(WordPressをしたインストールディレクトリ)/wp-config.php

WAF(Web Application Firewall)#

WAFはアクセスの内容を検査し、Webアプリケーションへの不正な攻撃とみなしたアクセスを遮断する仕組みです。この仕組みのおかげで、Webアプリケーションの脆弱性を悪用した攻撃を防ぐことができます。

サーバー機能でWAFを設定#

サーバーのセキュリティ機能にWAFがついている場合は導入しましょう。

このサイトが動作しているエックスサーバーにもWAF機能があります。(初期はなぜかOFFなので、忘れずONにしましょう)

サーバー管理>セキュリティ>WAF設定で設定できます。

プラグインでWAF設定:Wordfence Security#

WordPressのセキュリティを強化するための多様な機能を提供しているプラグインです。

このプラグインはWAFはもちろん、二段階認証など、多様なセキュリティ強化のための機能が含まれています。

https://ja.wordpress.org/plugins/wordfence/

コメント機能・お問合せフォームのスパム対策#

お問い合わせフォームやコメント機能を利用している方はGoogle reCaptchaを導入しておきましょう。

https://kinsta.com/jp/blog/wordpress-captcha/

よく使われるお問合せフォームにもreCAPTHCAの設定ができたりします。

https://haniwaman.com/google-recaptcha/

万が一被害にあったときのために#

バックアップを取る#

仮に攻撃者によってホームページが改ざんされてしまった場合に備えて、バックアップを取っておきましょう。

万一ハッキングされてしまっても、バックアップを取った時点のデータに戻すことができます。

サーバーのバックアップ機能を利用する#

多くのサーバーには、データのバックアップ・復旧機能がついています。

例えば、エックスサーバーではデータは7日分、データベースは14日分保管しています。

Webデータ
(WordPressソフト、テーマ、プラグイン、画像ファイル)
MySQLデータベース
(記事本文、投稿日時、カテゴリー、コメントなどのデータ)
保存期間過去7日分過去14日分

プラグインを利用する#

サーバーの機能とは別に、バックアップを取りたい場合にはプラグインを使います。

https://ja.wordpress.org/plugins/updraftplus/

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

攻撃例対応策
管理画面への不正ログインユーザー名をadmin以外にする
パスワードの強化
二段階認証の追加
アクセス制限
プラグインによる保護
プログラムの脆弱性を利用WordPress、テーマ、プラグインのアップデート
こまめにメンテナンスされているテーマ・プラグインを使う
不要なテーマとプラグインを削除
重要なファイルの保護
WAFの導入
ファイルのバックアップ
コメント機能・お問合せフォームの悪用Google reCaptchaの導入

以上、WordPressのセキュリティ対策でした。

えみ
えみ

作って、遊んで、世界を広げる