スタッフブログ

スタッフブログ

不正なファイルを見逃さない!phpMusselの導入ガイド

2025.07.17

ファイルのアップロード機能を持つWebサイトでは、「画像のフリをした不正なコード」や「ウイルスを含んだファイル」が知らない間に侵入している可能性があります。
phpMussel(ピーエイチピー・マッスル)は、そうした悪意のあるファイルを検出・ブロックするためのPHPベースのセキュリティツールです。

この記事では、phpMusselの導入方法からスキャンの実行方法、スキャン結果について簡単に解説します。

phpMusselとは?

phpMusselは、ファイルアップロードの安全性をチェックできる軽量なセキュリティツールです。
PHPで動作するため、LinuxやWindowsなど幅広い環境で動作し、共有サーバーでも利用できます。

主な特徴:

  • PHPのみで動作(インストール不要、サーバー管理権限不要)
  • ファイルをスキャンし、不正なコードやウイルスを検出
  • リアルタイムスキャン(アップロード時)と後からの一括スキャン(CLI)に対応
  • オープンソースかつ無料

導入方法

① Composer経由でインストールする

以下のコマンドを実行して、phpMussel本体をインストールします。

composer require phpmussel/phpmussel

または、GitHubのExamplesページからZIPファイルを手動でダウンロードすることもできます:
https://github.com/phpMussel/Examples

② 定義ファイル(署名ファイル)を追加する

Composerでインストールしただけでは、スキャンに必要な定義ファイル(phpmussel-signatures)が含まれていません。以下の手順で追加してください:

  1. GitHubのExamplesページからZIPをダウンロード
  2. 解凍して、中にある phpmussel-signatures ディレクトリを、phpMusselの設置ディレクトリにコピー

※注意: ウイルス定義ファイルが含まれるため、セキュリティソフトによっては警告される場合があります。

③ 設定ファイル(phpmussel.yml)を作成する

ルートディレクトリに phpmussel.yml ファイルを作成し、ログイン用の初期ユーザーを設定します。

users.admin:
    password: password
    permissions: 1

④ ログインしてユーザー情報を変更する

以下のURLにアクセスしてログインします:

http://localhost/example-frontend.php

初期ユーザー名 admin、パスワード password でログインできます。
ログイン後は、必ずユーザー名とパスワードを変更してください。

⑤ スキャン設定(ブラックリスト等)を記述する

phpmussel.yml に、拡張子の拒否ルールなどを設定できます。

deny_extensions:
  - exe
  - js
  - php

設定項目の詳細はこちら:
設定オプション一覧(公式ドキュメント)

⑥ CLIで起動してスキャンする

コマンドラインから実行するには以下のように操作します。

まず、CLIモードを起動:

php example-cli.php

次に、対象フォルダをスキャン:

scan /path/to/folder

※phpmussel.yml に cli: true が必要な場合があります。

スキャン結果の見方

スキャン結果には、ファイルの状態に応じたメッセージが表示されます。

表示例 意味
Detected phpMussel-Shell.Eval-00 eval() など危険なPHP関数が含まれている可能性あり
Filetype blacklisted 拒否設定されているファイル形式(.exe など)が見つかった
PHP chameleon attack detected! 一見画像やJSに見えるが、実際はPHPコードが含まれている可能性あり
Suspect.DoubleExtension-00 .jpg.php のような偽装ファイルの可能性
Graphics.HTML.Embed 画像ファイル内にHTMLやJavaScriptが埋め込まれている

「Detected」「chameleon」などの表示があれば注意が必要です。
コードを確認し、不要なファイルは削除や隔離を行いましょう。

さいごに

phpMusselは、ファイルアップロード時や保存済みファイルのチェックを通じて、Webサイトのセキュリティを高める無料ツールです。
設定も比較的シンプルですが、実際の導入・運用にはある程度の知識や環境設定が必要となる場合があります。

「自社で設定するのが難しい」「正しく動いているか不安」「運用まで任せたい」などの場合は、ぜひ弊社にご相談ください。

弊社では、Webサイトの制作から保守、セキュリティチェックの導入支援まで、一貫して対応しております。
「アップロードファイルの安全性が気になる」「サーバーの中身をチェックしたい」といったお悩みも、お気軽にお問い合わせください。

アバター画像
記事作成者

高橋 遼太

アーカイブ