ブログで、403エラーが発生して表示出来ない|1日で解決するので安心して

レビュー

こんにちは。とみなすです。

先日、ブログを更新して30分後に突然「403エラー」が発生しました。。
ログインは出来るけど、メニュー(投稿編集画面など)を押すと、エラー画面が表示され、何も出来ない状態に陥ってしまったのです。

「作り直さないといけないのかな。。」と、不安でしたが、、無事1日で解決し、作り直すことなく、ブログを再開することが出来ました!

解決するまでの流れを細かく紹介しますので、「まさしく絶賛403エラー中!」と言う方の参考になると嬉しいです(TT)

■使用サーバー
エックスサーバー

403エラーとは

Image

403エラーとは、ページを見る権限が無い時に発生します。

私の場合、wordpressのダッシュボードまではログインでき、それ以外のメニューを押すと全て403エラーが表示されていました。。

サーバー会社へ問い合わせをする前に、自分で確認したこと

サーバー会社とのやりとりを少なくするためにも、問い合わせをする前にまずは自分で確認出来ることを行いました。
エックスサーバーのサイトにも、【考えられる要因】としてFAQのページがありますので、サクッと見たい方はこちらからどうぞ〜

下記に、確認の仕方を詳しく書きます。

サーバーの契約状態の確認

うっかりサーバーの契約更新できていなかった!なんてこともあり得るようです(><)

確認方法は簡単。
サーバーにログインするだけです。

エックスサーバーの場合、ログインするとサーバーの利用期限を確認出来ます。

もちろん登録しているメールアドレス宛に、期限切れのメールも送られてきますが、たまに「迷惑フォルダに入っていて気づかなかった」なんてこともあります。
メール探すのも面倒なので、サーバーの画面から確認しましょう。

[public_html]が削除されていないか確認

サーバーの契約状態に問題無ければ、中身を見ていきます。

public_htmlというのは、Webサイトのデータを置いておくための場所です。

エックスサーバーの場合、「ファイル管理」というメニューがありますが、そこの中身をざっくり表現すると、こんな感じです↓

なので、Webサイトのデータを取りまとめるpublic_htmlがそもそも削除されていれば、表示するものが無いのでエラーとなります。

public_htmlが存在するか、確認してみましょう。

ドメインのフォルダ[public_html]内の確認

public_htmlは存在していた、となると、さらにその中身を見ていきます。

このフォルダ内に「index.html」「index.htm」が入っているかを確認してみてください。

indexファイルは、大抵の場合、トップページのファイル名として用いられます。

トップページがそもそも存在していなければ、エラーの原因となります(><)

パーミッション値は適切かを確認

ファイルはどれも問題無く存在していそう・・・という場合は、次に、ファイルに対するパーミッション値が適切かを確認していきます。

パーミッション(permission)とは、英語で許可という意味がありますが、コンピューター用語でも、アクセスの許可があるか、書き込み許可があるか、などの意味で使われます。

パーミッション値は、「オーナーには読み取り権限をつける」といった形で、文字ベースで設定することも出来ますが、一般的には、644などの数字で表現されます。

以下の表は、エックスサーバーが公開している、適切なパーミッション値です。
>>エックスサーバーのサイトで確認したい方はこちら

エックスサーバーで、ファイル管理を開くと、ファイル名の横に「権限」と言う列があります。
ここに書かれた数字が、パーミッション値です。

変更の仕方は、該当ファイルを選択し、「パーミッション変更」というメニューをタップすると、数字の変更が出来ます◎

ただし、値を誤ってしまい、誰でも読み書き出来ますよ〜という状態になってしまうと、不正アクセスされる要因にもなりますので、闇雲に変更しないようお気をつけください。

ちなみに、各数字は権限のレベルを表現しており、数字の順番は権限を与えられる人を表現しています。

■権限のレベルはこんな感じ↓

数字権限読み取り書き込み 実行 
0×××
1–x××
2-w-××
3-wx×
4r–××
5r-x×
6rw-×
7rwx

■権限の順番はこんな感じ↓

所有者グループその他のユーザー

上記より分かるのは、777となっているファイルは危険ですよね。
誰でも何でもしてOKという・・・複数人で運営する場合には便利な設定ですが、セキュリティとしては危険ですね。。

特定のIPアドレスからアクセス拒否していないか確認

権限も問題無さそう、、なのに入れない、となると、もしかするとあなただけが入れない可能性もあります。

特定のIPアドレスからアクセス拒否していないかの確認方法は、エックスサーバーの場合、サーバー管理から行えます。

サーバー管理内に、「アクセス拒否設定」と言うメニューがありますので、そこから、拒否しているIPアドレスが無いかを確認してみてください。

>>詳しい手順を見る

.htaccessの記述に誤りが無いか確認

エックスサーバーのサイトにも書かれていた確認事項ですが、、正直これって、

いやそもそも正しい記述かどうかも分からないし、触ったことないよ

って感じしません?。。(笑)

