WordPress 攻撃を防ぐ方法

WordPressは世界中で広く使われており、ウェブサイトやブログを簡単に作成することができるため、多くのユーザーに愛用されています。
しかし、WordPressはその人気ゆえにサイバー攻撃の対象にもなっており、多くの脆弱性が指摘されています。

サイバー攻撃によって、個人情報の漏洩やサイトの改ざん、DDoS攻撃などの被害が発生することがあります。
そのため、WordPressを安全に運用するためには、セキュリティについての知識を身につけ、適切な対策を行うことが重要です。

本記事では、WordPressへのサイバー攻撃を防ぐための具体的な方法を紹介します。

対策1 : WordPressのセキュリティアップデート

WordPressのセキュリティを高めるためには、バージョン管理が非常に重要です。
WordPressは定期的にバージョンアップが行われ、セキュリティアップデートも含まれています。

セキュリティアップデートは脆弱性を修正するために行われるため、最新版にアップデートすることで脆弱性攻撃のリスクを減らすことができます。
プラグインやテーマについても、同様に最新版にアップデートすることが大切です。

WordPress 5.6以降では、初期設定で自動アップデート機能が有効となっております。
ただし、Wordpress のメジャーバージョンの更新には、廃止された関数やAPIなどの破壊的な変更が含まれる場合があり、これによりプラグインやテーマの互換性に問題が生じる可能性があります。 『メンテナンスリリースとセキュリティリリースのみの自動更新』の設定をおすすめ致します。

WordPress 5.5以降ではプラグインの自動アップデート機能が追加されました。
一般的なアップデートに関しては、WordPress本体と一緒に自動アップデートするだけでよいですが、特にホームページの中核を担うプラグインについては、誤った手順を踏むとサイト全体に影響を与える可能性があるため、注意が必要です。
例えば、WordPressでEC機能を提供する「Welcart」などのプラグインについては特に注意が必要です。

ただし、最新版にアップデートすることで互換性の問題が発生する可能性があり、プラグインやテーマが正常に動かなくなることがあります。 新しいWordPressのバージョンに対応しているか、アップデートする前に確認することが重要です。

対策2 : 強力なパスワードを使用する

WordPressサイトを守るためには、推測されにくい強力なログインパスワードを使用することが非常に重要です。 パスワードの作成にあたっては、以下のポイントに注意する必要があります。

大文字・小文字・数字・記号を組み合わせる

パスワードに複数の文字の種類を使うことで、さらに推測されにくくなります。
WordPressのログインパスワードに使用できる記号は!#$%&'()*+-•/:;<=>?@[]^_{|}~`の29種類あります。

10桁のパスワードを数字のみで作成した場合、平均的なパソコンの処理能力でも総当たりで5分ほどかければ突破できてしまいます。 大文字・小文字・数字・記号を組み合わせると、おおよそ6時間半くらいかかるようになります。

長さを確保する

パスワードが長いほど、総当たり攻撃に対する耐性が高まります。 総務省のインターネットの安全・安心ハンドブックでは、10桁以上の長さを確保することを推奨していますが、パスワードは「1桁増えると100倍以上推測されにくくなる」と言われています。

大文字・小文字・数字・記号を組み合わせた10桁のパスワードを突破するためには、総当たりで最大6時間半かかりますが、12桁に増やすと約6年、14桁に増やすと7,000年かかります。 できる限り長いパスワードを使用することが安心に繋がります。

パスワードを適切に管理する

同じパスワードを複数のサイトで使用してはいけません。 パスワードをメモ帳や紙に書かない、定期的にパスワードを変更するといったことに気を付けるのも重要です。

複雑で長いパスワードをいくつも記憶するのは難しいので、パスワード管理ソフトを使用することもおすすめです。 パスワード管理ソフトを使用することで、パスワードを暗号化して管理することができます。

またランダムに近いパスワードではなく、いくつかの単語を繋げた「パスフレーズ」にすると覚えやすくなります。 この場合、区切り文字に数字や記号を使うことで文字の種類を複雑にすることができます。

対策3: セキュリティプラグインを利用する

SiteGuard WP Pluginなどのセキュリティプラグインを利用すると、ログイン画面のURLを変えてしまうなど、最低限のセキュリティを手軽に設定できます。

また、ワンタイムパスワードなどの2段階認証を設定することで、不正アクセスのリスクを低減することができます。 Two-FactorなどのWordPressプラグインを使用すると簡単に設定することができます。

対策4: 不正アクセスの監視と遮断

WordPressには不正アクセスを監視する機能がないため、プラグインで監視機能を追加したり、サーバー側で監視する必要があります。
SiteGuard WP Pluginなどのセキュリティプラグインを使うと、ログインを試みたログやIPアドレスを記録することができます。

ファイアウォール

何度もログイン失敗している不審なIPアドレスがあれば、総当たりでパスワードを突き止めようとしている可能性があるため、アクセスを遮断したほうがよいでしょう。
SiteGuardには指定した回数ログイン失敗したIPアドレスを自動で一定時間ブロックする機能がありますが、恒久的にアクセスを遮断したい場合には、サーバ側でファイアウォールの設定が必要です。

ファイアウォールは、外部からの不正な侵入を防ぐことができるシステムです。
WordPressサイトに関わる部分としては、アクセスしてきたユーザーに対して通信を許可する、または遮断するかを判断します。

WAF

ファイアウォールだけでは防御できない攻撃もあるため、WAFと併用することが推奨されています。

WAF(Web Application Firewall)とは、脆弱性を狙った攻撃からWordPressなどのWebアプリケーションを保護します。
WordPressに対して不正な通信があった場合に、その通信を遮断することで攻撃を防止します。

IDS・IPS

IDSやIPSは、ネットワークにおいて不正侵入を検知・防御するシステムです。
IDSは侵入を検知するだけですが、IPSは必要に応じて通信を遮断する防御機能を持っています。

こう書いてしまうと「IPSさえあればIDSは要らないのでは?」と思う方もおられることでしょう。 IPSは不正なアクセスや異常な通信を自動的にブロックするため、誤検知が発生した場合、正常な通信まで遮断してしまう可能性があります。

この問題を解決するため、IDSを併用することで、IPSが誤検知で通信を遮断するリスクを低減することができます。
IPSが検知した通信をIDSが通知し、管理者が正常かどうかを確認することで、誤検知を回避できるからです。
IDSは異常を検知することに特化しており、より詳細な調査や分析を行うことができます。

IPSとIDSは互いに補完しあう役割を持っており、どちらか一方だけでは不十分です。
セキュリティ対策を行う際には、両者を組み合わせて使用することが望ましいです。

なお、IDSやIPSはネットワークにおいて通信を監視し、不正アクセスや攻撃を検知・防御するセキュリティです。
そのためIDSやIPSに相当する機能をもったWordPressプラグインはありません。

まとめ

本記事では、WordPressへのサイバー攻撃を防ぐための具体的な方法を紹介しました。

WordPressのセキュリティアップデートを定期的に行うことや、強力なパスワードを使用することが重要です。 また、セキュリティプラグインを利用して不正アクセスを監視し、ファイアウォールやWAF、IDS・IPSなどを併用することでWordPressのセキュリティを高めることができます。

WordPressは人気があるため、サイバー攻撃の対象にもなりやすいです。 WordPressサイトの管理者・運用者は、適切な対策を行い、安全に運用することが求められます。

注目記事

脆弱性情報を受け取る