Article ID: 115082, created on Apr 15, 2014, last review on Aug 12, 2014

  • Applies to:
  • Plesk Sitebuilder

症状

公開したサイトのブログ/フォーラム/ゲストブック/登録ページがスパムメッセージで過負荷になっています。この結果、いくつかの問題が発生します。

ブログページで投稿の追加/削除を試みると、"Error! Operation has not been completed" というエラーが表示されます。公開したウェブサイトの "ゲストブック" ページが読み込まれず、長時間経過後に "A server cannot be found" または "XML Parsing Error" というエラーが発生します。

原因

Parallels Plesk SiteBuilder 4.5 では、ブログ、フォーラム、ゲストブック、登録モジュールに CAPTCHA モジュールが含まれています。このモジュールが、公開したウェブサイトへのスパム攻撃を発生させる可能性があります。いくつかの理由により、既存の CAPTCHA モジュールを変更することはできません。

  • このモジュールに脆弱性の証拠はなく、チェックしたサイトのいずれでもプロセスが自動化されていません。最も可能性が高いのは、https://krebsonsecurity.com/2012/01/virtual-sweatshops-defeat-bot-or-not-tests の記事に記述されているような CAPTCHA 解決チームの活動による影響だと考えられます。

  • CAPTCHA モジュールを置換しても、有効なレコードが多数登録されているゲストブックでのパフォーマンスの問題を解決することはできません。この問題は SQLite データベースが肥大すると発生します。

  • CAPTCHA の置換は最も労力を必要とする作業ですが(ホスティング事業者側での開発、テスト、パッケージング、製品更新、およびエンドユーザ側でのサイトの再公開)、根本原因は解決しません。

解決策

現時点で唯一の解決策となるのは、問題のあるサイトのブログ/ゲストブックでメッセージを手動で削除/消去することです。

開発チームでは、データベースからメッセージを削除するスクリプトを配布しています。

  1. この解決策を適用するには、このスクリプトをサイトの公開元サーバにダウンロードし、"unzip" コマンドで展開します。

    ~# wget http://kb.sp.parallels.com/Attachments/kcs-104/sqlite_database_truncation_script.zip
    ~# unzip sqlite_database_truncation_script.zip
    
  2. 次のコマンドを使用して、サイズの大きいデータベースを探します。

    ~# find /PATH/TO/DOMANIS/DIRECTORY -name sb_modules.php -size +25M
    

    (ここで /PATH/TO/DOMANIS/DIRECTORY とは、公開したサイトの仮想ディレクトリが保存される公開元ホスト上のディレクトリです。)

  3. 削除(トランケーション)を実行する前に、データベースのバックアップを作成します。

  4. 下のように、提供されたスクリプトを呼び出してデータベースを 1 つずつ削除します(ここで {sqlite_db} とは、問題のデータベースのフルパスです)。

    ~# php sqlite_database_truncation_script.php {sqlite_db}
    

追加情報

[手順] サイトのブログ/ゲストブックモジュールからスパムメッセージを手動で削除するには

Attachments

56797cefb1efc9130f7c48a7d1db0f0c fad6dc0c8e983c17ae70a51ac7952cd0

Email subscription for changes to this article