私はそうでした。。
wordpressでブログ開設する時、運営している時、いかなる時も、このファイルを触ったことないので、記述が誤っている=インストール時点で失敗してるじゃん?💢と思ったりも。。

そのこともあり、結局ここまでで自分の調査は限界に達したので、サーバー会社へ問い合わせました。

サーバー会社での調査結果

メールでのやりとりでしたが、丁寧かつスピーディーに対応していただき、障害発生から24時間以内にはブログ復帰できました(TT)

.htaccessが荒らされていた

結局、自分で解決出来なかった、.htaccessに誤った記述が発見されました。

サーバー会社から、削除するよう案内を受けた記述をご紹介いたします。
wordpressをインストール後、一度も触ったことが無いのに記述があった場合は、下記いずれかの原因が考えられます。。

  • 自分で書いた
  • 何かの拍子に書かれた(不正アクセスの疑いあり)

■削除するよう言われた記述の一部

Order allow,deny
Deny from al

→意味「全てのアクセスが拒否」

Order allow,deny
Allow from all

→意味「全てのアクセスを許可」

.htaccessの一部を削除する案内を受けたけど、削除が効かない【重要】

案内を受けて、.htaccessの一部削除を試みましたが、何と、、削除が反映されません

再起動したり、キャッシュクリアもしましたが変更が反映されない・・・おかしい・・・

ということで、再び問い合わせたところ、

ファイルが意図せず編集前の状態に戻るということは、不正アクセスの可能性が高く、一度調査が必要

と言う結果になり、さらに詳しく調査してもらうことになりました(TT)

不正プロセスが多数稼働!緊急措置の実施及び、管理者自身で行う対策

不正アクセスによる被害だったというのが、結論です。。

サーバー会社の方で緊急措置をして頂き、私の方で行うべき内容の案内を受けて、無事ブログ再開までたどりつきました。

備忘録として、私の方で対応した内容を残しておきますが、実際は、各自、サーバー会社の指示に従ってくださいね。。

■対応内容

  1. PC端末内ののソフトウェアを最新にアップデート
  2. 不正プログラムと指摘されたファイルを、一式削除
  3. wordpressの最新データをダウンロードし、改ざんされていないクリーンなデータをゲット
  4. 2で削除したファイルに該当するパスに、3のデータをアップロード
  5. wordpressの更新実施(プラグイン1つと、外観テーマのアップデート)
  6. ログインパスワードを変更
  7. php.ini設定の変更

対応内容の補足|クリーンなデータをセットするとは?

「WorePressの最新データをダウンロード?それをアップロード?」

この方法を、もう少し詳しく書いてみます↓

■詳細手順

①wordpressの公式サイトから最新データをダウンロードする

URL:https://ja.wordpress.org
クリックすると、「WordPressを入手」というボタンがありますので、それをクリックします。

次に、「WordPress 5.8.1をダウンロード」というボタンがありますので、それをクリックします。
※このボタンでダウンロードされるファイルは、「zipファイル」と呼ばれる圧縮ファイルです。
もし、お使いのパソコンで、zipファイルの解凍に対応していなければ、その下「.tar.gz」をクリックしてください。

macをお使いの方は、ダブルクリックでどちらの圧縮ファイルも解凍出来ますので、どちらでもOKです。

②ダウンロードしたファイルを解凍する

解凍すると、「wordpress」というフォルダが展開されます。

③②のデータを、サーバー上にアップロードする

使っているサーバーの管理画面にログインし、ファイルの管理が出来るページを表示してください。

エックスサーバーの場合は、「ファイル管理」というページです。

その中の下記パス内が、Wordpressのデータを保管している部分です。
パス:ドメイン/public_html/

あとは、削除したファイルと一致するものを、アップロードしてください♪

「削除したファイル単位」でアップロードする方が、確実かと思われます。

削除したファイルに一致するものが、wordpressダウンロードデータに無い可能性もあります。
その場合は、とりあえずスキップしましょう。
一通りアップロードが終わった後に、サイトが表示されるかを確認し、問題無ければそのままでもOKです。

バックアップデータから探すという方法もありますが、あまりお勧め出来ません(><)
もし既に不正データが入った後のバックアップデータであれば、意味が無いので。。

スキップしたままで良いの?と不安な方は、サーバー会社に、該当ファイルのことを尋ねてみてくださいね。
(ちなみに私は、スキップしました。笑)

以上で、サーバーへのアップロード手順は終わりです。

m

おしまい

今回、不幸中の幸いだったのは、記事が全部残っていたことでした。

サーバー会社の迅速な対応のおかげですね、、(TT)

ちなみにエックスサーバーでは、自動バックアップ機能がついているので、過去7日分までのデータはバックアップされています◎

めちゃくちゃ不安ー!と言う方は、毎週、このバックアップデータをダウンロードし、ローカルで保持しておくと良いかもしれません。。

今日はゆっくり眠れそうです。。
それでは!おしまい〜

コメント

タイトルとURLをコピーしました