WordPressのセキュリティは弱い!?対策事例と合わせてプロが解説!

様々な機能を持ち、世界中で使われているCMSの代表格としてのWordPressですが、便利な反面、常に危険にさらされていることをご存知ですか?

  • 「WordPressでサイトを運営しているがセキュリティ面で不安だ」
  • 「そのセキュリティをどうにかしたいが何から手をつけていいかわからない」
  • 「セキュリティ問題を解決する方法やプラグインを知りたい」

このような悩みを解決するため、本記事ではWordPressを安心して運用するためにWordPressのセキュリティを強化する方法やプラグインをご紹介します。

ぜひ最後まで読んでいただき、外部からの攻撃に立ち向かうことのできる「強い」WordPressにしておきましょう。

※WordPressに強い制作会社をお探しの方は、こちらをご覧ください。
関連記事【プロが厳選】WordPressに強い優良ホームページ制作会社を総まとめ!

目次
  1. 1. WordPressがセキュリティに弱いってホント!?
    1. 1-1. なぜWordPressはセキュリティ弱いと言われるのか?
    2. 1-2. WordPressの脆弱性やリスクとは?
    3. 1-3. 実際にあったWordPressへの攻撃事例
  2. 2. WordPressのセキュリティ強化の方法
    1. 2-1. 管理画面のユーザー名、パスワードの強化
    2. 2-2. プログラムの最新化
    3. 2-3. 不活用プラグインの削除
    4. 2-4. セキュリティ用プラグインの設置
    5. 2-5. FTPソフトで設定できる「ファイルの属性(パーミッション)」を400に【中級者向け】
  3. 3. WordPressのセキュリティを高めるおすすめプラグイン
    1. 3-1. SiteGuard WP Plugin
    2. 3-2. All In One WP Security & Firewall
  4. 4. WordPressのセキュリティリスクの診断方法
    1. 4-1. WPScans.com
    2. 4-2. WPdoctor
  5. 5. 【まとめ】WordPressのセキュリティを高めて脆弱性の少ない運用を
    1. 5-1. Wordpressのサイト制作をプロに任せたい方へ

WordPressがセキュリティに弱いってホント!?

なぜWordPressはセキュリティ弱いと言われるのか?

WordPressがセキュリティに弱いと言われる理由は次の3つと言われています。

  • 多くのユーザーが利用しているメジャーなCMSのため。
  • 使いやすいCMSなので初心者のユーザーが多いため。
  • 無償で使えるオープンソースなのでセキュリティホールが発見されやすいため。

WordPressは個人のブログから、アメリカ・ホワイトハウスの公式サイトまで幅広く使われているCMSです。

そのため他のCMSと比べてもユーザー数が圧倒的に多く、攻撃をされやすい一面を持っています。
またサイトのソースコードを見ると、そのサイトがWordPressで運用されていることがすぐに分かってしまいます。そして無償で使えるオープンソースは、WordPressを動かすプログラム構造も分かってしまうため、脆弱な箇所が発見されやすく、そこを突いてくるためです。

WordPressの脆弱性やリスクとは?

WordPressはオープンソースという「誰でも自由にその仕組みを見ることができ、みんなで作っていく」という考え方に基づいて作られています。

そのため他の有料CMS(Movable Typeなど)と異なり、すべてオープンなため脆弱な部分もはっきり見えてしまいます。
WordPressは多くの良識あるエンジニアであればその部分を的確に指摘し、改善するように求めています。しかし中には一部の悪意のあるエンジニアが脆弱な部分を攻撃して世界に影響を及ぼすこともしたりします。

WordPressは高機能なCMS機能を無料で使えるという、とても魅力的なCMSではありますが、すべてのプログラムコードが見えること、常に脆弱な部分があることをしっかり頭に入れておいてください。WordPressを安心して使うためにも、この記事で紹介する対策方法を行ってください。

実際にあったWordPressへの攻撃事例

プラグインを狙った詐欺サイト自動転送

2019年春頃から、特定のプラグインに対するサイバー攻撃が発生しました。
サイバー攻撃を受けたプラグインには詐欺サイトへの自動転送プログラムが組み込まれます。
攻撃されたWordPressサイトを表示すると勝手に詐欺サイトに転送されるという動作が発生して多大なる影響を与えました。

