記事内にアフィリエイト広告を使用している場合があります。

ワードプレス

【セキュリティ対策】WordPressをハッキング・乗っ取りから守る方法

WordPressのセキュリティ対策

フリーマン
フリーマン
どうも、「きにぶろぐ.com」の自由に憧れるフリーマン(@free_manJJ)です。

WordPressは今やブログをやサイトを構築するシステムとしてメジャーな存在で、無料ブログからの移転先としても定番になっていますよね。

ただ利用者が多ければそれだけハッキングや乗っ取りのリスクも高くなるので、WordPressを利用する上ではセキュリティ対策が必須になってきます。

ぱんけろん
ぱんけろん
ショボいブログだから狙われるわけないよ。
フリーマン
フリーマン
ハッカーはそんな隙をついてくるんだよ!

WordPressは初心者でも簡単に導入できる半面、セキュリティを怠ると取り返しのつかないことになります。

そこで今回は、WordPressをハッキング・乗っ取りから守る方法をまとめましたので、必ず対策は行っておきましょう。

WordPressにセキュリティ対策が必要な理由

フリーマン
フリーマン
まずWordPressは「CMS」を採用していて「オープンソース」だから無料で提供されているよ。
ぱんけろん
ぱんけろん
しーえむえす?おーぷんそーす?

CMSとは

コンテンツマネジメントシステムの略称で、難しい専門知識がなくてもテキストや画像を使って簡単にWebサイトを管理・更新できるシステムのこと。

オープンソースとは

ソフトウェアを構成しているソースコードが公開されていて、商用・非商用問わずに誰でも利用もしくはコードを改変して再配布できるもの。

つまり、WordPressは容易に使いこなせる上に中身が丸裸な状態なので、脆弱性(コンピュータの不都合やバグなど)が見つかりやすい傾向があります。

なのでハッカーに悪意的な攻撃を受ける可能性が高い環境下にあるということですね。

ぱんけろん
ぱんけろん
もし自分のブログが攻撃されたらどうなるの?

被害を受ける可能性があるのは以下のような内容になります。

  • 個人情報が外部へ流出
  • WordPressへの不正アクセス
  • ブログ・サイト内のデータ改ざん及び削除
  • スパムによる迷惑メールの大量送信

例えばセキュリティ性の低いWordPressサイトだと容易に侵入を許すだけでなく、今まで頑張って作成してきた記事などをすべて削除されるかもしれません。

フリーマン
フリーマン
何千時間もかけて書いた記事が突然なくなったら、もう想像を遥かに超える恐怖しかありませんね。

WordPressではセキュリティ対策も兼ねて定期的にアップデートを行っていますが、それだけではハッキング・乗っ取りなどの脅威から守るには不十分です。

企業サイトはもちろんですが個人サイトであっても、自らしっかり対策を行ってセキュリティを強化しておきましょう。

WordPressをハッキング・乗っ取りから守るには

フリーマン
フリーマン
まずWordPressでできるセキュリティ対策をザッと紹介するよ!
  1. WordPress・プラグイン・テーマを最新版にする
  2. スパムコメントを遮断して排除する
  3. ログイン画面へのアクセスログを記録しておく
  4. ログイン・管理画面へのIP制限をかける
  5. ログイン認証の条件を強化する
  6. データベースへのアクセスを不可にする
  7. データベース内のテーブル名称を変更する
  8. パーミッション(アクセス権限)を厳しく設定する
  9. 定期的な自動バックアップを行う
  10. 管理者アカウントの追加は最小限にする
  11. デフォルトアカウントは使用しない
  12. サイトを常時SSL化する

一概にセキュリティ対策といっても、このように色々な方法でWordPressを強化することができます。

ぱんけろん
ぱんけろん
なんか色々ありすぎて、どの方法がいいのかわからないよ。

たしかにWordPressにまだ使い慣れていない方は、どうやってセキュリティ対策の設定をすればいいかもわからないですよね。

ですが、ハッカーはそんなことはお構いなしに、いつどんなときに攻撃をしかけてきてもおかしくありません。

 

