Linux サーバーでアップロードされたファイルのウイルスをスキャンする必要がありますが、その方法がわかりません。
もしあれば、私のオプションは何ですか?また、複数のユーザーが同時に複数のファイルを送信したときにスキャナーがどのように機能するかにも興味があります。
Linux サーバーでアップロードされたファイルのウイルスをスキャンする必要がありますが、その方法がわかりません。
もしあれば、私のオプションは何ですか?また、複数のユーザーが同時に複数のファイルを送信したときにスキャナーがどのように機能するかにも興味があります。
既知のウイルスに対してテストしたときの ClamAV の結果は次のとおりです (問題は、 これらのどれも合格しないはずです)。
+-----------+------------------------------+
| Results | File |
+-----------+------------------------------+
| infected | AdvancedXPFixerInstaller.exe |
| pass | auto.exe |
| pass | cartao.exe |
| infected | cartoes_natal.exe |
| pass | codec.exe |
| pass | e421.exe |
| pass | fixtool.exe |
| infected | flash_install.exe |
| infected | issj.exe |
| infected | iwmdo.exe |
| infected | jobxxc.exe |
| infected | kbmt.exe |
| pass | killer_cdj.exe |
| pass | killer_javqhc.exe |
| infected | killer_rodog.exe |
| infected | kl.exe |
| infected | MacromediaFlash.exe |
| infected | MacromediaFlashPlayer.exe |
| infected | paraense.exe |
| infected | pibzero.exe |
| pass | scan.exe |
| pass | uaqxtg.exe |
| pass | vejkcfu.exe |
| infected | VIDeoSS.exe |
| infected | wujowpq.exe |
| pass | X-IrCBOT.exe |
+-----------+------------------------------+
Clam AntiVirusを見てみましょう。clamscan
指定されたファイルをスキャンして合格/不合格の表示を返すことができるプログラムを提供します。無料で、定期的にデータベースを自動的に更新します。
そのような製品をファイル アップロード プロセスに統合することに関しては、実際に使用するファイル アップロード プロセスに固有のものになります。
パフォーマンスが気になる場合は、clamd/clamdscan を実装として使用することを検討してください。clamd はデーモンとして実行されるため、すべての初期化コストは一度だけ実行されます。その後、clamdscan でファイルをスキャンすると、実際のスキャンを実行するためにファイルがフォークされた clamd に送られます。大量のトラフィックがある場合は、はるかに効率的です。
それ以上のパフォーマンスに関する懸念がある場合は、商用製品の使用を検討する必要があります。最近では、大企業のほとんどが Linux/Unix バージョンを持っています。
opswat の MetaScanを調べる必要があります。このツールは、ファイルの更新と複数エンジンのスキャンを管理します。AVG、CA eTrust™ にバンドルされています。ClamWin、ESET NOD32 Antivirus Engine、MicroWorld eScan Engine、Norman Virus Control、および VirusBuster EDK。さらに、ノートンなどを呼び出します。利点は、ファイルに対して複数のエンジンを実行できることです。
Clamscan はファイルが保存されるとスキャンし、感染したファイルのアップロードまたはダウンロードを阻止しません。
squid(https+cache) <-> HAVP ( clamAVを使用) <-> Tomcat リバース プロキシのセットアップがあります。HAVP ( http://www.server-side.de/ ) は、ClamAV またはその他の市販のウイルス対策ソフトウェアを介してhttp トラフィックをスキャンする方法です。ユーザーが感染したファイルをダウンロードするのを防ぎます。
ただし、アップロード時には機能しないため、ファイルがサーバーに保存されるのを防ぐことはできませんが、ファイルがダウンロードされて伝播されるのを防ぐことはできません。そのため、通常のファイル スキャン (clamscan など) で使用します。
それらを商用スキャナーで実行しましたか? 私は以前、ファイルを 4 つの商用スキャナーで並行して実行する製品の管理者でした。数百のテスト ウイルス コーパスがありましたが、市販のスキャナーではすべてを検出できませんでした...
スキャナー用のパブリック API を持つウイルス対策ベンダーを探す必要があります。そうすれば、プログラムでファイルをスキャンできます。長期的には、アップロード スクリプトを介して他のプロセスを台無しにしようとするよりもはるかに簡単になります。