狙われたプラグインは「Yuzo Related Posts」で、ブログページの下に関連記事を表示させる機能を持つものです。プラグインの脆弱性を狙ったもので、話題になりました。

WordPressを狙った大量メール送信プログラム埋め込み

これは私のクライアントさんで起きたことなのですが、WordPressの脆弱性を狙い、メール送信プログラムが埋め込まれるというサイバー攻撃がありました。
幸いにも不正なプログラムを検知する仕組みをサーバー側で実施していたので、メールの大量送信はされませんでした。

しかし不正なプログラムをもつファイルは広範囲に渡って埋め込まれており、すべて削除するのに半月を要しました。

問い合わせフォームなどのプラグインを狙ったものではなく、WordPressのコメントフォームを狙ったものと判明しました。

WordPressのセキュリティ強化の方法

管理画面のユーザー名、パスワードの強化

まず管理画面のユーザー名ですが、よくあるものとして「ユーザー名とニックネームが同じ」というケースがあります。
これを意識しないことが大変多いので、ユーザー管理でユーザー名とニックネームを分けて管理してください。
ニックネームとはブログを見たときに出てくる「この記事を書いた人」のようなものです。

管理画面のユーザー名、パスワードの強化_1

設定には、WordPressの管理画面で「ユーザー」メニューから「ユーザー一覧をクリックします。

管理画面のユーザー名、パスワードの強化_2

ニックネームを変えたいユーザー名にマウスを当てて「編集」をクリックします。

管理画面のユーザー名、パスワードの強化_3

「ニックネーム(必須)」にユーザー名とは異なるものを入力して(日本語OK)、いったん画面下部にあるプロフィールを更新ボタンをクリックします。

管理画面のユーザー名、パスワードの強化_4

次にそのままの画面で「ブログ上の表示名」からプルダウンで設定したニックネームを選び、プロフィール更新ボタンをクリックします。これで設定完了です。

管理画面のユーザー名、パスワードの強化_5

きちんとニックネームが変わったかどうかを確認するため、投稿メニューをクリックして投稿一覧を表示させます。

管理画面のユーザー名、パスワードの強化_6

作成者がニックネームになっていたら設定完了です。
投稿を見てみても変わったことが分かりました。

管理画面のユーザー名、パスワードの強化_7

ログインパスワードについては定期的に変更することが理想ですが、なかなか難しいかと思います。その代わりに解読されにくいパスワートを設定しておくことをオススメします。

とはいえ、なかなか解読されにくいパスワードを考えるのは結構大変です。
そのようなときには文字列を自動生成してくれるWebサービスを使ってパスワードを作成する方法をご紹介します。

管理画面のユーザー名、パスワードの強化_8

LUFTTOOLさんのサイトにあるパスワード生成サービスを使ってパスワードに使う文字列を生成しましょう。
強度や文字、文字数などを設定して「生成」ボタンをクリックすると、指定された数のパスワード用文字列が出来上がります。

管理画面のユーザー名、パスワードの強化_9

なお「パスワードデータをダウンロード」ボタンをクリックすると、テキストファイルとしてダウンロードすることもできます。

プログラムの最新化

WordPress本体をはじめ、インストールしたプラグインやテーマはセキュリティホールなど脆弱性が発見されるとバージョンアップをします。
常日頃管理画面にある更新に関する表示をチェックして、バージョンアップを行ってください。

バージョンアップする際は注意しなければいけないポイントがありますので、『【初心者向け】WordPressのバージョン確認方法&最新バージョンにする方法を解説!』を必ずお読みください。

不活用プラグインの削除

プラグインもアップデートしないと、脆弱性を残したままの状態になってしまい、仮に使っていなかったとしても攻撃の対象になってしまいますので、使っていないプラグインがありましたら削除しておきましょう。

不活用プラグインの削除

※例えばWebフォントを使わなければこのプラグインは不要です。

セキュリティ用プラグインの設置

WordPressのプラグインにはセキュリティ対策ができるものも数多く用意されています。WordPressの管理画面からインストールできるセキュリティ用プラグインはすべて無料で利用でき、使い勝手のいいものもあります。

