• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

株式会社ハイファイブクリエイト

東京都を拠点にWebサイト制作やシステム構築、WordPress保守管理やウェブコンサルティングを提供。

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / WordPress / WordPressにおける突然のデータベース接続エラーと自動復旧の原因と解消法

WordPressにおける突然のデータベース接続エラーと自動復旧の原因と解消法

池田祐太郎 | 2024年6月5日 公開 コメントを書く

通常の保守とは異なるのですが、事情があって簡易的に保守をしているWordPressにおいて、突然データベース接続エラーが発生しました。すぐに解消したものの、確認するなかで原因と解決方法がわかったため、記録として記しておきます。

目次

  • 1 突然のデータベース接続エラーの発生
  • 2 突如エラーが復活
  • 3 サーバーのアクセスログを確認
    • 3.1 原因はアクセス集中によるデータベースサーバーへの負荷増大
  • 4 行った再発防止策はすべて無料でできる
    • 4.1 WordPressのログインURLを変更
    • 4.2 ログインを繰り返したらIPアドレスをロック
    • 4.3 ログイン時のアラートを有効化
    • 4.4 XML-RPCを無効化
    • 4.5 ログイン時における画像認証の追加
  • 5 対策後、リクエスト数は大幅低下しエラーも発生せず
    • 5.1 リクエスト数は大幅低下
    • 5.2 リクエスト先URLにもログインURLやXML-RPCは無し
    • 5.3 ブルートフォース攻撃はなくなり、ログイン試行はほぼ解消
  • 6 まとめ: 不正ログインによるデータベース過負荷は無料で対策できる

突然のデータベース接続エラーの発生

ウェブサイトが正常ではない通知があり、確認しにいくと画面にはデータベース接続エラーとだけ表示されていました。

データベース接続エラーのためWordPressは全ページアクセス不可。結構焦る。

深夜未明に発生していたため、その時点で既に数時間程度経過。FTP経由でサーバーへアクセスし、WordPressのディレクトリにあるwp-config.phpやテーマ、プラグイン等の主要ファイルを調べますが、直近に日時の修正された形跡は無し。

また、当然画像ファイルやhtmlファイルへのアクセスは可能です。

突如エラーが復活

10分20分調査していたところ、突然エラーが解消。問題なくウェブサイトにアクセスできるようなりました。結果、自動的に復旧し解消しました。WordPressにも問題なくログイン可能です。

「解消した!あー良かった。」

で終わったら危険。原因がわからないと再発する可能性があるため、調査は続きます。

突如エラーが復活したことから、データベースに対して一時的な負荷がかかった可能性を考えました。

サーバーのアクセスログを確認

対象のWordPressはレンタルサーバーのロリポップ上で動いています。ロリポップではアクセスログを確認できます。

アクセスログ解析の利用方法 – ロリポップ!レンタルサーバー

アクセスログをそのまま見るのは専門的すぎてわかりづらいと思いますが、ロリポップではアクセスログを元に見やすいグラフ形式を生成してくれます。

参照元: アクセスログ解析の利用方法 – ロリポップ!レンタルサーバー

アクセスログを見たところ、すぐに原因がわかりました。

原因はアクセス集中によるデータベースサーバーへの負荷増大

日付を過去一週間に指定してアクセスログを確認したところ、9時や19時といった特定の時間に20倍程度のアクセスがあったことが確認できました。アクセス先はWordPressのログイン画面となり、1秒間に3-5回程度のログインを試行していました。(いずれも失敗)

このように、特定の時間帯に急激にアクセスが増加し、特にログイン画面へのアクセスが集中している場合、データベースサーバーの負荷が原因である可能性が高く、これによりデータベース接続エラーが発生したことが考えられます。

9時と19時に通常の20倍程度の大量リクエストが発生しているのがわかる
リクエスト先のURLはWordPressのログイン画面が6割り程度、XML-RPC経由でのログインが1割程度を占めている
1秒間に3-5回程度のログインがされている。結果は全て失敗で、ユーザー名も存在していない。画面はWordPressのSiteGuard WP Plugin。

WordPressへのログイン試行が多く、存在しないユーザー名を使ったブルートフォース攻撃ということがわかりました。特定の時間に集中的に実行しているため、データベースへのリクエスト数が急激に増大し、これによってデータベースへの負荷が高まり接続エラーが発生したとみて間違いありません。自動復旧したという理由にも繋がり納得できます。

