そんな不安を抱えていませんか?WordPressは初心者だし、Webの知識もあんまりないからそもそもどんな脆弱性があるのかもよくわかっていない。
そう思っている方がたくさんいます。そんなあなたに読んでもらいたいのがこの記事です。
これを読めばWordPressの脆弱性のことを理解できるようになります。初心者でもわかるように、WordPressの脆弱性にはどれほどの危険があるのか、またどんな攻撃をされる可能性があるのか、丁寧に説明しています。さらに、脆弱性への具体的な対策も解説。
簡単に取り組める内容なので、脆弱性への漠然とした不安をすぐに解消できますよ。それではここからWordPressの脆弱性の解説と対策のご紹介に入っていきます。この記事でみなさんのお悩みが少しでも解決できれば嬉しいです。
WordPressに潜む脆弱性の怖さ
WordPressは世界中で一番使われているCMSのひとつ。
W3Techsの報告によると、全世界のWebサイトのうち、約33%がWordPressで作られているそうです。
しかし、これだけ多くの人が使っているということは、裏を返せばハッカーの標的になりやすいということです。
実際、アメリカのセキュリティ企業Feedjitの発表によると、WordPressの脆弱性をついたページ改ざんの被害ページ数が150万を超えたケースもあります。
この数字を見ると、WordPressの脆弱性による問題が、決して他人事ではないということがわかるでしょう。
WordPressの脆弱性につけ込む攻撃
WordPressの脆弱性につけ込む攻撃にはどういうものがあるのか、いくつかご紹介します。
SQLインジェクション
SQLインジェクションは、データベースを標的にした手法。
問い合わせフォームなどに設置してある入力欄へ悪意のあるSQL文を流し込み、データを勝手に書き換えたり、情報を抜き取ったりする攻撃です。
この攻撃によって、顧客情報の流出やデータ改ざん(データベース破壊)などの被害を受ける可能性があります。
ブルートフォースアタック
ブルートフォースアタックはパスワードを解読しようとする攻撃。
別名「総当たり攻撃」と呼ばれるこの攻撃は、考えられるパスワードを全て試していくというとても原始的な手法です。
パスワードが破られると不正にログインされる恐れがあります。
Dos攻撃
DoS攻撃は、サーバーダウンを狙った攻撃。
ターゲットのサーバーに大量のデータを送りつけて負荷をかけ、サーバーをダウンさせるというものです。
サーバーが落ちると当然その上で動いているサービスが全てストップするため、特にビジネス用のサイトでは大きな被害を受けます。
ゼロデイ攻撃
ゼロデイ攻撃は、セキュリティホールが見つかったときに、プログラム修正などの対策が打たれる前に攻撃するというもの。
ちなみに「ゼロデイ」は「0日(0 day)」のことです。
セキュリティ対策が施される日(1日目)よりも前に攻撃するということでこのように名付けられました。
脆弱性への対応策
さてここからは、WordPressの脆弱性へ対処する具体的な方法について確認していきましょう。
バージョンを最新に保つ
脆弱性が発見されると、WordPressのプログラムが修正されてバージョンが上がります。
つまり、最新バージョンがWordPressの一番安全な状態ということです。
古いバージョンのまま放置せず、バージョンアップを行って最新にしましょう。
ログイン対策
不正ログインへの対策には、2つのアプローチがあります。
- ログイン方法を複雑化する
- ログインページのアドレスを変える
ログイン方法を複雑化
ログイン方法を複雑にする方法は、下のようなものが考えられます。
- パスワードを複雑にする
- ログイン項目を増やす
パスワードを複雑にする
パスワードを簡単なものではなく、文字、記号、数字をランダムに組み合わせてわかりにくいものにすることで、不正にログインされる可能性は低くなるでしょう。
また、パスワードは定期的に変更することが望ましいです。
ログイン項目を増やす
WordPressの標準機能では、ユーザー名とパスワードを使ってログインするようになっていますよね。
プラグインを使えば、その2つに加えて、「秘密の質問」のような項目を増やすことができます。
オススメのプラグインは、「WP Security Question」。
その名の通り、ログイン画面に秘密の質問を追加できるプラグインです。
ログインページのアドレス変更
ログインページを隠すことができれば、より不正ログインを防ぐことができるでしょう。
WordPressのログインページは、https://●●●/wp-login.phpとなっていますが、プラグインを使ってURLの「wp-login.php」の部分を別のアドレスへ変えることができます。
ログインURLを変更できるプラグインはいくつかありますが、「WPS Hide Login」がシンプルで使いやすいです。
コメントブロック
WordPressには読んだ人が記事にコメントを書き込める機能があります。
ユーザーとの交流ができる便利な機能ですが、フィッシング詐欺を狙ったようなスパムコメントが書き込まれるリスクも。
対策としては、WordPressに標準インストールされているプラグイン「Akismet」を使うといいでしょう。
悪意のあるコメントをブロックしてくれます。
wp-config.phpへのアクセス不可設定
wp-config.phpには、データベースのアカウント情報など、非常に重要な内容が書かれています。
そのため、アクセスされないよう対策することが不可欠です。
.htaccessに下のコードを書き込むことで、アクセスを制限することができます。
<files wp-config.php>
order allow,deny
deny from all
Allow from IPアドレス
</files>
「IPアドレス」のところには、アクセスを許可するIPアドレスを指定してください。
データベースのプレフィックス変更
WordPressをインストールするときにデータベース内のテーブル名に付けるプレフィックスを指定できます。
初期値は「wp_」となっており、そのまま使っている人も多いのですが、簡単にテーブルの名前がバレてしまうため、別のものに変える方が望ましいです。
プレフィックスの変更は、プラグイン「Change DB Prefix」を使えばすぐにできます。
ただし、テーブル名の名前を変えるとサイトへアクセスできなくなる可能性もあるので、使う際は必ず事前にバックアップを取ってくださいね。
SSL化
SSL化とは、ユーザーとサーバー間のアクセスを暗号化する技術のことです。
安全に通信できるようになるため、セキュリティレベルが上がります。
GoogleがSSL化していないサイトへ警告を出すようになったことなどを考えると、SSL化はもはや必須と言ってもいいでしょう。
ちなみに、URLが「https://〜」と、pの後ろにsがついていればSSL化されている証拠です。
無料でSSL化ができるレンタルサーバーも増えており、ハードルは高くありません。
まだ実施していない人はできるだけ早く対処しましょう。
バックアップを定期的に取得
いくら対策をしていても、いつ攻撃を受けるかわかりません。
そのため、いざという時のためにバックアップを取っておくことが重要です。
例えば、上でご紹介した「SQLインジェクション」という攻撃をうけ、データベースが改ざんされたとしても、バックアップさえ取っておけば元に戻すことができます。
有事に備えて、バックアップは定期的に取得するようにしましょう。
オススメのバックアップ用プラグインは、「UpdraftPlus」です。
簡単にバックアップ&リストアができる便利なプラグインなので、ぜひ試してみてください。
セキュリティ系プラグインを使う
WordPressにはセキュリティ関係のプラグインがたくさん用意されています。
プラグインを使えば簡単にセキュリティ対策を施せるため、初心者の方には特にオススメです。
中でも使いやすいプラグインが、「SiteGuard WP Plugin」。
国産なのですべて日本語で書かれていてわかりやすいですし、画面自体もシンプルです。
SiteGuard WP Pluginひとつで、不正アクセス対策、スパムコメント対策などをまとめて行うことができます。
まとめ
今回は、WordPressの脆弱性についてお届けしました。
自由度が高くて便利なWordPressですが、その裏には危険も含まれています。
ぜひ今回ご紹介した対策をして、安全にWordPressを使ってくださいね。