WordPressを導入したら、始めにセキュリティプラグインをインストールしておきましょう。
筆者オススメのプラグインについては、この後の「WordPressのセキュリティを高めるおすすめプラグイン」にてご紹介します。

FTPソフトで設定できる「ファイルの属性(パーミッション)」を400に【中級者向け】

WordPressには「wp-config.php」という重要なPHPファイルがあります。
この中にはデータベース接続の情報(ID、パスワード)や動作に関わる情報が記載されています。

このファイルを外部からアクセスできるようになってしまうと、勝手に設定内容を変更されたり、乗っ取られたりする危険性があります。

これを防ぐために、FTPソフトを使ってファイルの属性(パーミッション)を変更します。

まずFTPソフト(*)を使ってWordPressがインストールされているサーバーにアクセスします。
* FTPソフトには「FFFTP」や「FileZilla」などのフリーソフトが便利です。

wp-config.phpはWordPressがインストールされているフォルダ直下にあります。
wp-config.phpをクリックして選択し、サブメニューを表示させます(Windowsなら右クリック、Macならcontrolキーを押しながらクリックします)。

サブメニューの中にFFFTPなら「属性の変更」、FileZillaなら「パーミッションの変更」というメニューがあるので、クリックします。

FileZilla

※画面キャプチャはFileZillaです。

すると属性を設定できる画面が表示されるので、FFFTPなら「現在の属性」、FileZillaのときは「属性値」に『400』を入力して、OKボタンをクリックします。
これでパーミッションの変更が完了です。

FileZilla_2

どうしてパーミッションを400にするかは、上の画面キャプチャを見てください。
属性値の上に3つのパーミッションがあり、それぞれ「読み取り」「書き込み」「実行」とあり、所有者のパーミッションのみ読み取りにチェックが入っています。

これは所有者つまりWordPressを管理しているユーザーのみが読み取りが可能になり、他のユーザーはアクセスすらできない、という意味合いになります。

なおパーミッションを400に変更する際、利用しているレンタルサーバーによっては変更できないことがあります。そのときはwp-config.phpと同じ場所にある「.htaccess」という設定ファイルに以下の内容を改行の位置もそのままにして追記して保存します。

<files wp-config.php>
order allow,deny
deny from all
</files>

もしくは所有者のみ読み取りと書き取りができる「600」というパーミッションを設定することもできます。なおWordPress.comでは「600」を推奨しています。

WordPressのセキュリティを高めるおすすめプラグイン

SiteGuard WP Plugin

SiteGuard WP Plugin

SiteGuard WP Plugin 公式サイトへ

SiteGuard WP Pluginは日本語対応されているセキュリティプラグインで、管理画面とログインページ保護に特化しています。

このプラグインには、

  • WordPress管理画面のログインページURLを変更
  • ログイン情報の入力に画像認証を追加
  • WordPress本体やプラグインのアップデート情報をメールに配信

などの機能が装備されています。
このプラグインを使って常にWordPressを最新の状態にしつつ、ログインページを保護することができますので、初めてセキュリティ対策をする方でも簡単に運用することができます。

SiteGuard WP Plugin_2

これを導入したら、「SiteGuard」メニューをクリックしてダッシュボードを表示させます。
すると設定状況が表示され、どのような対策をしているかが一目でわかるようになっています。

上図のようにチェックマークが緑になっている項目を使う設定にしておけば十分です。
セキュリティレベルを上げすぎてログインできなくなったというケースもありますのでご注意を。

画像認証を使えるようにすると、ログイン画面が下のようになります。

SiteGuard WP Plugin_3

All In One WP Security & Firewall

All In One WP Security & Firewall

All In One WP Security & Firewall WordPressページ

All In One WP Security & Firewallプラグインは管理画面のURLを変更したり、ブログ記事のコメントに簡単な計算をさせるフォームを追加して、スパムメールを防止したりするプラグインです。
すべて英語で表記されているので、一見難しく感じますが、2点に絞って設定することでセキュリティ対策をすることができます。

プラグインをインストールしたら管理画面左側メニューから「WP Secutiry」をクリックします。
その中にある「User Login」をクリックします。

All In One WP Security & Firewall_2

上2つのチェックボックスにチェックを入れて画面下にある「Save Settings」ボタンをクリックします。User Loginではパスワードを数回間違ったときに一定時間ログインページにアクセスできなくなるようにする、という設定です。

