技術のタマゴTOPWordPress
2014年07月22日

WordPressブログで403エラーが出たときの対処法と予防法(ロリポップサーバ)

先日、友人のWordPressサイトが「403 ERROR 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」になっている、
ということでした(友人は属性変更した覚えが無い)。

最初の7は、自分が「読み書き実行」可能、次の7は、
同じ共用サーバを使っているグループの人が「読み書き実行」可能、
最後の0は、一般閲覧者が「読み書き実行」が何もできない、という
状態です。これではサイトが見えないわけです。

ディレクトリ(フォルダ)のパーミッションの推奨設定は「705」。
FTPでパーミッションを変更して、無事にログイン可能になり、
ブログの閲覧もできるようになりました。

パーミッションの設定を正しく行ってください〜ロリポップ


◆対処法(結論)と再発防止策

そもそも、サイトに403エラーが出た時には、まずファイルとフォルダの
パーミッションを確認することをまず最初にやらなくてはいけなかった
のだ、と振り返って気づきました。

自分がパーミッションを変更していなくても、ファイルやフォルダの
属性が変わってしまうことなんてあるの?と思いますよね。

あるある、大アリなんです。サーバに大規模アタックを受けたときや
サーバのセキュリティを見直そうとして、サービス(サーバ)管理側で
ファイルやディレクトリのパーミッションを書き換えてしまうことが
少なからずあったりします。

短時間に大量アクセスが発生し、サーバに著しく負荷がかかった時に、
突然、インデックスページ(index.php)のパーミッションを「000」に
書き換えられて、アクセス不能になった方の例も見つけました。
事後にロリポップからご了承くださいとのメールが来たとのことですが、
仕方ないにせよ、ちょっとひどい話ですよね。(リンクは貼りません)

ということで、ワードプレスで403エラーが起こったら、まず、
パーミッションが適切であるかどうか調べてみる。(自分に覚えが無くても)

次に、ロリポップサーバであれば、新しくできた.htaccessファイルが
ないか調べ、自分のIPアドレスでアクセス出来るように書き換える。

エラーを起こさないためには、PHPファイルの書き換えが起こるような
操作をダッシュボードでするときは、あらかじめWAFを切っておく、
ということが必要。

このあたりに気をつけていれば、今後は403エラーも起こしにくく、
起こっても解決までの時間を少なくできるかな、と思ったしだいです。


【関連記事】

WordPressの管理画面が403エラーになった時の対処・解決方法
  〜 Area5.net

.htaccess の Allow と Deny 〜アクセスの許可と制限〜
  〜 Big Bang

posted by かこ at 18:12 | Comment(6) | TrackBack(0) | WordPress
2013年09月07日

Life Collage というとても素敵でちょっと淋しいWordPressテーマ

私のお気に入り、Life Collage という WordPress の静かで美しい
無料テーマをご紹介します。

◇目次◇

◆ Life Collage のデザインの特徴
◆ Life Collage のインストール方法(Hybridも一緒に)
◆ 注意!親テーマ Hybrid がないとテーマ表示されません


◆ Life Collage のデザインの特徴

ワードプレスのテーマにしては、横幅が狭く、フォントサイズも
こじんまりとしていて、日本語で使った場合でも、カスタマイズ
しなくても、そのまま違和感なく使えるデザインだと思います。

lifecollage2.jpg

ひとりごと、日記や、詩集などに向くのかな、と思います。
1カラムでも、管理画面のウィジェットから変更して、2カラムでも使えます。

とても静かな印象のテーマで、私の中では、気温の低い砂漠で、
一人きりでぽつんと咲いている花、というイメージです。
アントワーヌ・ド・サン=テグジュペリの『星の王子さま』を
思い出したりします。

私は井戸端ランキング(現在、新規受付停止中)という、
投稿参加型のブログで、このテーマ(テンプレート)を
共同運営者の Tom(たぶん千葉在住の日本人)に調整してもらって
使っているのですが、大勢の人たちと、わいわいガヤガヤ作るサイトとしては
テーマの選択を誤ったな、と今になって思います。

自分が好き!って言うデザインと、自分が実現したいことにふさわしい
デザインは、また別だった、ってことですね。

井戸端ランキングを開催していた当時、皆とおしゃべりを楽しむ場所のはずなのに、
なんだか、とてもしーんとしていて、静かすぎて、一人ぼっちで寂しいよ〜、
っていう気持ちにとらわれたのを覚えています。

しかも、WordPressの管理画面がまた、静かじゃないですか。
色がないというか、無彩色っぽいというか、白と黒と紺色だし。
あの頃、かわいいアドミン(Cawaii Admin)を知って、使っていれば、
もっと楽しい気分でサイト運営ができたのになって思います。

Cawaii Admin【WordPress管理画面をかわいくカスタマイズするプラグイン】

WordPressの管理画面が冷たくてとっつきにくくて悲しくて泣きたくなる、
って方には、本当におすすめのプラグインです。導入もとっても簡単♪


◆ Life Collage のインストール方法(Hybridも一緒に)

で、本題に戻ります。この静かで素敵なテーマ、Life Collage は、
テーマ Hybird の子テーマです。
親テーマの Hybrid がないと動きません。

hybrid_lifecollage.jpg

親テーマ Hybrid は、WordPressの管理画面からインストールできます。

外観> テーマ> テーマのインストール の検索窓、キーワードに
「Hybrid」と入力すると表示されるので、インストールをポチっと押すと、
wordpress> wp-content >themes の下に、
hybrid というフォルダができ、インストールされます。

子テーマの Life Collage は、管理画面からはインストールできないので
下の本サイトからダウンロード(無料:Downloadをクリック)してきます。

Life Collage WordPress Theme

このダウンロードした life-collage.zip を解凍してできたフォルダ、
life-collage を親テーマと同じ、
wordpress> wp-content >themes の下に FTP 等でアップします。

管理画面で、外観> テーマ> テーマの管理 を見ると、
親テーマ、子テーマ両方が表示されますので、
子テーマの Life Collage の方を有効化すると、テーマが反映された
自分のサイトを見ることができます。


◆ 注意!親テーマ Hybrid がないとテーマ表示されません

このとき、注意しなければいけないのは、親テーマの Hybrid は、
有効化されていなくても、機能している、ということ。

先日、マルチサイトで有効化されていない余計なテーマを削除して、
管理しやすくしようと考えて、誤って親テーマの Hybrid を削除したころ、
サイト表示が真っ白になり、ほんとに頭が真っ白になって、
しばらく動けませんでした。

管理画面のテーマから、消していないはずの Life Collage の
表示まで消えてしまいました。

そこで親テーマの Hybrid を管理画面から再インストールしてみると、
Life Collage も再び表示されるようになり、子テーマを有効化すると、
再び、ほぼ同じ状態でサイトが表示されました。

ただし、元通りになったのは、子テーマの Life Collage で
カスタマイズしていた部分だけで、親テーマの Hybrid でカスタマイズ
していた部分は、当然消えてしまいました。

時間をかけてカスタマイズしてくれた共同運営者の Tom には
本当に申し訳なかったと思っています。

自分が作ったものはどうにでもできるけれど、人が作ってくれたものを
消してしまったら、取り返しがつかない。

テーマの説明にも書いてありますけれど、Life Collage の動作には、
Hybrid が必要なので、消さないように気を付けてくださいね!

そして、親テーマをカスタマイズしている場合は、
不用意に親テーマの更新をして、上書きしてしまわぬよう注意です。

だからと言って、アップデートの通知が来ているのに
放置するのもよくないんですけどね。

posted by かこ at 18:23 | Comment(0) | TrackBack(0) | WordPress