解決!さくらのwordpressで500エラー多発の原因
結論だけ知りたい人へ
wp-login.phpへの大量アクセスが原因だったから、.htaccessで自分のIP以外をアクセス制限したら解決したよ!
ぐだぐだっとした詳細は以下
ある日、WordPressを更新しようと思ったら、500 internal server errorが頻発…
管理画面で移動しようとする度に白い画面にinternal server errorってなる。
さくらインターネットのよくある質問によると、 「 CGIまたはPHPプログラムの設置方法 」 や「パーミッション設定項目等の動作条件に誤り 」 があると出る場合があるらしい。
でも、なんか違う。誤りがあるなら毎回エラーになるはずなのに、エラーが出るのは2回に1回くらい。
なんだか、負荷に耐えられずという感じ。
そこで調べてみたら、ちょっと前にメンテナンスで、新サーバへの移設を行ったみたい。
さくらレンタルサーバーのバージョンアップで500 Internal Server Errorが出た場合の対策 | PLUS
↑こちらを見て、PHPのバージョンをアップしてみたけど変化無し。
ついでにWordPressも最新にバージョンアップするも、これも変化無し。
さくらレンタルサーバーでWordPressで500エラー(503もね)になる話。(途中経過〜
↑こちらを見るに、メモリの使用量オーバーで500エラーになっちゃう人がけっこういるみたい。
確かにWordPressを15個も同じサーバーに突っ込んでるけど、それほどアクセス無いんだよね…
さくらのコンパネから、リソース情報を見てみる。CPU使用時間っていうのが6時間を超えているだと…
よくわからないけど、明らかにおかしい。
不要なプラグインを停止、削除。キャッシュ系のプラグインを入れてみたりもしたけど、変化無し。
というか、一番アクセスあるWPいじって対処しようとしてたけど、15個もWP入れてるんだから、どのWPが原因かわからなくね?
アクセスログの設定から、エラーログも見てみる。そこで見つけた「wp-login.php」の文字。
あ、こりゃアタックされてる!ブルートフォースアタックや!
WordPressがハッカーの標的にされ、ロリポップで8千件以上も改ざん被害が出たのは記憶に新しいです。
当サイトもその時に、セキュリティを強化していました。主要ファイルのパーミッションを変更したり、ログインを制限するプラグインを入れたり、ユーザー名をadmin以外にしたり。
そのおかげか、サイト改ざんはまぬがれていましたが、アタックされることによる負荷までは考えていませんでした。
まあ、ブルートフォースアタックだけでなく、スパム的なクローラーによるアクセスが多いのかもしれないと思い、とりあえずアクセスログを残す設定に変更。
そして0時まで待ちます。
アクセス解析を見てみると…
wp-login.phpへ、59,927アクセス!
多すぎる!怖すぎる!
アクセス解析の画面では、どのサイトのwp-login.phpか解りません。でも、ホスト名の情報を残す設定にしたから、どこかで見れるはず…
下にログファイルの位置が書いてあった。FTPでアクセスログをダウンロードして確認。
すると、アタックされてたドメインは複数。
Login LockDownすり抜けてるのかな…IPを変えてガンガンくるのもある模様。
ということで、wp-login.phpのセキュリティを強化することに。
「突破させない」じゃなくて、「アクセスさせない」に目的を変更。
IPによるアクセス制限が確実です。
このIPは来ちゃ駄目!っていうのがブラックリスト。
このIPだけは来てもいいよ!っていうのがホワイトリスト。
ホワイトリストで制限するのが、手間も無く確実。
.htaccessを使います。
FTPで見ると、wp-login.phpのあるディレクトリに、すでに.htaccessがあると思います。
それをダウンロードして、追記してアップロードしてください。
自分のIPやドメイン(ホスト名)は、ここでわかります。
アクセス情報【使用中のIPアドレス確認】
ノマドワーカーだから、IPいろいろ変わるんだよね。という方は、ログインURL(アドレス)を変更するという方法もあります。
「Stealth Login Page」というプラグインの過去バージョン(3.0)で可能みたい。
4.0以降のバージョンでは、パスワードをもう一個増やすという別物になった模様。
前のバージョンの Stealth Login Page をダウンロードする方法
wp-login.phpへのアクセスを制限した結果
めでたく管理画面もサクサクになりました。
めんどくさがらずに最初から.htaccessで守っておけばよかった…
なぜメモリを食っちゃうのかは、人それぞれだと思います。人気サイトの場合は、普通にアクセスが多いからでしょうし。
不人気サイトの人たちの参考になれば幸いです。(´・д・`)
とにかく、さくらのアクセスログ、残す設定にして一回見てみてもいいかも。
この記事に関連する投稿: