2011-02-09 10 views
3

写真アルバムのような写真をアップロードしたり、添付ファイルとしてファイル(現在は文書)を添付することができます。だから私は、人々が感染したものをアップロードする場合にファイルをスキャンするために、ある場所にいくつかのアンチウイルス/セキュリティツールが必要であると仮定します。だから2つの質問: 1)これは私が使用するか、自分の環境に統合するための "フリー"またはオープンソースのツールがありますか:codeignitor PHP? 2)残りのシステムからアップロード領域を保護するにはどうすればよいですか?ウイルススキャナがウイルスに感染しなかったとし、それがアップロードされた場合、他のファイルに感染するのを防ぐにはどうすればよいですか?同様に、アップロード領域はサンドボックス化されていても、何かに常時存在し、ユーザがコンテンツにアクセスしてシステムの他の部分に広がらないように、そのファイルパスを使用できますか?ファイルアップロードのための無料のサーバー側アンチウイルス/セキュリティ/トロイの木馬防止?

答えて

2

無料のウイルススキャナ用のclamavがあります。それをインストールし、あなたのような何かができる:セキュリティに関しては

function virus_detected($filename) 
{ 
     $clamscan = "/usr/local/bin/clamscan"; 
     $result = exec("$clamscan -i --no-summary $filename"); 
     return strlen($result)?true:false; 
} 

を、一時ファイルがWebルートの外のディレクトリにアップロードされていることを確認してください。ファイルの種類を確認し、ファイルの名前を元のファイル名以外の名前に変更し、適切な拡張子(gif、jpg、bmp、png)を追加する必要があります。私はこれがphp自体の悪用を除いてあなたをかなり安全に保つべきだと考えています。

PHPでファイルの種類を確認する詳細については、チェックアウト: http://www.php.net/manual/en/function.finfo-file.php

+0

拡張子を変更できるため、exeファイルでは機能しません。 – Rohit

+0

あなたのコメントは曖昧ですが、何がうまくいかないのですか? – matt

+0

これが動作するかどうかわかりません。それはphpの悪用から安全にそれをkepしますが、システムを感染させるのはどうですか?どのように強力なclamavのような企業レベルの保護を提供することができますすべての可能性のあるマルウェアを究極の保護として、または私はまだもっと必要がありますか? – Rohit

1

を、私は将来的に他のケースの誰に、このトピックは今3年前から活動していなかったけど、同様に、探していますPHPベースのアンチウイルスソリューションの場合、アンチウィルスデーモン、プログラム、またはユーティリティがホストマシンにインストールされておらず、アンチウィルスデーモン、プログラムまたはユーティリティをインストールする能力がない場合、phpMussel、PHPスクリプトRohit(元のポスター)が探していたClamAV(悪意のあるファイルのアップロードからCMSを保護するためのPHPベースのウイルス対策)に適したClamAVに基づいて書いたものは、おそらく実行可能なゾルかもしれませんution。それは確かに完璧ではないし、すべてを捕まえることを保証することはできないが、はるかに何も使用しないよりも確かに良い。

理想的には、マットが既に提案したように、シェルにファイルアップロードをスキャンさせるためにshellを呼び出すのは理想的な解決策です。これがホストのマスター、ウェブマスター、またはRohitの状況の誰かがそう、私はその提案全体を2番目にしたい。私が書いたことは、それがPHPスクリプトであるため、機能するためにPHPに完全に依存するものに固有の制限がありますが、前述の提案や類似の提案が可能でない場合(ifホストマシンにはアンチウィルスがインストールされておらず、シェルアクセスは無効になっています;安価な共有ホスティングソリューションでよく見られます)、ここで私が提案していることは潜在的に進歩する可能性があります。拡張機能が含まれています。これは現在のPHPでは標準的です)、それ以上のものはありません。

また、Mattが既に提案しているように、ルートディレクトリの外部にアップロードするには、アップロードされたファイルを攻撃者が悪用できないようにする必要があります(攻撃者がシステムを侵害しようとした場合など)バックドアやトロイの木馬) - ウイルスは唯一の脅威ではありません。現在、アンチウイルスソリューションの大半はウイルスに集中していません。 Mattはまた、アンチウイルスソリューションが完璧でないことを指摘しても全く正しいと言えます。そのため、Webサイトやサーバーへのファイルアップロードを許可している人は誰も警戒し続ける必要があります。アンチウイルスソリューションは、状況はありますが、あらゆる可能性のある脅威をカバーするインターネットセキュリティの聖杯は存在しません。また、ファイルの名前を変更することは、実行できないことを保証するだけでなく、元のポスターのEXEに関する返信コメントでも推測されるように、ディレクトリのトラバーサル攻撃などの脅威のリスクを軽減することができます。ターゲットシステム上の既存のファイルを上書きしようとする攻撃者が、そのダーティ作業を隠す手段としてのリスク。

アンチウイルスソリューションが悪意のあるファイルを紛失している可能性があり、アップロード先のシステムに感染する可能性があるという脅威については、この状況でホストマネージャやウェブマスターが行うことができるのは、システム自体でファイルを実行不能にする何らかの迅速かつ簡単なエンコーディングプロセスを採用していますが、呼び出しを担当するPHPスクリプトによって簡単かつ簡単に取り消すことができますbase64_encode()、bin2hex()を使うか、あるいは少数のキャラクタを回転させ、塩を加えてファイルのマジックナンバーまたは類似のものを置き換えるなど、リクエストに応じてそのファイルを取得できます。

関連する問題