結論から言うと「上記の項目すべてをやっておくに越したことはない」ですが、実際にすべて設定しようとすると結構な手間がかかります。

なので、WordPressで運営していくなら最低限はやっておきたい対策に絞って紹介したいと思います。

WordPressで必須なセキュリティ対策

フリーマン
フリーマン
できるだけ簡単かつ必須なセキュリティ対策を解説していくよ!

対策①:ログイン・管理画面へのIP制限をかける

外部から不正アクセスをしようとする場合は一度ログインを行う必要がありますが、このアクセスを自分のPCだけに制限することでセキュリティを高めることができます。

それと万全を期すためには、管理画面へのIP制限も行っておく方がいいでしょう。

このIP制限を設定するには、WordPressの以下のファイルを対象に編集することになります。

  • ログイン:wp-login.php
  • 管理画面:wp-admin

編集するのは「.htaccess」のファイル

設定に使用するのは「FFFTP」などのFTPソフト

PCのIPアドレスは「CMAN」で確認

フリーマン
フリーマン
FTPソフトは直接サーバーと接続して、WordPress内のファイルを編集できるものだね。

IP制限をかけるにはPCのIPアドレスを知る必要がありますが、CMANのサイトですぐに確認できます。

IPアドレス

「.htaccess」ファイルはFTPソフトでサーバーと接続後に、「対象ブログURL」⇒「public_html」と移動した先にあるかと思います。

.htaccessの編集

この同じ階層に「wp-login.php」と「wp-admin」もあるかを確認しておきましょう。

「.htaccess」ファイルをPCのメモ帳などのエディタで開いたら、以下のコードを追記します。

<files "wp-login.php|wp-admin">
order deny,allow
deny from all

allow from 12.34.567.890

</files>
フリーマン
フリーマン
数字の部分は自分のPCのIPアドレスを入力しよう。

複数のIP制限を設定したい場合は「Allow from」を追加していきます。

これで編集内容を保存すれば、自分のPC以外からはWordPressのログインや管理画面へのアクセスができなくなります。

インターネットのプロバイダ(OCNなど)によってIPアドレスが固定ではなく、一定間隔で変化する「動的IP」の場合は、上記設定だと変化時にアクセスできなくなります。

動的IPについては以下の設定内容が必要になります。

自分のIPアドレスが固定なのか動的なのかは、以下のサイトで先程確認したIPアドレスを検索すればわかります。

そうすると検索したIPアドレスに関連する情報が表示されるので、その中にある「ネットワークセグメント」を確認します。

ネットワークセグメントの確認

フリーマン
フリーマン
ネットワークセグメントはプロバイダが管理しているIPアドレスの範囲だよ。

この範囲を一括してIP制限するには、「CIDR(サブネットマスク表記)」で記述する必要があります。

CIDRの記入例

IPが「69.0.0.0 – 69.255.255.255」の場合
⇒69.0.0.0/8

IPが「69.50.0.0 – 69.50.255.255」の場合
⇒69.50.0.0/16

IPが「69.50.30.0 – 69.50.30.255」の場合
⇒69.50.30.0/24

詳細は「CIDR表」を確認

つまり、IPアドレスの範囲に含まれている「アドレス数」によって、「IPアドレス/1~32」で表記することができます。

自分のPCのCIDRがわかったら、あとは「.htaccess」ファイルに追記するだけです。

<files "wp-login.php|wp-admin">
Order deny, allow
Deny from all

Allow from 69.0.0.0/8

</files>

これでログイン・管理画面へのIP制限については以上になります。

対策②:データベースへの外部アクセスを不可にする

フリーマン
フリーマン
ここはセキュリティ対策の中でも一番重要になるよ!

データベースをアクセス不可にする理由は、WordPressのアカウント情報がここで管理されているからです。

ぱんけろん
ぱんけろん
もしデータベースがハッキングされたらどうなるの?

ここの情報が悪質な人に渡ってしまうと、データベースが直に操作されて非常に危険な状態になってしまいます。

こうしたリスクを回避するためには、データベースを管理する「wp-config.php」ファイルへの外部アクセスを不可にする設定が必須です。