チェックボックスの数字は上から順に「ログイン試行回数」「ログインできる時間(分)」「ロックがかかる制限時間(分)」です。上図では、ログイン回数は3回までで5分以内、失敗したときは60分後に再アクセスできるという設定です。

All In One WP Security & Firewall_3

もう一つの設定は「Brute Force」です。これは海外からWordPressの管理画面URLにアクセスするのを遮断する設定です。
多くのWordPressへのサイバー攻撃は海外からのアクセスのため、この設定をしておきましょう。

設定方法は、WP Securityメニューから「Brute Force」クリックしたら、「Enable Rename Login Page Feature:」にチェックを入れ、「Enable Rename Login Page Feature:」の入力欄に任意の文字列を半角英数字で入力し「Save Settings」ボタンをクリックします。

WordPressのセキュリティリスクの診断方法

WordPressのセキュリティリスクについて、無料で簡単に診断するツールがありますので、代表的なものをご紹介します。

WPScans.com

WPScans.com

WPScans.com公式サイト

WPScans.comは、診断したいWordPressサイトのURLを入力してボタンをクリックするだけで簡易的な診断をしてくれます。より詳細なレポートを受け取るためには毎月19ユーロ(約2,400円・2020.01.17現在)の支払いが必要です。
使い方はいたって簡単。「Your WordPress URL」にURLを入力し、下のチェックボックスにチェックを入れたら「START SCAN」ボタンをクリックします。

WPScans.com_2

しばらくすると診断結果が表示されます。

WPScans.com_3

「Your WordPress website is safe !」と表示されたら問題ありません。
ここまでは無料で利用できます。より詳細なレポートは有償サービスで提供されますので、簡易的な診断でしたらここまでで問題ありません。

WPdoctor

WPdoctor

WPdoctor公式サイト

WPdoctorもWordPressセキュリティ診断サービスとして有名です。
WPScan.comと異なり、無料でもかなり詳しく診断してくれます。
使い方は上記リンクのページを開き、少し下にスクロールするとフォームがありますので、診断したいURLを入力して「サイトを検索」をクリックしてください。

WPdoctor_2

しばらくすると結果が表示されます。

WPdoctor_3

レポートには緊急対応を要する項目と、注意が必要な項目が表示されます。
これを一つ一つ対応していくことで、より高度なセキュリティ対策を行うことができます。
他にも使っているWordPressのバージョンやテーマ、導入されているプラグインなどのバージョン情報も表示されます。

【まとめ】WordPressのセキュリティを高めて脆弱性の少ない運用を

いかがでしたか?WordPressのセキュリティについて理解が深まったかなと思います。
WordPressは常にアップデートしていることを頭に入れながら運用してください。
最低限行って欲しいセキュリティ対策をまとめました。

  1. 必ずユーザー名とニックネームを別にする
  2. 定期的にパスワードを変更する
  3. WordPress本体、プラグイン、テーマのバージョン管理を徹底する
  4. 定期的にセキュリティ検査を行う

これらを行った上で先にご紹介したプラグインを活用したりして、サイバー攻撃に強いWordPressサイトを目指してください。

その他、WordPressに関するデメリットは以下の記事を参考にしてください。

関連記事:WordPressのデメリット。拡張性と自由度が高いCMS「WordPress」の弱点とその対処法

Wordpressのサイト制作をプロに任せたい方へ

制作会社をなかなか探す時間がない・制作会社の違いが分からないという方は、ぜひWeb幹事にご相談ください。
Web幹事は、あなたに最適な会社を「人力で」マッチングするサービス。
実際にWeb制作・運用を経験したプロのコンサルタントが対応するため、業者選びの手間なく、質の高いマッチングを受けることが可能です!

コンサルタントのご紹介 Web幹事 コンサルタント 岩田真 岩田 Web制作会社を設立し、
3年間で上場企業を含む50社以上制作に携わらせていただきました。

様々なお客様のWeb制作を実際に行ってきましたので、
初心者の方でも安心してご相談ください!

あなたの目的や予算に合わせて最適な会社をご紹介させていただきます。
ご相談はもちろん無料。また紹介された会社に必ず発注する必要はありません。

【無料】Wordpressに強い会社を紹介してもらう