Home > ブログ > サーバーに不正なファイルをアップロードされてしまったら

ブログ

サーバーに不正なファイルをアップロードされてしまったら

先日、サーバー上に不正なファイルをアップロードされてしまい、サーバー会社から対応を求められているというお客様の対応を行いました。

だいたいこのようなケースでは、サイトへのアクセスを停止されて不具合の修正を求められ、対策が完了するまではサイトはダウンしたままとなります。

そこで、以下の対応が必要となります。

  • 原因の特定と対策
  • 影響範囲の調査(ファイルが書き換えられていないかなど)

(1) 原因の特定と対策

ログなどから何が原因でファイルをアップロードされてしまったかを調査し、再発しないようにセキュリティアップデートの適用などの対策を行います。

(2) 影響範囲の調査

サーバーに侵入されて何をされたかを調査します。

経験上、共用サーバーでは、他サーバーへの大量のアクセスをするような攻撃の踏み台とされるケースが多いですが(実際これで負荷が上がってサーバー会社も気づく)、後から再接続できるようにバックドアのスクリプトが設置されていたり、htmlを書き換えて不正なJavaScriptが埋め込まれるケースもあります。これらを調査し、侵入前の状態に戻します。

これらの対応についてお問い合わせいただく際は、サーバーの状況をできるだけ保存しておいていただけると助かります。殺人現場の調査と同じです(刑事ドラマでみたことしかありませんが)。

具体的には以下にご注意ください。

(1) みだりにファイルを修正しない

不正アクセスの調査にはログの他にもファイルのタイムスタンプが役立ちます。ファイルの修正時刻だったり、mtime,ctimeの矛盾が原因や影響範囲の調査に役立つので、サーバー上のhtml,php等のコンテンツファイルや設定ファイルを編集しないでください。

(2) 不正アップロードされたファイルは消さない

影響範囲の調査に役立つので、不正アップロードされたファイルは消さずに残しておいてください。サーバー上の別のディレクトリに移動したり、PCにダウンロードしておくなどしてください。

また、アップロードされたファイルを移動したりする前にタイムスタンプをスクリーンショットを取るなどして記録しておいてください。

(3) VPSなどならroot権限で余計なことをしない

VPSなどのようにroot権限があるサーバーならroot権限で作業をしたりしないようお願いいたします。

これらは弊社以外に問い合わせる時でも同じはずです。この記事を読んでいる時点で既に遅いかもしれませんが、できるだけ状況を残すようにしてください。

ちなみに今回はWordPressのプラグインが原因でした。別にWordPressだけが危ないわけではなく、2022年にはMovableTypeにXMLRPCの脆弱性が見つかり、同様のお問い合わせをいただくことがありました。弊社にお問い合わせいただくケースでは、ほぼ100% アップデートをサボっていたことが原因によるものです。セキュリティアップデートを軽視せず、こまめにアップデートの適用を行いましょう。

あと、コンテンツのバックアップもちゃんと取っておきましょう(できれば自動で)。 セキュリティ侵害からの復旧にも役立ちます。

作業に関する費用は定額でバシッと記載できればいいのですが、状況によって異なります。共用サーバーでWordPressやMovableTypeのようなOSSが設置されているだけのサーバーでしたら、100,000円(税別)~程度をみてください(ちょうど今回の事例が100,000円でした)。お問い合わせいただければ、状況をヒアリングさせていただいた後、お見積もりいたします。

以下のページもご参照ください。
Webシステム・サーバーのトラブル解決

投稿日:2023/04/01 11:23

タグ: Server 作業実績

Webサーバーのことで何かお困りですか?
ちょっとしたことから対応できます。
お困りのことがございましたらお気軽にお問いあわせください。
詳細はこちら。

・PHP8対応作業はこちら

・メールが届かない場合の対応作業は30,000円~対応可。詳細はこちら

Top

アーカイブ

タグ

Server (28) 作業実績 (21) PHP (19) ネットワーク (17) プログラミング (15) OpenSSL (10) C (8) C++ (8) PHP関連更新作業 (8) EC-CUBE (7) Webアプリ (7) laravel (6) 書籍 (5) Nginx (5) Linux (5) AWS (4) Vue.js (4) JavaScript (4) 与太話 (4) Rust (3) Symfony (2) お知らせ (2) Golang (2) OSS (1) MySQL (1) デモ (1) CreateJS (1) Apache (1)