そこで先程追記した「.htaccess」ファイルが「wp-config.php」の階層にあるか確認し、「.htaccess」内に以下のコードを追記します。

<files wp-config.php>

order allow,deny
deny from all

</files>

これで編集内容をファイルに保存すれば、外部からWordPressのデータベースへアクセスすることはできなくなります。

ぱんけろん
ぱんけろん
これでとりあえず一安心だね。
フリーマン
フリーマン
これにプラスして「パーミッション」も設定しておくと、セキュリティがさらに強くなるよ。

パーミッションとは、サーバーに設定されているアクセス権限のことで、どんなユーザーにどういった行動を許可するかを決めることができます。

ユーザーの対象
User:所有者
Group:グループ
Other:その他のユーザー

行動の権限
read:読み込み
write:書き込み
execute:実行
none:許可しない

このパーミッションの設定は、FTPソフトでWordPressの各ファイルごとに変更することができます。

「wp-config.php」ファイルのパーミッション変更は、FTPソフトで接続後に対象ファイルを右クリックして「属性変更」を選択します。

wp-config.phpの属性変更

そうすると「現在の属性」が確認できるので、ここでチェックを入れるか外すかで属性の数値を変更できます。

パーミッションの設定

パーミッション設定として安全性が高いと推奨されているのは、

  1. 400:オーナー(所有者)のみ呼出(読み込み)にチェック
  2. 600:オーナーのみ呼出+書込にチェック

「400」が最も安全ですが、共有サーバーだと上手く設定できないこともあるようなので、その場合は「600」に設定しておきましょう。

対策③:スパムコメントを遮断して排除する

スパムコメントはユーザーの意思に関係なく、大量に送信されてくる迷惑極まりないものです。

こうした迷惑コメントはブログの規模が大きくなっていくにつれて、1日に届く量もかなり多くなってきます。

そこで活用したいのが「Akismet」というスパム対策プラグインです。

Akismet

フリーマン
フリーマン
AkismetはWordPressの導入時にデフォルトでインストールされているよ。

このプラグインは有効化しておくだけで、スパムと思われるコメントを自動的に判別して脅威から守ってくれる優れものですね。

ぱんけろん
ぱんけろん
1つ1つ手動で対処は手間だし、これはとっても助かるぞ!

Akismetは常に稼働させておく必要がある必須プラグインなので、忘れずに有効化しておくようにしましょう。

ただ、APIキーを設定する必要があって少し手間がかかるので、もし設定方法がわからないという方は以下の記事を参考にして頂ければと思います。

Akismetでスパム対策!APIキー取得と設定方法
スパム対策プラグイン「Akismet」のAPIキー取得と設定方法を図解 ワードプレス(WordPress)導入時にインストール済みとなっている「Akismet Anti-Spam」というプラグイン...

対策④:デフォルトアカウントは使用しない

フリーマン
フリーマン
WordPress導入時の「admin」というアカウントは使ってはいけないよ!

アカウントを何も変更せず、デフォルトのまま使用すると「admin」というアカウントが設定されています。

1つ確かなことは「admin」の存在はとにかく危険性が激高だということ!

ぱんけろん
ぱんけろん
そ、そんなにヤバいの!?

なぜかと言うと「ブルートフォースアタック」の格好の餌食になるからです。

ブルートフォースアタックとは、パスワードや暗号を解読するハッキング手法の1つで、考えられるものをすべて試していく総当たり攻撃とも言われています。

ここで非常に攻撃対象になりやすいのが「admin」というアカウント名なんです。

アカウント名が容易にわかるということは、パスワードさえ解読できれば簡単にWordPressへログインできてしまうわけです。

このアカウント名は、サーバーからWordPressをインストールする際の設定時にある「ユーザ名」を指します。

WordPressのユーザー名

基本的には任意のアカウント名を設定されている方が多いかと思いますが、ここはデフォルトの「admin」にならないよう必ず設定しておきましょう。

また、WordPressの「ユーザー一覧」に使用していない「admin」アカウントが残っている場合は、これも危険な状態なので必ず削除しておいて下さい。

