検索 
       
[V5] Proselfのウイルススキャン設定を行いたいのですがインストールしているウイルススキャンソフトウェアではコマンドラインによるスキャンができません。どのようにすれば連携を行うことができるようになるでしょうか。

下記のような手順で連携を行うことが可能です。
あくまでもこのような方法もあるという一例での記載となります。

  1. Proselfストアフォルダ/work(※)に対してリアルタイムスキャンをするように、ウイルススキャンソフトウェアの設定を変更します。
    ※アップロードの際にProselfが使用する領域です。
  2. ウイルススキャンソフトウェアの設定でウイルスが発見された場合はファイルを削除する設定にしておきます。
  3. Proself側でアップロード後のウイルススキャンの際、work内のファイルが存在するかどうかで戻り値が変わる(例:存在する場合=0、存在しない場合=1)ようなシェルスクリプト等を作成します。
    • ◆Linux OS/シェルスクリプトのサンプル
    • #!/bin/sh
      if [ ! -e "$1" ]; then
      exit 1
      fi
      exit 0
    • ◆Windows OS/VBScriptのサンプル
    • Set objFso = CreateObject("Scripting.FileSystemObject")
      Set args = Wscript.Arguments

      If objFso.FileExists(args.item(0)) Then
      Set objFso = Nothing
      WScript.Quit 0
      End If

      Set objFso = Nothing
      WScript.Quit 1
  4. ウイルススキャン設定の「ウイルススキャンのコマンドライン」には、3で作成したシェルスクリプトの実行パス及び引数${file}を記述します。
  5. ウイルススキャン設定の「アップロードを拒否する戻り値」には、3で作成したシェルスクリプトの戻り値のうち、ファイルが存在しない場合の戻り値(この場合は1)を記述します。
  6. ウイルススキャン設定でウイルススキャンを使用するがonになっていることを確認後、「設定」ボタンを押下します。

上記の方法をとることで、ウイルス混入ファイルをアップロードしたとしても、アップロード後のウイルススキャン(実際にはファイル存在チェックshellの実行)のタイミングではすでにウイルススキャンソフトウェアのリアルタイムスキャンによってファイルが削除され、ウイルスとして検知が可能です。

ただし、この方法ではEICAR等のシンプルなウイルスであれば検知できることは分かっておりますが、ZIP内のウイルスファイル等までは動作確認がとれておりません。

そのため、コマンドラインからのスキャンと同一の動作が行われるようになるという保証はいたしかねますことをご了承ください。

(最終更新日:2024/01/12)