「WordPressを使用してWebサイトを制作する」、「WordPressで制作したサイトを運用する」のであれば、WordPressのセキュリティや脆弱性が存在していた時の対応、そして、セキュリティ性を高めるために講じる対策について知っておくことが大切です。
本記事ではWordPressのセキュリティ対策を怠った場合の被害の事例や、被害を受けないための対策をわかりやすく解説します。
ぜひ、参考にしてみてください。
Table of Contents
最初に:WordPressのセキュリティについて
WordPressなどの動的CMSを使用する時には、セキュリティについて理解しておくことでトラブルを未然に防ぐことができます。WordPressは、セキュリティ対策を十分に実施すれば安心して使用できる高機能なCMSです。
WordPressの「脆弱性」が取り上げられる理由
そもそも「脆弱性」とは、「OSやソフトウェアなどにおける、セキュリティ上の弱点や欠陥」のことを指し、「セキュリティホール」とも呼ばれます。WordPressそのものはセキュリティ性に優れているものの、「脆弱性」が指摘されるケースが少なくありません。その理由について詳しくみていきましょう。
利用者が多いシステムのため「狙われやすい」傾向があるから
WordPressは利用者が多いため、それだけハッカーから狙われやすい傾向があります。これは、利用者が少ないシステムよりも多いシステムの方が効率的にハッキングできるためです。
例えば、利用者の1%のユーザーのセキュリティ対策が不十分の場合、利用者10万人だと1000人、50万人だと5000人がハッキング対象となります。
W3Techsによると、WordPressのシェア率はCMSを持つWebサイトの63.2%で使用されており、これは世界で公開されているサイトの43.1%にのぼります。
※2023年5月時点
誰でも簡単に始められるので、セキュリティの知識に乏しい初心者も含まれるから
WordPressは初心者でも簡単にWebサイトを制作できるため、初心者の割合が他のCMSよりも多くなります。初心者はセキュリティの重要性を十分に認識しておらず、自身で詳しく調べて対策を講じることも難しいため、それだけハッカーからの攻撃に無防備になる傾向があります。
ただし、WordPressのセキュリティ対策は初心者でも簡単に実行できます。周囲の人からセキュリティの重要性やおすすめの対策などを教わっている人は、早々にセキュリティ対策を実施すると良いでしょう。
オープンソースCMSだから
WordPressはオープンソースCMSなので、ソースコードが公開されており無償で誰でもプログラムの中身を閲覧できます。世界中の人がソースコードを閲覧できるため、脆弱性の指摘も必然的に多くなるのです。
しかし、WordPressは脆弱性の報告があれば速やかに対策を講じるなど、安心して使えるように迅速なサポートを行っています。WordPressは、オープンソースではないCMSよりもセキュリティ性に劣っているわけではなく、むしろセキュリティ性が高いと捉えることができます。
管理画面がインターネット上にあるから
WordPressの管理画面はインターネット上に存在します。場所を問わず管理画面にアクセスできる点は便利ですが、次の3つの要素を特定されるだけでログインされてしまいます。
- ログインページのURL
- ユーザー名またはメールアドレス
- パスワード
特に、ログインページのURLは{ドメイン}/wp-login.phpとなるので、対策しなければ容易に特定できます。また、ユーザー名とパスワードを社名や社員名、生年月日などから特定されるケースも少なくありません。
そのほか、他のWebサイトのログイン情報にパスワードを使い回している場合は、そこから情報が流出してWordPressに不正ログインされる可能性もあります。
さらに、特定されにくいユーザー名とパスワードを設定していても、シンプルな文字列や固有名詞だと、パスワードクラックで突破される恐れもあるのです。
更新されないプラグインやテーマが存在するから
WordPressやWordPressのテーマ、プラグインの開発者は、脆弱性が見つかる度に随時アップデート版をリリースしています。しかし、テーマやプラグインの開発者がアップデートをやめてしまったり、リリースされたアップデートをユーザーが行わなかったりする場合は、脆弱性が残ったままになります。
ハッキングの手法は常に変化し続けているため、脆弱性を放置するとそこからハッキングされて被害を受ける可能性があります。
WordPressサイトが受ける被害の事例
WordPressの脆弱性に世間の関心が集まるきっかけとなったのが、2017年にWordPress4.7.0及び4.7.1の脆弱性が原因で、世界で150万以上のWordPressサイトがコンテンツ改ざんの被害にあった事例です。
当時、すでに脆弱性を修正したWordPress4.7.2がリリースされていましたが、WordPress4.7.0及び4.7.1を使用していて、自動アップデート設定を行っておらず、手動でもアップデートを行っていないサイトが、コンテンツ改ざんの被害にあいました。
このような事例もあるため、自動アップデート設定は必須と言えるでしょう。それでは、WordPressサイトの被害の事例について、さらに詳しく解説します。
① 詐欺サイトに自動転送されてしまう
WordPressサイトに自動転送プログラムが組み込まれることで、サイトにアクセスしたユーザーがフィッシングサイトをはじめとする詐欺サイトに転送される事例があります。明らかに詐欺サイトと思われるサイトデザインの場合は被害が出るリスクは下がります。
しかし、ハッキングされたサイトを模倣したサイトに転送された場合、ユーザーが個人情報を抜き取られたり、さらに別の詐欺サイトへ誘導されたりする可能性があります。
例えば、会員制サイトに自動転送プログラムが組み込まれ、本物そっくりのサイトに転送された場合、ログインに必要なIDとパスワードなどの個人情報を抜き取られる恐れがあります。
② コンテンツが改ざんされてしまう
WordPressサイトのコンテンツが改ざんされてしまうケースがあります。例えば、「いたずら目的でテキストコンテンツを書き換える」「悪質なデザインのサイトに変更する」などが挙げられます。
また、悪質な例では、閲覧者のパソコンにウイルス(ランサムウェア)を感染させる広告をサイトに埋め込まれる被害もあります。
③ 個人情報が漏洩してしまう
会員制サイトの場合、登録会員の個人情報がハッカーに抜き取られる可能性もあります。個人情報の種類はサイトで異なりますが、多くの会員制サイトはメールアドレスの登録が必須です。
他のサイトへの不正ログインで得た情報と組み合わせることで、さらに別のサイトに不正ログインされる恐れもあります。
④ スパムメールが送信されてしまう
WordPressの脆弱性を突いて、スパムメールを大量に送信するスクリプトを設置され、スパムメールの踏み台にされる被害にあう可能性があります。スパムメールの踏み台にされて大量のメールを送信されると、サーバーの負荷が高まるため、レンタルサーバーではサーバーを一時停止されたり、従量制サーバーでは費用が増大する二次被害も起こり得ます。
また、脆弱性ではありませんが、ボットと呼ばれる自動実行プログラムを使って、コメントフォームやお問い合わせフォームの自動返信メールを悪用して、スパムメールを送るケースもあります。ボットか人かを判定するCAPTCHA(キャプチャ)という仕組みを利用して被害を防ぐことができます。
⑤ アカウントが乗っ取られ、ログインできなくなってしまう
管理画面に不正アクセスされると、ユーザー名やパスワードなどが変更されてしまい、ログインできなくなる恐れがあります。ハッカーにとってサイトの利用価値がなくとも、いたずら目的でログイン情報を変更される可能性もあります。IP制限や二段階認証などの対策をしていれば、他の脆弱性を突かれない限りは不正アクセスされることはないでしょう。
⑥ マルウェアに感染してしまう
マルウェアとは、次のようにPCやスマートフォンなどのデバイスや、サーバー、ネットワークにトラブルを引き起こすプログラムやソフトウェアのことです。
- コンピューターウイルス(プログラムを書き換えて自己増殖する)
- ワーム(プログラムに感染せずに単独で自己増殖する)
- トロイの木馬(一見、無害なファイルを装い侵入する)
- スパイウェア(ユーザーが気づかないうちに情報を自動的に送信する)
WordPressサイトにマルウェアが仕込まれると、個人情報を第三者に送信されたり、サイトをロックして解除料金を請求されたりする被害につながる恐れがあります。
⑦ サイバー犯罪に加担させられてしまう
WordPressの脆弱性を突かれると、DDoS攻撃(英:Distributed Denial of Service Attack)のスクリプトを設置され、踏み台にされる恐れがあります。DDoS攻撃とは、複数端末から一気にサイトへアクセスすることでサーバーやシステムに大きな負荷をかけ、サーバーダウンやパフォーマンスの低下などを引き起こす攻撃のことです。
マルウェアに感染し、乗っ取られたサーバーをDDos攻撃に利用され、知らない間にサイバー犯罪に加担させられてしまうことがあります。
WordPressのセキュリティをチェックしてみよう
WordPressのセキュリティは、以下のサービスやプラグインを使うことで確認できます。
- WPScans.com
- Jetpack Protect
- Wordfence Security
それぞれの特徴や使い方について詳しくみていきましょう。
WPSCANS.comを使用する
WPSCANS.comは、WordPressサイトの脆弱性を無料で調査できるサービスです。URL入力欄にサイトのURLを入力し、「START SCAN」を押すと簡易的に脆弱性を調べることができます。アルゴリズムを随時更新しているかどうかは不明なため、他のサービスと組み合わせて利用した方がよいでしょう。
Jetpack Protectを使用する
Jetpack Protect(プラグイン)は、WordPressサイトを毎日スキャンし、脆弱性を調査してくれる無料のプラグインです。25,000以上のマルウェアと脆弱性が登録されている「WPScan」のデータベースをもとに、WordPress本体やテーマ、プラグインについてスキャンを実施。脆弱性が検出された場合は速やかに警告・通知が届く仕様です。有料版にアップグレードすると脆弱性チェックに加え、毎日の自動マルウェアスキャンなどの追加機能が使えるようになります。
Wordfence Securityを使用する
Wordfence Securityは、WordPressのプラグインです。プラグインをインストールするとライセンス登録を促されますので、まずは無料版または有料版のライセンスを取得しましょう。初期設定が完了すると、定期的にスキャンが実行され、脆弱性の有無を確認できます。また、IPブロックやログイン施行の制限など、総合的なセキュリティ対策が可能です。
WordPressセキュリティ強化8つの対策
WordPressのセキュリティを強化する方法は次の8つです。
- ユーザー名とパスワードを複雑にする
- WordPress本体やテーマ、プラグインは都度更新し、最新の状態を保つ
- 不要なテーマやプラグインは削除する
- レンタルサーバーのセキュリティ対策機能を使う
- セキュリティ対策のプラグインを導入する
- 管理画面への外部からのアクセスを制限する
- サーバーのOSやミドルウェアはサポートされているバージョンを利用する
- WordPressの保守に強い企業に外部委託する
それぞれの方法について詳しくみていきましょう。
対策①ユーザー名とパスワードを複雑にする
WordPressの管理画面に不正アクセスできないように、可能な限り複雑なユーザー名とパスワードを設定しましょう。WordPressは24文字長の複雑なパスワードを自動生成できるので、そちらを使うのがおすすめです。WordPressのパスワードの変更方法は次のとおりです。
- WordPressの管理画面にログインする
- 「ユーザー」→「ユーザー一覧」をクリックする
- パスワードを変更したいユーザー名の「編集」をクリックする
- 「新しいパスワードを設定」ボタンをクリックすると複雑なパスワードが自動生成されます。
- 「プロフィールを更新」ボタンをクリックして完了します。
どれだけ複雑なパスワードを設定しても、パスワードを使い回していたり管理がずさんだったりすると流出する恐れがあるため、定期的に変更することが大切です。
対策②WordPress本体やテーマ、プラグインは都度更新し、最新の状態を保つ
WordPress本体のアップデートには、「バグや脆弱性を解消するためのアップデート(メンテナンスリリースとセキュリティリリース)」と「新しい機能の追加を行うアップデート」があります。メンテナンスリリースとセキュリティリリースは必ず自動更新を有効にしておきましょう。WordPress本体はもちろん、プラグインやテーマも定期的にアップデートしましょう。バージョンが古くなるにつれて既知の脆弱性を含んでいる可能性が高まるため、常に最新バージョンを維持しておくのが最も安全です。
プラグインの自動更新設定は全てのプラグインが常に最新バージョンに保たれるとは限らないため、定期的な目視での確認は必須です。
対策③不要なテーマやプラグインは削除する
使用していないテーマやプラグインはアップデートせずに放置しがちです。ハッキングに利用される恐れがあるため、不要なテーマやプラグインは削除しましょう。なお、「無効化」にしたまま放置せず、「削除」する方が安全です。管理画面の「テーマ」「プラグイン」から選んで削除してください。
対策④レンタルサーバーのセキュリティ対策機能を使う
レンタルサーバーによっては、WordPressのセキュリティ対策機能を提供しています。セキュリティの具体的な内容やコストなどを確認した上で、利用を検討しましょう。例えばXサーバーでは、次のセキュリティ対策機能を提供しています。
- 国外IPアクセス制限設定
- ログイン試行回数制限
- コメント・トラックバック制限
参考:Xサーバー「WordPressセキュリティ設定」
対策⑤セキュリティ対策のプラグインを導入する
WordPressのセキュリティ対策用のプラグインを導入しましょう。前述の「Jetpack Protect」や「Wordfence Security」の他に、次のようなプラグインがあります。
いずれも優れた機能性を持つプラグインです。機能が競合するのでセキュリティプラグインは何個も入れず、機能を理解して一番サイトに合っている物を選びましょう。例えば、SiteGuard WP Plugin は、管理画面のログインURLの変更をはじめとした基本的なセキュリティ対策機能を搭載しています。
対策⑥管理画面への外部からのアクセスを制限する
WordPressの管理画面のURLは推測されやすいため、ブルートフォースアタック(総当たり攻撃)や辞書攻撃などの不正アクセスの標的にされやすくなります。
その場合は、WordPressの管理画面にIPアドレス制限をかけることが有用です。WordPressサイトの管理者が管理画面にアクセスする際は、会社オフィスをはじめとする特定の場所から行うことが多いので、アクセスするIPアドレスは限定されます。攻撃者のIPアドレスを遮断するのではなく、アクセス可能なIPアドレスをあらかじめ限定しておくことで、不正なアクセスを防げる可能性が高くなります。
対策⑦サーバーのOSやミドルウェアはサポートされているバージョンを利用する
WordPressのセキュリティを強化しても、使用するサーバーのOSや、Apache、PHP、MySQLなどのミドルウェアの脆弱性を対策できていなければ、セキュリティ被害を受ける恐れがあります。
OSやミドルウェアに脆弱性が見つかると、開発元からパッチが提供されるので、早急に適用しましょう。サポートが切れたバージョンには、パッチが提供されないため、OSやミドルウェアは、サポートされているバージョンを利用しましょう。
レンタルサーバーを利用している場合は、サーバー会社がサーバーのセキュリティ対策を行なってくれるので、ほとんど考慮する必要がなく安心です。PHPのバージョンだけ、レンタルサーバーの利用者が選択するようになっているので、気をつけておきましょう。
対策⑧WordPressの保守に強い企業に外部委託する
WordPressのセキュリティ対策を行う時間・人材がいない場合は、保守に強い企業に外部委託することも検討しましょう。当然ながら費用がかかりますが、プロによる万全のセキュリティ対策・監視によってハッキングの被害を受けるリスクを大きく軽減できます。
もし不正アクセスを受けてしまったら
あらかじめデータベースのバックアップを取っておくと、コンテンツやログイン情報などの復旧が可能です。
すでに不正アクセスの被害にあっている場合は、早急にパスワードを変更して、改ざん等、被害を受けていないか確認しましょう。
また、マルウェアに感染している場合は、早急にサーバー上のファイルを全て削除し、被害を受ける前に取ってあったバックアップファイルをアップロードし直しましょう。
まとめ
WordPressはセキュリティ性に優れているため、ユーザーがしっかりとセキュリティ対策を行えば不正アクセスの被害にあうリスクは低いと言えるでしょう。今回、紹介したセキュリティ対策を実行し、WordPressサイトを安全に運用しましょう。
本サイト「企業担当者様向け WordPressの相談室」の運営会社である<株式会社フェアグラウンド>では、「WordPress保守サービス」をご提供しております。
現在も大手企業様をはじめ、数多くのサイト保守管理をお任せいただいております。
ご安心のうえ、貴社サイトの保守管理をお任せください。
そのほかにも、
「運用中のWordPressサイトに既知の脆弱性が存在していないか調査してほしい。」
「運用中のWordPressサイトを最新バージョンにアップデートできるか調査してほしい。」
「運用中のWordPressサイトのセキュリティ対策で、まだ他に何か行えることがあるか見てほしい」
などのご要望がございましたら、どうぞお気軽にお問い合わせください。