Sambaアクセスウイルス対策スキャン

こんにちは、Habrの親愛なるユーザー。



組織のネットワークフォルダーでのウイルス活動の別の発生後、ウイルス対策保護について考えました。 これは、Debian Wheezyで実行されるSambaが担当するネットワークフォルダーです。



Googleに情報を求めて、現在関連する2つの方法を見つけました。



方法1-clamfsを使用する


Clamfsは、アンチウイルスで保護されたフォルダ(マウントポイント)と通常の(サービス)ディレクトリとの間で通信します。 保護されたディレクトリからファイルを読み取ろう(コピー)しようとすると、ファイルはclamav-daemonデーモンによってウイルスの存在を自動的にチェックされます。 その作業には、カーネルモジュールFUSEが必要です。



この方法は適切ですが、SambaはLXCコンテナーで回転しています。 FUSEカーネルモジュールとlxcコンテナ間の接続の安定性に自信がありませんでした(そして、ホストマシンに触れたくありませんでした-サービスがそこで回転しているだけでなく)、方法2に決めました。



方法2-samba vfs svsモジュール(Sambaウィルススキャナー)を使用する


svs開発者によると、このモジュールは理論的にはアンチウイルスをバックエンドとして使用できますが、現在サポートされているのはClamAVのみです。



Debian Wheezy(Samba 3.6.6)の例を使用して、このモジュールをインストールする方法を簡単に説明します。



1.)最初に必要なことは、clamavをインストールすることです

apt-get install clamav-daemon clamav-freshclam
      
      





データベースの更新

 freshclam
      
      





悪魔を始める

 /etc/init.d/clamav-daemon start
      
      





2.)svsリポジトリにモジュールがないため、モジュールをビルドするために必要なパッケージをインストールする必要があります

 apt-get install build-essential qt4-make libqt4-dev
      
      





Sambaソートをダウンロードし、必要なヘッダーをコンパイルします

 apt-get source samba cd samba-3.6.6/source3 ./configure ./make
      
      





svsモジュールのソースをsourceforgeから/ tmpディレクトリにダウンロードします。

解凍してコンパイル:

 cd samba-3.6.6 bzcat /tmp/svs-0.1.4.tar.bz2 | tar xvf - cd svs qmake && make
      
      





svsモジュールをvfs sambaモジュールがあるディレクトリにコピーします。

32ビットシステムの場合:

 cp --no-dereference libsvs*.so* /usr/lib/samba/vfs/
      
      





64ビットシステムの場合:

 cp --no-dereference libsvs*.so* /usr/lib64/samba/vfs/
      
      





だから-モジュールが配置されているので、次の内容を含む構成ファイル/etc/samba/svs.iniを作成する必要があります。



 [SVS] maxParallelScans=6 maxCachedResults=10000 statisticsLogInterval=500 statisticsLogThreadUtil=false clamdscanCommand=clamdscan postScanSleep=100 infectAction=quarantine quarantineDirectory=/home/viruses scanOnOpen=true scanOnClose=true turboMode=false maxScannerHeartbeatAge=0 maxQueuedRequests=24 waitPendingScans=false
      
      





パラメーターを分析しましょう。



maxParallelScans-並列スキャンの最大数(プロセッサコアの数を行いました)

maxCachedResults-キャッシュされた結果の最大数

statisticsLogInterval-スキャナーログのエントリー間のミリ秒単位の時間

statisticsLogThreadUtil-スレッド使用ログ

clamdscanCommand-clamavスキャンを開始するコマンド

postScanSleep-スキャンプロセスが「スリープ」する時間(ミリ秒単位)(clamavの負荷を減らすため)

infectAction-ウイルスが検出されたときのアクション。 値は「なし」、「削除」、「検疫」を取ることができます

quarantineDirectory-ウイルスが検出されたディレクトリ

scanOnOpen-ファイルを開くときにスキャンする

scanOnClose-ファイルを閉じるときにスキャンする

maxScannerHeartbeatAge-svsがキュー内の次のストリームでストリームを置換するまでの最大時間(ミリ秒)。 <'1000'の場合、このオプションは無効と見なされます。

maxQueuedRequests-キュー内の保留中のスキャン要求の最大数(4 X maxParallelScans)

waitPendingScans-スキャンがキューにリクエストされるまでスキャンセッションを閉じない



次に、sambaでvfs svsモジュールを有効にする必要があります。 これを行うには、オプションボールを設定に追加します

 vfs objects = libsvs_clamav
      
      





さて、サンバを再起動しましょう

 /etc/init.d/samba restart
      
      







それだけです これで、vfsモジュールsvsを使用してsambaにアクセスするためのウイルス対策スキャンの構成が完了しました。



現時点では、私のsamba + svsバンドルは2か月間中断することなく機能しています。

サーバーの負荷については、Xeon E31230では50人のユーザーが同時に作業している間、平均LA(負荷平均)は3を上回らないと言えます。



参照:



SVSモジュール開発者のreadme-sourceforge.net/p/svs/code/HEAD/tree/trunk/README

設定に非常に役立つ良い記事-scottlinux.com/2011/09/06/clamav-virus-on-access-scanning-for-samba-shares



All Articles