知人から「WordPressにログインできなくなった!」と相談をいただきました。WordPressでよくある「サイト乗っ取り」状態になってしまったのです。
そう、「403 Error」が表示される、アレです。
この記事はは次のような方に読んでいただけると嬉しいです。
-
HTMLやCSSなどの知識はほとんどないが、頑張ってWordPressで自分のサイトを立ち上げた/立ち上げようとしている
-
サイトやサーバーのこと、「ちょっと調べても」難しい事はわかりそうにない文系さんだが、WordPressのセキュリティは気になっている
-
WordPressが簡単インストールされたサーバーを使っているので、立ち上げはできたけれどセキュリティについては「パスワードを複雑にする」ぐらいしかやっていない
Contents
WordPressが乗っ取られた?!… とはどういう状態か
まだ一度も乗っ取られた事が無い方には、どういう状態が「乗っ取られた」かは想像しがたいと思います。
いくつかパターンがありますが・・・-
サイトにアクセスしたら、自分がアップしていない外国語の記事など、コンテンツが増えている
-
サイトにアクセスしたら、まったく別のサイトになっていた(※これはレア)
-
WordPress 管理画面のログインページのURLを叩いたら「403Error」が表示されログインできない
-
WordPress 管理画面にログインはできたが、レイアウトが崩れていたり、メニューをクリックすると「403Error」が表示される(管理画面の機能が一切使えない)
-
コンテンツが増えたりはしていないが、異様に重くなっている
圧倒的に多いのが「1」と「4」の組み合わせのようです。「5」はレアですが、前々職のコーポレートサイトで経験しました。
この画面は「4」の例になりますが、「CSSが読み込まれていない」ように見えるのですが、調べてみると、きちんとCSSはあったり、中身もあったり・・・原因はいくつか考えられるのですが、特定するのは難しいようです。
WordPressが乗っ取られた事にどうやって気づくのか?
では、どうやって乗っ取りに気づくのでしょうか。
-
偶然サイトにアクセスしたときに気づいた
-
サイトにアクセスしたユーザーや知人から連絡をもらった
-
レンタルサーバーから、極端にサーバー負荷が増えたなど異常を知らせる連絡があった
-
Google Analytics を見て違和感を覚えた
発見経緯は「1」がダントツで多いのですが、仕事で複数のサイトを管理しているときは「4」で発見した事もありました。自分はSEO担当者だったのですが、1週間で異様にアクセス解析ツールの数値変化があったのでおかしいなと。
このようにマメにサイトの更新をしていれば、気づく事自体は『どういう状態か』の「5. コンテンツが増えたりはしていないが、異様に重くなっている」以外は難しい事ではありません。
WordPressのセキュリティを少しでも高めるためにすべきこと
初心者向けのWordPressの乗っ取り体験・防止関連記事を読んでいると、「とにかくパスワードを複雑にしましょう」というものがあります。
もちろん大事な事ですが・・・それでは不十分です。最近ではプラグインを入れることで、簡単にできる対策が増えていますので、ブログの作り込みに入る前に設定をしておきましょう。
1.複雑なパスワードとユーザー名を設定する
基本中の基本ですね。おそらく問題ない方が多いでしょう。
WordPressのパスワードは記号も使えますので、英字(大文字・小文字)、数字、記号が含まれた長いパスワードにしましょう。
ユーザー名も「admin」やサイトに掲載しているユーザー名やメールアドレスにはしない方がいいですね。
いずれもWordPressの簡単インストールの画面で最初から設定してもいいですし、インストール完了後にプロフィール変更画面でも簡単に変えられますので、忘れずにやっておきましょう。
・・・わかります。複雑なパスワードは「覚えていられない」「手軽ではない」と避けてしまいがちなんですよね・・・。
でも、是非。
2.WordPressの管理画面のURLを変えておく
WordPressの管理画面のURLは /wp-admin/ 、ログイン画面のURLは /wp-login.php と世界共通です。
特に設定をしていないとなぜか、/login、/admin、/dashboard でもアクセスできてしまいます。URLを変更するというのは、この /wp-login.php を例えば「/login-surunoda 」といった任意の文字列に変更するという事です。
ログイン画面のURLを変更すると、デフォルトのURLでアクセスしようとすると「404 Error」に飛びます。URLをヒットさせないとエラー画面しか出ないので・・・ログインしにくくなります。
この設定は、SiteGuard WP Plugin (WordPress プラグイン)を使うと簡単にできます(プラグイン新規登録ページで検索してみてください)。
3.ログイン画面で入力情報(認証のための質問)を増やす
「入力情報を増やす」とはどういうことか・・・
WordPressのログイン画面では「ユーザー名またはメールアドレス」と「パスワード」を尋ねられます。これにURLを合わせた3つを間違わずに組み合わせる事でログインできるのですが、この質問を一つ増やします。
よく見かけるのは、画像化されたアルファベットを正しく入力したり、Google サービスでは「信号を選べ」「船を選べ」と画像を選択しますね。
正直自分は、このどちらも見づらくて嫌いです・・・ということで、日本語環境でブログを書いているなら「ひらがな」をおすすめします。
この設定も、SiteGuard WP Plugin を使うと簡単にできます。4.ログイン画面に簡易認証を設定する
簡易認証(Basic認証)を管理画面ログイン前に設置するものです。「簡易認証は無意味」という意見もありますが、手間が一つ増えるのでやっておくと良いかと思います。
こちらは、HTTPS Auth(WordPress プラグイン)を使うと簡単にできます。
Username(ユーザー名)とPassword(パスワード)を設定するだけ! 因みに、レンタルサーバーによっては、海外からWordPressの管理画面へのログインを制限してくれる機能があります。こういったレンタルサーバーの機能も最大限に活かしたいですね。
5.バックアップを小まめにとる
バックアップは何かないとその存在価値を忘れそうなものですが、これほど重要な事はありません。
バックアップを取っておけば、その段階まで戻したり、サイトの再構築をしなければならないとしても、さほど難しい事にはなりません。
バックアップは以前はとても手間がかかったのですが、今は安定したプラグインで一括して取得することができます。
特に手間をかけたくない方は以下の記事をご覧ください。
インポートも簡単ですので、特にノンウェブ制作者の方にはおススメです。
ここからは蛇足ですが、上記でエクスポートされたファイルはあくまでも「WordPressのためにエクスポートされたバックアップ」になります。
バックアップしたファイルをWordPress以外のエクスポートファイル(.phpや画像ファイルなどの単体毎)で取っておきたい場合は、まずどんなデータがあるのかを理解する必要があります。
-
WordPressの記事(ツール > エクスポート で生成されるファイル)
-
画像やファイルなどアップしたメディアファイル
-
DB(データベース)※1も含む
- WordPressそのもののファイル(WordPressサイトや管理画面を形作る .php、.css、.png、.js など)
「1. WordPressの記事」はWordPressの管理画面でWordPressのデフォルト機能でダウンロードできます。
「2. 画像やファイルなどアップしたメディアファイル」はFTPでサーバーにアクセスして保存するのが簡単です。
特に設定を触っていなければ、 /wp-contents/uploads/ に入っているファイルがそれです。
「3. DB」はサーバーの管理画面に「phpMyAdmin」といったような、DBにアクセスするためのツールが設置してあると思います。レンタルサーバーの管理画面にアクセスして、「ファイルマネージャー」(サーバーの中を覗けるツール)、「FTP設定」(ファイルマネージャーを自分のパソコンで覗くためのツールの設定項目が記載されている)などの項目に、その名前がないか確認してください。
どれも面倒そうですね。場合によってはレンタルサーバーの機能でバックアップが取れるかもしれません。レンタルサーバーの管理画面にアクセスして、「バックアップ」などの項目に、その名前がないか確認してください。
DBのバクアップしかないレンタルサーバーもありますが、初心者用やWordPressが簡単に!・・・を謳うのであれば、全ファイルのバックアップもあるのではないかと推察します。
「バックアップを小まめにやるって言っても~」なかなか面倒だったり、忘れてしまうという場合は、スケジュール化すると良いと思います。
例えば-
【おすすめ】WordPressの更新通知が届いたら、更新する前にバックアップする
-
毎月n日にバックアップ
-
10本記事を更新したらバックアップ
などです。
自分は(可能な限り)「WordPressの更新通知が届いたら、更新する前に」バックアップしています。なぜなら、WordPress更新時にプラグイン更新もまとめてするように決めているのですが、そういったファイルの更新で「まれに」プラグイン同士のバッティングやその他の不具合でサイトが壊れる事があるからです(最近は本当に少なくなりましたが・・・)。
WordPressの更新は度々ありますし、重要です。バックアップをとっておけば、すぐに更新の前の状態に戻せますので、一石二鳥です。
WordPressはやっておくべきことが沢山ある
いかがでしたか?いずれもプラグインを使えば難しくないので、「まだ」という方は是非対応してみてください。
万が一乗っ取られ、管理画面に入れなくなるとWordPressの再インストールとサイトの再構築をすることになり、大変面倒です(今回の記事を読んでセキュリティ設定するのがやっと…の方には大変難しいと思います)。
・・・と多少脅してしまいましたが、HTML技術者だった自分が仕事で覚えてWordPressを使っているのと違い、HTMLやCSSを知らないのにWordPressを使って自分のオリジナルサイトを作ろうとする皆さんは素晴らしい!!
正直、既存のブログやSNS、note と違って大変面倒な事だと思います・・・が、自分専用のサイトを持つということは、ブランディングでもマーケティングの面からでも大きな武器になるでしょう!
がんばって!!
もし、すべての対応をプラグインで済ませ、もうちょっと勉強してみたいと思ったら、以下の二つはプラグインを使わずに設定できるので、トライしてみてください。
-
WordPressの管理画面のURLを変えておく
-
ログイン画面に簡易認証を設定する
個人的には、プラグインを使いすぎるとサイトが重くなったり、プラグイン同士のバッティングも気になるので、省けるところは省いた方が良いと思っています。
下記のリンクは4年前に執筆したもので、プラグインを使わない方法を記載しています。
逆に・・・初心者用を謳ってWordPressを提供するレンタルサーバーなら、この程度の設定はしておいてくれればいいのに・・・って思ってしまいますね。
もしくは、WordPressにデフォルトで付けて欲しいぐらいの機能であると思います・・・よろしく、WordPress!
-