WordPressのサイトアクセス時にFTP認証情報を要求された際の対策

当サイトの記事には広告が含まれます

 2024年7月10日の朝起きて、こちらのブログにアクセスしたところ、突然、FTPの認証情報を求める画面が出てきました。ホスト名、FTPユーザー名、FTPパスワードを求めてきます。こんな突然の出来事で、FTPの認証情報などを入力すると、そのままハッカーなどに情報を盗まれるリスクもあったので、認証情報は入力せずに、ネットで情報を探してみました。

 すると、WordPress がアップデートを行う際に必要な書き込み権限が足りない場合は、代替手段として FTP 認証情報を求めるという仕組みになっているということです。しかし、各ディレクトリの書き込み権限など、WordPressをインストールしてから1回も変更していません。WordPress自体に備わっている「サイトヘルス」機能でも、各ディレクトリのパーミションに問題は出ていません。

スポンサーリンク

FTP認証情報の入力を回避する方法

 その際に参考になったのがこちらの記事です。

 対策として挙げられていたのは、次の3種類です。

  1. chownでWordPressファイルのオーナーを変更する
  2. wp-config.phpに1行加える
  3. フィルターフック『filesystem_method』を使う

 サイトにアクセスできないと原因を究明することも難しいので、2番のwp-config.phpに1行加える方法を選択しました。具体的には下記のコードを「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」の前の行に追加しました。

define('FS_METHOD','direct');

 これで、ブログにアクセスすることができるようにはなりました。(セキュリティ的に脆弱になるので、原因究明のための一時的な対策で、暫定対処が終わったところですぐに削除します)

ファイルをコピーできませんでした

 次に見つけた不具合がテーマ(cocoon)のアップデートを更新する際に、「Cocoon の更新中にエラーが発生しました: ファイルをコピーできませんでした。 cocoon-master/plugins/clingify/README.md」というエラーが発生しました。

追記

問題が解決しないまま古いテーマを使い続けるのも良くないので、FTPを使って最新版にアップデートしておきました。

 さくらインターネットのホームページ公開スペースの容量は十分に残っています。次に疑ったのは、cacheやテンポラリファイルを格納するディレクトリにゴミがたくさん溜まっていないかを確認しました。ごみはコントロールパネルのファイルマネージャーを通して削除しました。それでも残念ながら改善しません。

 現時点、このエラーについては原因を究明できていません。このトラブルを対応している時点では、前項のFTP認証情報を求められるトラブルは解消したので、wp-config.phpに入れていた「define(‘FS_METHOD’,’direct’);」は削除しました。

追記

テーマの更新は「ファイルをコピーできませんでした」でエラーが発生しましたが、プラグインの更新は問題なく実施することが出来ました。

ダッシュボード(管理画面)の表示崩れ

 次にぶち当たったのが、WordPressのダッシュボード(管理画面)の表示が崩れてしまうトラブルです。何かがタイムアウトするのを待つような時間が経過後にcssを適用できていないような画面表示になります。Edgeの開発者ツールで確認すると、「wp-admin/load-styles.php」が504エラーとなっています。

 特に「WAF」を設定しているわけでもなく、PHPのバージョンを変更しても解決不能でした。何が邪魔をしているのか究明することができていないので、これも対処療法なのですが、wp-config.phpに下記のコードを入れました。

/* ダッシュボードのレイアウトが崩れるのを回避する */
define('CONCATENATE_SCRIPTS', false);

 このコードを入れることで、管理画面の表示は正常になりました。標準では、管理画面のスピードアップのために、JavaScript ファイルはすべてひとつの URL に連結されるのですが、これを無効にしてくれます。

問題の本質

 最初に出てきたFTP認証情報を求められるトラブル、そしてファイルをコピーできないトラブルを通して、各ディレクトリのパーミションまたはオーナーに問題があるような気がしてなりません。

 しかし、7月9日から10日にかけて、いっさい、この辺の設定はいじっていませんし、プラグインやWordPress本体、テーマなどの自動更新も行われていないので、原因がまだ特定できていない状態です。

 マルウェアが仕込まれてオーナーを書き換えられた疑いも捨てられません。管理画面の表示が崩れた原因もマルウェアの可能性が残ります。

 もう少し、問題の本質を究明します。

原因判明

 レンタルサーバーで自らが管理している領域内にあるファイル数が上限に達したことにより、テーマなどの更新時にファイルを書き込むことができずにエラーが発生したことが原因でした。ディスク領域内にあるバックアップファイルなどを削除して、テーマなどの更新を終わらせたところ、問題が再発しなくなりました。さくらインターネットにおける制限でしょうか。

コメント