こんにちは! 健史です。
WordPressでブログなどを運用し、サイトのアクセス解析ツールのアナリティクスにて
・もしかして、不正ログイン?
・記事は書き換えられていない?
という方、そして今まさに不安に苛まされている方もおられることでしょう。
私はありました。
また、Wordpressへのセキュリティ対策をしていないと、ログインユーザしかみれないと思っていた画面を誰でも見られてしまうのです。
ログインした状態で「サイトを表示」をクリックした画面では、記事別のアクセス件数を確認できますよね、あの画面です。
「アクセス件数は見られても大して困るものではない」という方もおられるでしょうけれど、快いものではありません!
Wordpressへのセキュリティ対策の内容、対策の過程でミスしたことでブログへのアクセスが不能になったことなどを紹介します。
WordPress セキュリティ対策
実施した対策は、大きくは2つです。
2.Wordpressへログインできる端末を自宅PCのみに限定
プラグイン XO SECURITY の導入
プラグインは、あまり導入したくない考えですが、
・国産プラグインであること
・設定がわかりやすいこと
から追加導入しました。
参考にさせていただいたサイトです。

設定内容は、ほぼ同じにしてあります。
WordPressへログインできる端末を自宅PCのみに限定
WordPressのログインできる端末を自宅PCのみにしました。
正確には「WordPressのログイン画面を表示できる端末をIPアドレス指定により自宅PCのみに限定」です。
[.htaccess]というファイルに以下を追加することでログイン画面を表示する機器、パソコンなどを制限できます。
--------------------
<FilesMatch "wp-login.php|wp-admin">
Order deny,allow
Deny from all
Allow from IPアドレス(xx.xx.xx.xx)
</FilesMatch>
--------------------
追加した場所は、先頭にある<IfModule mod_rewrite.c>~</IfModule>の後ろです。
--------------------
# BEGIN WordPress
# ・・・コメントが数行続いている場合もあり
<IfModule mod_rewrite.c>
・・・省略1・・・
</IfModule>
# END WordPress
・・・省略2・・・
--------------------
↓
--------------------
# BEGIN WordPress
# ・・・コメントが数行続いている場合もあり
<IfModule mod_rewrite.c>
・・・省略1・・・
</IfModule>
<FilesMatch "wp-login.php|wp-admin">
Order deny,allow
Deny from all
Allow from xxx.xxx.xxx.xxx
</FilesMatch>
# END WordPress
・・・省略2・・・
--------------------
これまでスマホからもアクセスできていたのですが、上記対応後、スマホではログイン画面を表示できなくなりました。
スマホから記事を修正することはほとんどなかったので、これからも問題ないと判断しました。
セキュリティ設定ミスでサイトが非表示に
上記の設定中に障害が発生しました。
そんなことにならないために、失敗談を含め留意点などを紹介します。
プラグイン XO SECURITY の運用ミス
「404 NOT FOUND」のエラーで、Wordpressのログイン画面が表示されなくなってしまいました。
これでは、記事の修正はもちろん、プラグインの設定も確認・変更できません!
久々に緊張感、危機感に襲われました(汗ッ)。
設定した手順・内容など状況を思い出してみました。
ログイン画面ではユーザID/パスワードを入力しますが、「ログイン CAPTCHA」を追加し、画面上に表示される文字を入力しないとログインできないようにしたのです。
ですが、画面に表示されるキャプチャー文字を入力せずに、いつもの通りユーザIDとパスワードだけ入力し、ログインしていました、バカですね。
しかも「パスワード間違え3回で12時間ロックアアウトされてしまう設定も追加しため」にログイン画面が表示されなくなってしまったのです。
まさに「自分で掘った穴に落ちた」ってところです。
サーバ管理会社に問い合わせるも「プラグインについては対応し兼ねる」とのことでした。
とりあえず、記事はネットから閲覧できていたので、焦る気持ちを抑えつつ「12時間待ってみよう!」と作業を中断しました。
そして翌朝ログインを試みようとしたところ、ログイン画面が表示されました。(ホッ!)
私のようなミスをする人はなかなかいないと思いますが。初めて使うツールは慣れるまでに時間がかかります。
テスト環境をお持ちであればよいのですが、ない方もおられるでしょう。
「XO SECURITY」についてキャプチャ入力などのログイン設定を追加・変更する際には、
・ロックアウト時間は、1時間とか短時間を設定しておく
そして、慣れてきてスムーズに変更した内容に対応できるようになったら、上記2つのロックアウト設定について
・ロックアウト時間は、12時間など長時間にする
などに変更することをお勧めします。
WordPressへログイン可能端末制限の設定ミス
ログインできる端末を自宅PCに制限しようとしたときのミスです。
参考にしたサイトが良くなかったです。
正解を載せているサイトはたくさんあるのに。
そのサイトでは、以下の通りでした。
--------------------
<FilesMatch "wp-login.php|wp-admin">
Order deny allow
Deny from all
Allow from IPアドレス(xx.xx.xx.xx)
</FilesMatch>
--------------------
分かりますか。
〇: Order deny,allow
×: Order deny allow
この状態で、検索して表示された自身の記事をクリックすると「404 NOT FOUNDエラー」ですべての記事が表示されなくなります。
せっかく私のページにアクセスしようとクリックしてもエラーでは閲覧できない!、これには大変焦りました!
しかし、追加した部分を削除しても解消されません。
仕方なく、修正前にFTPでダウンロードしておいたバックアップをアップロードで戻したのですが、それでも解消されません。
もう頭の中は?だらけでした。
次に、「どのみち アクセス不能になっているのだからやってみよう!」と初めての操作でしたが2点実施しました。
1.サーバ管理会社のバックアップから1世代前の状態に戻す
ですが、解消されません。
2.ブラグイン:ツール[BackWPup]で取っているバックアップデータをパソコンにダウンロードして解凍し[.htaccess]をFTPでアップロード
解消しました。
この障害はファイル名を
〇: .htaccess
×: htaccess
にしてしまっていたのです。
修正前にFTPでダウンロードした時点か、アップロードする時点かは不明ですが、いつ、どこでどうなったのかはわかりません。
ファイル名を変更した記憶がありませんでしたが、自分で変更してしまったのでしょう。
障害を整理すると、
1.[.htaccess]の修正内容を間違えていた
しかし「どこを間違ているのかわからなかった」ため復旧しようとしたが、いつの間にか
2.ファイル名を[htaccess]にしてしまったものを修正していた
3.ツール[BackWPup]でバックアップしたものを解凍し、[htaccess]のミスに気づく
4.解凍した[.htaccess]に本来あるべき修正を加え、アップロードし解消
ひとりでやっていることもあり、ミスが重なるときは重なるものです。
最後に
ワードプレスのログインユーザIDに、サイトURL名や名前を使用していなかったことは幸いでした。
同じにしていた場合は、ブルートフォース攻撃などにより不正ログインされ、記事が改ざんされ不正URLが組み込まれていた可能性があります。
WordPressのセキュリティ対策、ネットを検索すると中にはあまりにも多くの対策を示しているところもあります。
今は自宅のPCが乗っ取りさえしなけば、大丈夫な状況です。
しかも
・ログインのURLは、「お気に入り」にさえ登録しておらず、毎回ハンドで手入力している
・閲覧データもブラウザを閉じるごとに削除している
・パスワードも頻繁に変更している
です。
ですがこれまでの対策では防ぐことができない新技術による不正アクセスのリスクはあり、最新動向には注意を払っていこうと思います。
参考にして頂ければと思います。
コメント