web-dev-qa-db-ja.com

Java webappがストリーミングするときにアップロードされるファイルをウイルススキャンするにはどうすればよいですか?

基本的に、私はファイルを(ディスクに書き込む前に)Webアプリにアップロードするときにウイルススキャンしたいと思います。

特に「McAfee VirusScan Enterprise」(最新版)と統合したい。

設計と保守の観点から、サードパーティ製品を使用してファイアウォールで特定のパスをスキャンする方が良いでしょうか?そうすれば、Webアプリはウイルススキャンに関与する必要がなくなります。オーバーヘッドを最小限に抑えるために、通常のウイルススキャンファイアウォールでは、URLパターンと特定のPOSTデータパターンを指定できます。もちろん、HTTPSサイトの場合、これは機能しません(何らかの方法がない限り)その周り)。

stackoverflowからのこの投稿 は、McAfeeのSDKが利用できなくなったことを示唆しているようですが、代替のオープンソースはありますか?

24
les2

Clamvをチェックしてください( http://www.clamav.net/ )これはオープンソースのウイルス対策であり、ストリームをスキャンできます。したがって、スキャンするためにファイルを保存する必要はありません。

http://linux.die.net/man/1/clamscan

データストリームをスキャンする:cat testfile |クラムスキャン-

したがって、非常に簡単です。-argを使用してclamscanプロセスを開始します。ファイルの内容をstdinに書き込み、結果コードを待ちます。

テスト中は、アンチウイルスが機能しているかどうかを確認するための専用ファイルであるEICARファイルを使用できます。 http://en.wikipedia.org/wiki/EICAR_test_file

42
Dominique

ClamAV または ClamWin を調査します。それらはオープンソースのウイルススキャナーであり、ClamWinはClamAVに基づいています。これらのいずれかを変更して(誰かがまだ変更していない場合)、必要なことを実行できるようにする必要があります。

反対に、ストリーミングされたファイルをディレクトリに単にドロップし、スキャナーにその特定のディレクトリを監視させることを検討するかもしれません。

1
NotMe

カスペルスキー(およびおそらく他の人)は、エンタープライズレベルでこれを処理するいくつかの方法を持っているようです: http://usa.kaspersky.com/business-security/targeted-solutions

インターネットゲートウェイ製品が最も関連性が高いかもしれません。 Checkpoint、Squid Proxy Server、Microsoftをサポートしているようです。

試用版とドキュメントのダウンロードページは次のとおりです。 http://usa.kaspersky.com/downloads/documentation

エンタープライズレベルでは、SSLをオフロードするアプライアンス(Cisco ACEなど)を入手して、これらのオプションのいずれか(またはCisco IOS Intrusion Prevention System(IPS)withシスコのファイアウォール。CiscoACEデバイスを備えたクライアントがいくつかありますが、ファイアウォールでのウイルス検出について調査しています。

0
peater