行った再発防止策はすべて無料でできる

ブルートフォースアタックによるデータベースサーバーへの過負荷となることでデータベース接続エラーが発生しているとみて、以下の対応策を実施しました。すべてWordPressのセキュリティプラグインである「SiteGuard WP Plugin」を使用しています。プラグインのため無料でインストールすることが可能です。

SiteGuard WP Plugin – WordPress プラグイン | WordPress.org 日本語

WordPressのログインURLを変更

そもそもログイン画面に行くことができなければブルートフォースアタックは相当数減ることが考えられるため、「ログインページ変更」においてログインURLを変更しました。URLは想像しやすいURLではなく、ランダムな英数字や長い文字列等のURLが望ましいです。

「ブルートフォース攻撃、リスト攻撃等の、不正にログインを試みる攻撃を受けにくくするための機能です。ログインページ(wp-login.php)の名前を変更します。初期値は、「login_<5桁の乱数>」ですが、お好みの名前に変更することができます。」と書いてある。

ログインを繰り返したらIPアドレスをロック

「ログインロック」において、今回のような短い時間で何度もログインを繰り返す場合、接続元のIPアドレスを一定時間ブロックするように設定しました。期間は5秒、回数は3回、ロック時間は5分に設定。これにより「5秒間のうちに3回ログインを繰り返した場合、5分間ロックする」ようになります。

「ブルートフォース攻撃、リスト攻撃等の、不正にログインを試みる攻撃を受けにくくするための機能です。特に、機械的な攻撃から防御するための機能です。ログインの失敗が指定期間中に指定回数に達した接続元IPアドレスを指定時間ブロックします。ユーザーアカウント毎のロックは行いません。」と書いてある。

ログイン時のアラートを有効化

「ログインアラート」にて、ログインがあった場合に管理者に通知があるように変更しました。ログイン成功時に管理者へメールが届きます。もし不正ログインが成功した場合、いち早く気がつくことができる機能です。

「不正なログインに気づきやすくするための機能です。ログインすると、ログインユーザーにメールが送信されます。ログインした心当たりがないのにメールを受信した場合は、不正なログインを疑ってください。サブジェクトとメール本文には、次の変数が使用できます。(サイト名:%SITENAME%、ユーザ名:%USERNAME%、日付:%DATE%、時刻:%TIME%、IPアドレス:%IPADDRESS%、ユーザーエージェント:%USERAGENT%、リファラー:%REFERER%)XML-RPCによるアクセスは通知されません。」とある。

XML-RPCを無効化

ログを確認するとXML-RPCからのログイン失敗も数は多くないもののあったため、利用していないXML-RPCを無効化にするため「XMLRPC防御」より無効化の設定を行いました。有効化しただけではピンバックが無効化となるだけなので、「XMLRPC無効化」を選択して保存することを忘れずに。

「Pingback機能を無効化する、あるいは、XMLRPC全体( xmlrpc.php )を無効化し、悪用を防止します。XMLRPC全体を無効化すると、XMLRPCを使用したプラグインやアプリの使用ができなくなります。支障がある場合には、本機能を使わないでください。」とある。

ちなみにXML-RPCを有効化しないといけない条件として例えば以下が挙げられます。

  • WordPress公式のモバイルアプリ: XML-RPCを使用して、記事の作成や編集、統計の確認などを行います。
  • 外部サービスとの連携: 他のCMSやツールと連携してコンテンツを管理する場合に使用されます。

対象のWordPressはこういった機能やツールは利用していないため、XML-RPCを無効化しても問題無しです。

ログイン時における画像認証の追加

これは既に実施済みでしたが、WordPressログイン画面に文字入力による認証を追加できます。ブルートフォースアタックの多くは海外からのため、文字の種別を「ひらがな」に設定することでログインされる可能性は相当低くなることが考えられるため、とてもおすすめです。「画像認証」より設定。

「ブルートフォース攻撃、リスト攻撃等の、不正にログインを試みる攻撃や、コメントスパムを受けにくくするための機能です。画像認証の文字は、ひらがなと英数字が選択できます。」と書いてある。

対策後、リクエスト数は大幅低下しエラーも発生せず

対策後、1週間程度おいてからアクセスログを確認しました。結果、実施した施策が功を奏しブルートフォースアタックがほぼゼロとなり、リクエスト数大幅低減となりました。これによりエラーも当然発生していません。

