技術のタマゴ技術のタマゴカスタマイズとPC豆知識、ブログについて考えること。FORBIDDEN※指定されたページ(URL)へのアクセスは禁止されています。」というエラーで、突然見られなくなりました。友人が使っているのは、ロリポップ!レンタルサーバ。エラーが出て閲覧できなくなったのは、一般のブログ閲覧ページ、WordPressのログインページ、管理画面(ダッシュボード)のワードプレスに関するすべてのページ。備忘録もかねて、再発防止策を含め、記事にしておこうと思います。◆発生状況WordPressの管理画面、テーマの編集からCSSを編集し、更新ボタンを押すと更新エラーが起きて、403エラーの画面に跳ばされたということです。◆原因の推定・・・WAFの誤検知?ロリポップレンタルサーバにでは、現在、WAFという不正なアクセスによるサイトの改ざんなどをブロックする機能を標準装備しています。■WAF(ウェブアプリケーションファイアウォール)〜ロリポップ不正なアクセスをブロックし、正当なユーザーのアクセスのみ通過させるはずの機能なのですが、これが時々、誤検知を起こして管理ユーザーがアクセス出来なくなるという報告が見られます。してこんなことが起こってしまうのでしょうか?WordPressを簡単インストールで設置した方の中には、ワードプレスのフォルダの中を見たことが無い、という方もいらっしゃるのではないかと思いますが、一度FTPで、中身を見てみてください。たくさんのフォルダのなかに、たくさんのPHPファイルがあります。普段、管理画面から操作している時は意識していませんが、これらの多数のファイル(とデータベース)が組み合わせられ、呼び出され、WordPressサイトができあがり、表示されています。WordPressの管理画面から、設定の変更などの操作をすると、サーバにあるPHPファイルの書き換えが自動的に起こります。これが、WAFで、外部からPHPファイルに不正な書き換えがあったと見なされ、アクセス制限をかけてしまうことがあるようです。■PHPやCGIでプログラムの編集をすると403エラーが表示されます。〜よくある質問〜ロリポップ◆解決方法・・・パーミッションの変更WAFが不正アクセスを検知するとロリポップサーバでは、.htaccessファイルが自動生成されて、ログインページ(wp-login.php)へのアクセス制限がかかり、WordPressのログイン画面に403エラーが表示されるようになっています。■WordPressにログインしようとすると403エラーが表示されます。〜よくある質問〜ロリポップそこで、この自動生成された.htaccessのwp-login.phpのアクセス制限の記述の中に、自分のIPアドレスでのアクセスを許可するように書き加えてやれば、めでたしめでたし、となるはずでした。今回は、ログイン画面だけではなく、なぜかブログ部分もすべて見られなくなっている、と、いうことで、この.htaccessファイルだけではなく他の部分も修正してあげなくてはいけません。403エラーはファイルは存在しているけれど、外部からアクセスを禁じている状態。パーミッションがおかしいんじゃない?と、考えたタイミングで判明したのが、ワードプレスのフォルダのパーミッション(属性)が、驚くことに「770」になっている、ということでした(友人は属性変更した覚えが無い)。最後の0は、一般閲覧者が「読み書き実行」が何もできない、という状態です。これではサイトが見えないわけです。ディレクトリ(フォルダ)のパーミッションの推奨設定は「705」。FTPでパーミッションを変更して、無事にログイン可能になり、ブログの閲覧もできるようになりました。■パーミッションの設定を正しく行ってください〜ロリポップ◆対処法(結論)と再発防止策そもそも、サイトに403エラーが出た時には、まずファイルとフォルダのパーミッションを確認することをまず最初にやらなくてはいけなかったのだ、と振り返って気づきました。自分がパーミッションを変更していなくても、ファイルやフォルダの属性が変わってしまうことなんてあるの?と思いますよね。あるある、大アリなんです。サーバに大規模アタックを受けたときやサーバのセキュリティを見直そうとして、サービス(サーバ)管理側でファイルやディレクトリのパーミッションを書き換えてしまうことが少なからずあったりします。インデックスページ(index.php)のパーミッションを「000」に書き換えられて、アクセス不能になった方の例も見つけました。仕方ないにせよ、ちょっとひどい話ですよね。(リンクは貼りません)ということで、ワードプレスで403エラーが起こったら、まず、パーミッションが適切であるかどうか調べてみる。(自分に覚えが無くても)次に、ロリポップサーバであれば、新しくできた.htaccessファイルがないか調べ、自分のIPアドレスでアクセス出来るように書き換える。エラーを起こさないためには、PHPファイルの書き換えが起こるような操作をダッシュボードでするときは、あらかじめWAFを切っておく、ということが必要。っとのSSL化にあたり、各サイトの動作チェックをしていたら、だいえったんの部屋で30日間の体重グラフが表示されていないことに気づきました。私が自分でレンタルサーバ上で管理している主なWebサイトには、さくらのレンタルサーバ上のココロデザイン総合サイト、Xサーバー上のコトコトねっとの二つがあります。無料テーマをご紹介します。Xサーバー上のサイトをSSL化したときの作業の覚え書きです。SSLを導入しようと決めたときに考えたことは前半で。復帰するまでに結構時間がかかってしまいました。かこさんの助力がなかったら、挫折していたかもしれません。今思うと無駄な努力ばかりしていました。考えが及びませんでした。かこさんのパーミッションの属性の説明、とても分かり易いです。私にも理解出来ました。ありがとうございます。自分で変更していないのに設定が勝手に変わってしまったり、サーバー側が変更したりする事を、私は『ナウでヤングなオヤジの仕業』と呼んでいます。私は変えてないですもん。オヤジの仕業っぽい気がしてなりません。PM最終的にはサポートに連絡ついたら速攻解決でしたもんね。下手にあれこれするより、サポートに相談するのが一番かもしれないと思ったりしました。AMこんばんは[Em98]サポートからの回答をただ待っているのも辛いと思います。調べて勉強にもなりました。テーマを削除して、思わぬ発見もありました。私のブログはマルチサイト化で変な構造になっているみたいで幾つか作ったブログの中で、blog1だけが仲間外れなんです。他はブログはテーマをインストールし直したらすぐ反映されたのに、blog1だけは違いました。一緒にエラーになったのに、やぱり仲間外れです。構造を見直してみようと思っています。一度、じっくりディレクトリの中身を眺めてみるといいと思いますよ。気づくことがあるかもです。中をのぞいた頃は、うげげ、わけ分からん、と思ったものですが、今は私もそんなに恐れずに見られるようになりました。分からないまま適当にいじっちゃったら、それこそ大変なことになりますけどねwマルチサイトは、単独サイトより、やっぱり難しいと思いますよ。ダッシュボードも何かと違うので、Google先生に聞いても同じように対処出来なかったりしますしね。.htaccessの設置場所にもちゃんと意味があるんですよ。ファイルのあるディレクトリ内のファイル、その下層のディレクトリとその中のファイルのアクセス権などに関わってきますけれど、上のディレクトリには影響しません。変えないと動かないプラグインもあったりしますしね。プラグイン同士も相性の悪いものもあるから、闇雲に追加していくと動かなくなったりしますし。偉そうに言っていますけれど、私も絶賛勉強中。分からないコトだらけです。トラブルに対応する時は、何のために、どこに対して何をやっているのか、それは意図した効果が出ているのか、一つ一つ確かめながら落ち着いてやっていかないと、それこそわけ分かんないことになっちゃいますよね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。(1)管理人:かこネットショップで働いています。