adminを使用中の場合は新規ユーザーを追加して、新しいアカウントでログインし直さないとadminを削除できません。

ただし、adminのアカウントで記事を更新していた場合は、削除時に「すべての投稿を以下のユーザーにアサイン」を選択して、必ず追加したアカウントへ記事を移行して下さい。

ここで選択を間違えると今までの記事がすべて消えてしまうので要注意!(設定前のバックアップ推奨)

対策⑥:定期的な自動バックアップを行う

フリーマン
フリーマン
ハッキングや乗っ取りは100%防ぐことはできないよ。

WordPressのセキュリティ精度をいかに高めても、完璧に安全だと言える環境を作るのは難しいでしょう。

セキュリティも日々強化されていますが、それと同時にハッキングや乗っ取りなどの手法も進化し、抜け穴を見つけるためにしぶとく攻撃を続けてきます。

ぱんけろん
ぱんけろん
そのド根性を他のために使えばもっと役立つだろうに。

もし万が一に不正アクセスなどでデータの改ざんなどが行われてしまったときに、バックアップデータがあれば復元できますよね。

そこで便利なのが「BackWPup」プラグインです。

BackWPup

フリーマン
フリーマン
BackWPupは定期的に自動バックアップをしてくれるよ!

「BackWPup」プラグインでは、WordPressに欠かせない以下の2種類のバックアップを取ることができます。

  1. サーバー上のデータ:ファイル関係・プラグインなど
  2. データベース上のデータ:各記事・カテゴリーなど

バックアップはセキュリティ面だけじゃなく、間違えてデータを消してしまったり、不都合によって問題が発生してしまったときにも役立ちます。

「BackWPup」プラグインの詳しい設定方法や使い方は、以下の記事内で詳しくまとめています。

BackWPupプラグインの設定と使い方
まるっと自動バックアップ!BackWPupプラグインの設定と使い方 ワードプレス(WordPress)で不慮の事態が起こってしまい、ブログやサイトのデータが全て消えてしまった!なんて最悪なこと...

対策⑦:サイトを常時SSL化する

フリーマン
フリーマン
サイトをSSL化するのもセキュリティ強化に繋がるよ!
ぱんけろん
ぱんけろん
なるほど!ところでえすえすえるって?

SSLとはSecure Sockets Layerの略称で、インターネット上でやり取りするデータを暗号化して送受信する仕組みのこと。

サイトURLが「https」から始まり、鍵マーク付きの「保護された通信」と書かれているのがSSL化されたサイトです。

SSL化によるセキュリティ面のメリットは主に以下の3つです。

  1. 情報の漏えいを防ぐことができる
  2. なりすましの対策ができる
  3. データ改ざんの防止になる

暗号化通信によるセキュリティ対策は今や当たり前のことですね。

この他にもユーザーに安心感を与えることができたり、SEO的にも多少のプラス効果があったりと嬉しい要素があります。

ブログやサイトの常時SSL化の設定は無料で簡単にできるので、できるだけ早めに導入しておくことをおすすめします。

ブログやサイトをすでに運営している方でまだSSL化していない場合は移行への作業が必要になりますが、私も途中からSSL化したので以下の記事が参考になるかと思います。

ブログをSSL化する
ブログ運営の途中からSSL化をした結果と修正が必要だった作業まとめ このブログを運営してきて、200記事以上のコンテンツを発信してきましたが、今までSSL化(暗号化通信)するのをためらっていま...

もっと簡単にセキュリティ対策したい方は

ぱんけろん
ぱんけろん
セキュリティ対策したいけど、今までのはちょっと難しいよ。
フリーマン
フリーマン
じゃあもっと手軽にできるものも紹介しておくよ!

①:SiteGuard WP Plugin

SiteGuard WP Plugin

これはWordPressの国産セキュリティプラグインなので、日本語にしっかり対応していて有効化するだけで使用できるので初心者の方でも安心です。

「SiteGuard WP Plugin」の主なセキュリティ機能としては、

  • ログインページ(wp-login.php)のネーム変更
  • wp-admin階層のファイルに対するアクセス制限
  • ログイン・コメントページ等に画像認証追加
  • 複数回のログイン失敗による一定期間ロック

