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

ファイルのアップロード機能を持つ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)が含まれていません。以下の手順で追加してください:
- GitHubのExamplesページからZIPをダウンロード
- 解凍して、中にある
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サイトの制作から保守、セキュリティチェックの導入支援まで、一貫して対応しております。
「アップロードファイルの安全性が気になる」「サーバーの中身をチェックしたい」といったお悩みも、お気軽にお問い合わせください。