リクエスト数は大幅低下

以前は9時と19時に大きなリクエストが発生していたが、完全に解消されているのがわかる。

リクエスト先URLにもログインURLやXML-RPCは無し

WordPressの管理画面やXML-RPCのファイルにリクエストが発生していたがなくなっているのがわかる。

ブルートフォース攻撃はなくなり、ログイン試行はほぼ解消

一部XML-RPCの対応だけ後日行ったため完全に解消しきれていないものの、不正ログイン試行回数は1日に2〜4件程度まで大幅減少となったことがわかりました。ブルートフォースアタックは0件!

1日に数件ログイン失敗が発生しているものの、すべてXML-RPC経由。

まとめ: 不正ログインによるデータベース過負荷は無料で対策できる

以上、ブルートフォースアタックによるデータベース負荷増大の結果発生したデータベース接続エラーの原因と対処方法のご紹介でした。

WordPressのエラーは何が原因で発生しているのか、一見わからないですが、紐解いていくとしっかり原因があることがほとんどです。

「WordPressのセキュリティ対策は難しい……。」

確かにどこから手を付けていいのかわからなかったり、専門的すぎて難しいというのもわかりますが、例えば今回のような件であれば対策も特別なことではなく、偉大な開発者が公開してくれているプラグインのお陰で手間なく対応できることも多いです。今回はそんな一例でした。

提供サービスであるWordPress保守管理サポートにおいては今回のようなことが発生しないようなセキュリティ対策を実施しているのですが、今回の対象となったWordPressは通常のWordPressとは異なる簡易的な保守を昔から実施していたという経緯もあって発生したエラーでした。

WordPressで同様のエラーが発生したらぜひご参考ください。

メールコンサルティング
WordPress保守管理サービス

カテゴリWordPress 関連タグ:保守管理

池田祐太郎

WordPress の構築・保守を10年以上にわたって手掛けており、主に小〜中規模のコーポレートサイト・ECサイト・ブランドサイト等の企画・開発・保守・コンサルティングなどを行ってきました。2012年にハイファイブクリエイトを創業し、現在は WordPress の保守やコンサルティング、ディレクションや開発業務などを担当しています。 プロフィール詳細

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

この記事と関連する記事

WordPressのプラグイン自動更新のロールバック機能が正しく動くのか確認してみた
2024年8月7日
タグ: 保守管理
カテゴリー: WordPress
あなたのサイトは大丈夫?ファイル一覧公開の危険性
2024年5月11日
タグ: SEO, セキュリティ, 保守管理
カテゴリー: 仕事のこと
外部委託用のFTPアカウントは新規作成するのが望ましい。アカウントの名前例も
2024年4月25日
タグ: 保守管理
カテゴリー: 仕事のこと

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • 2024-2025年末年始の営業のご案内
  • WordPressのプラグイン自動更新のロールバック機能が正しく動くのか確認してみた
  • 遅延読み込み開始させる画像を変更させるWordPressカスタマイズ
  • WordPressで特定の画像やアイキャッチ画像をlink rel=”preload”に設定する
  • WordPressのプラグインがどのくらい表示速度を重くさせるのか22個のプラグインで検証

カテゴリー

  • CSS初心者
  • HTML初心者
  • TIPS
  • WooCommerce
  • WordPress
  • エステサロン
  • お知らせ
  • キュレーション
  • サイトマップ
  • システム会社
  • デベロッパーツール入門
  • ブログ
  • ホームページ制作
  • ホームページ制作無料講座
  • メール
  • モバイル
  • 仕事のこと
  • 制作実績
  • 整体院
  • 美容院
  • 雑感

タグ

ai Android ChatGPT CMS css DALL-E elementor gmail google workspace Gutenberg HTML iPhone jQuery Mac Photoshop php SEO SNS ssh SSL Webサイト高速化 Windows WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 WPRocket アクセス解析 クラウドソーシング サイト引っ越し サブスクリプション サーバー ショートカットキー スマホサイト スマートフォン セキュリティ ツール ブログ プラグイン マーケティング リニューアル レスポンシブWebデザイン 保守管理 最適化 集客するサイト構築

アーカイブ

CONTACT

お問い合わせはこちら

Footer

  • PRIVACY POLICY
  • 情報セキュリティ基本方針
  • 特定商取引法に基づく表示
  • 転載/引用

© 2025 high five create All rights reserved.