サイトのメンテナンスをおろそかにしたせいか、403Forbiddenとなりアクセスができなくなってました。いろんな原因がかんがえられますが、あまり経験がない方の場合どこから手をつけたらいいのかわかりませんよね。そんな方のかたに実際に修復した過程をおしえましょう。

いきなり403Forbidden
この記事のついこの前におきた当方のブログでの出来事。当方で書いているxserverとwordpressのブログでこの現象はおきました。xserverのセキュリティは、サーバーパネルを見るとwordpressセキュリティとWAFの2つがあり、一応必要なものはオンにしていたつもりですが、やられてしまい管理画面にアクセスしようとしたら”403Forbidden”と表示され、おまけにトップページをみるとこちらは真っ白な状態。さっそく修復しなくては…
403Forbiddenの意味
403Forbiddenはなにを示しているのでしょう? この手のステータスでもっとも有名なにが404Not Foundですね。これは、指定したURLが間違っているかほんとうにページがない場合に表示されるhttpステータス。
今回の403Forbiddenは、ページは見つかったがアクセスが禁止されている状態。一番の原因はアクセス権限がない場合に発生します。ちなみにxserverの場合は、サーバーパネルからdomainを登録した直後は403が表示されるので注意しましょう。
トラブル解決に考慮する点
まずは、原因を探って対処しなければなりませんが、再発防止も考えなければなりません。再発防止は原因によって異なりますので一概には説明できませんが、今回の件での再発防止策を後ほど説明しておきます。
考えられるトラブル要因
今回のトラブルで考えられる要因は次のとおりです
- サイト設定がまちがっている
- 適切なアクセス権限がない
- htaccessが不正
最初の1と2項ですが、これはつい先日まで稼働していたサイトですので余り原因としては考えにくいので、一応ファイルマネージャをつかって、ひととり確認しましたがまちがっていなかったようなのでそのままです。ただこれも万が一にサーバーを乗っ取れてファイルの削除や変更されている場合もありますので、確認は必要です。
次にhtaccessファイルですが、これはWEBサーバー設定ファイルで今回の事案の場合このhtaccessファイルが書き換えられていました。htaccessファイルを元に戻すと403Forbiddenは解決することができました。しかしまだサイトを表示するとまだ真っ白です。さらにチェックをすすめるとルートにあるindex.phpファイルも書き換えられているのが判明。こちらも元にファイルに戻してようやくトラブルは解決
原因をまとめると
ルートにあるhtaccessとindex.phpの両ファイルが不正にかきかえられ、元に戻すことで解決することができました。上記にはかきませんでしたが、ルート以下の各フォルダーにhtaccessが不正に挿入。フォルダーをアクセス禁止にされていることもわかりましたので、この不正htaccessファイルは削除しました。
今回の再発防止策
上記の修正をして無事復帰はしたのですが、1日たつとまたhtaccessとindex.phpファイルは書き換えれてしまいました。一応パスワード漏洩が考えられたので、このブログ関係のすべてのパスワードを変更(xserverアカウント,xserverサーバー,wordpress管理画面などです)。でもそれでもまた翌日に改竄。
どうしようもないので、xserverサポートに連絡し調査をしてもらったところ、不正アクセスがありいくつかの不審なファイルが設定されたいるとのこので、以下のファイルを削除しました。
3index.php
old-index.php
td.php
xmrlpc.php
※今回の参考例です。
これらの不審ファイルを削除後、現在1週間経過しましたがその後同様の現象をおさえることができました。よかったよかった。
以上