このプラグイン1つで、WordPressの重要なファイルへのアクセス制限や、ログインページなどのセキュリティ強化が行えます。

フリーマン
フリーマン
画像認証はボット(bot)に対する自動入力の防止になるね。

ハッカーは機械的に不特定多数に攻撃を仕掛けてくるので、「SiteGuard WP Plugin」を導入するだけでもセキュリティ対策になります。

②:Google Authenticatorプラグイン

Google Authenticatorプラグイン

フリーマン
フリーマン
これは仮想通貨取引所でも使われている2段階認証だね。

「Google Authenticator」はGoogleが提供している「2段階認証システム」で、ユーザー名(ID)とパスワードとは別にもう1段認証を増やすものです。

Google Authenticatorの2段階認証では、ワンタイムパスワードという1度限り有効な使い捨てパスが採用されています。

スマホアプリとWordPressを連携してログイン強化が行えるので、認証コードが表示されるスマホがないと基本ログインはできません。

2段階認証によるログインでは認証コードが毎回変化するので、ハッキングや乗っ取りに対して非常に有効になります。

2段階認証を設定するには、WordPressで「Google Authenticator」プラグインをインストール&有効化し、左メニューの「ユーザー」⇒「あなたのプロフィール」に移動します。

そうすると、以下のように「Google Authenticator Settings」の項目が追加されているはずです。

Google Authenticatorの設定

次に「Active」にチェックして、「Secret」のシークレットコードを控えるか、QRコードを後でスマホアプリで読み込みます。

「Description」はアプリ側で表示される名前になるので、わかりやすいものに変更して下部の「プロフィールを更新」をクリックしましょう。

フリーマン
フリーマン
PC画面はそのままでスマホアプリをダウンロードしよう。

「Google Authenticator」のスマホアプリは以下からダウンロードできます。

Google Authenticator
Google Authenticator
開発元:Google, Inc.
無料
posted withアプリーチ

アプリが起動できたら、先程のシークレットコードを入力するかQRコードをスキャンして、アプリ内にWordPressアカウントを追加します。

これでスマホアプリに6桁の認証コード(ワンタイムパスワード)が表示されるはずです。

あとはいつものWordPressログイン画面で、ユーザー名とパスワードにプラスして「Google Authenticator」の認証コードを入力する形になります。

WordPressのログイン画面

これで2段階認証によるセキュリティ対策は完了になります。

スマホアプリによる2段階認証は、スマホの紛失・故障でログインできなくなる可能性があります。

もしその状況になってしまった場合は、FTPソフトを利用してプラグインを一旦WordPressからローカル側に移すことでログインできるようになります。

2段階認証を解除したい場合は、「Active」のチェックを外して変更内容を更新すればOKです。

WordPressのログイン画面には認証コードを入力する項目は残っていますが、Activeでなければ入力しなくてもログインできます。

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

ぱんけろん
ぱんけろん
セキュリティ対策ってとっても重要だったんだ。
フリーマン
フリーマン
WordPressはハッカーに狙われやすいから、まだ何も対策していないなら早めにセキュリティ強化しておこう。

WordPressはシステム上脆弱性が見つかりやすいので、ハッキングや乗っ取りの被害に遭うリスクがあります。

ブログやサイトの人気があろうが無かろうが、コンテンツが多かろうが少なかろうが関係なく、悪意的な攻撃を受ける可能性は常にどこにでも存在しています。

 

多くの人はこうしたセキュリティ面の対策は少し面倒に感じるかもしれません。

ですが、WordPressで運営を行っていくなら自分の資産となるブログやサイトを守るためにも、セキュリティ対策は必ずやっておくようにしましょう。

こちらも読まれています

ABOUT ME
フリ
ブログで気になることをただひたすらに書き続けて、10ヶ月目で月間10万PV超えを達成。2018年5月から個人事業主として活動開始。今は資産運用に注力し、投資歴は5年になる。仮想通貨⇒DeFi・BCG・エアドロ案件など。BTC・ETHとNISAで積立中。自由であるために。to be free>>詳細プロフィール