こんにちは。とみなすです。
先日、ブログを更新して30分後に突然「403エラー」が発生しました。。
ログインは出来るけど、メニュー(投稿編集画面など)を押すと、エラー画面が表示され、何も出来ない状態に陥ってしまったのです。
「作り直さないといけないのかな。。」と、不安でしたが、、無事1日で解決し、作り直すことなく、ブログを再開することが出来ました!
解決するまでの流れを細かく紹介しますので、「まさしく絶賛403エラー中!」と言う方の参考になると嬉しいです(TT)
■使用サーバーエックスサーバー
403エラーとは
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 | × | ○ | ○ |
4 | r– | ○ | × | × |
5 | r-x | ○ | × | ○ |
6 | rw- | ○ | ○ | × |
7 | rwx | ○ | ○ | ○ |
■権限の順番はこんな感じ↓
所有者|グループ|その他のユーザー
上記より分かるのは、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)
不正プロセスが多数稼働!緊急措置の実施及び、管理者自身で行う対策
不正アクセスによる被害だったというのが、結論です。。
サーバー会社の方で緊急措置をして頂き、私の方で行うべき内容の案内を受けて、無事ブログ再開までたどりつきました。
備忘録として、私の方で対応した内容を残しておきますが、実際は、各自、サーバー会社の指示に従ってくださいね。。
■対応内容
- PC端末内ののソフトウェアを最新にアップデート
- 不正プログラムと指摘されたファイルを、一式削除
- wordpressの最新データをダウンロードし、改ざんされていないクリーンなデータをゲット
- 2で削除したファイルに該当するパスに、3のデータをアップロード
- wordpressの更新実施(プラグイン1つと、外観テーマのアップデート)
- ログインパスワードを変更
- 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日分までのデータはバックアップされています◎
めちゃくちゃ不安ー!と言う方は、毎週、このバックアップデータをダウンロードし、ローカルで保持しておくと良いかもしれません。。
今日はゆっくり眠れそうです。。
それでは!おしまい〜
コメント