Sambaファイルサーバーとの統合

SpIDer Guard for SMBモニターは、Sambaサーバーとの統合に特別なVFS SMBモジュールを使用します。SpIDer Guard for SMBでは、このモジュールのいくつかのバージョンが提供されています。それらはSambaのさまざまなバージョン向けに構築されています。ただし、提供されているVFS SMBモジュールのバージョンが、ファイルサーバーにインストールされているSambaのバージョンと互換性を持たない場合があります。たとえば、SambaサーバーがCLUSTER_SUPPORTオプションを使用している場合に発生することがあります。

VFS SMBモジュールがSambaサーバーと互換性がない場合は、Dr.Web for UNIX File Serversのインストール中に対応するメッセージが表示されます。この場合、Sambaサーバー用のVFS SMBモジュールを手動で構築します(必要に応じてCLUSTER_SUPPORTオプションとの互換性も含めます)。

提供されているソースコードファイルからVFS SMBモジュールを構築する手順は、VFS SMBモジュールを構築するセクションで説明されています。

このセクションの内容:

Sambaとの統合のためのステップ

統合サポートのシナリオ

設定ツール

Sambaとの統合のためのステップ

SpIDer Guard for SMBをSambaファイルサーバーと統合するには、以下の手順に従います。

1.Sambaが読み込むVFS SMBモジュールが置かれたディレクトリ(GNU/Linuxのデフォルトディレクトリは/usr/lib/samba/vfs)に、使用しているバージョンのSambaに対応するDr.Web提供のVFS SMBモジュールを指すシンボリックリンクsmb_spider.soを作成します。

Dr.Webが提供するVFS SMBモジュールは、以下のライブラリを含むディレクトリに保存されます。

<opt_dir>/lib/samba - 32ビットプラットフォーム用。

<opt_dir>/lib64/samba - 64ビットプラットフォーム用。

モジュールのファイル名は、libsmb_spider.so.<ver>のようになります。ここで、<ver>はモジュールの対象となるSambaサーバーのバージョンです。

たとえば、/opt/drweb.com/lib/samba/libsmb_spider.so.3.6.0であれば、GNU/Linux環境の32ビットプラットフォーム上で動作するSambaサーバーバージョン3.6.0用のVFS SMBモジュールになります。

このアクションはupdate-links.sh統合シナリオを使用して実行できます(後述のセクションを参照)。

2.Sambaサーバー設定ファイルsmb.confGNU/Linuxのデフォルトの場所は/etc/samba)に、共有ディレクトリ用のセクションを作成します。次のようなセクションになります。

[<share name>]
comment = <any comment>
path = <path to the protected directory>
vfs objects = smb_spider
writeable = yes
browseable = yes
guest ok = yes
public = yes

ここで、<share name>は共有リソースの任意の名前、<any comment>はコメントを含む任意の行になります(オプション)。vfsオブジェクトで指定するオブジェクトの名前はシンボリックリンクに類したものにします(ここではsmb_spider)。

そうすると、pathパラメータで指定されたこのディレクトリは、SpIDer Guard for SMBによってモニタリングされます。SpIDer Guard for SMBとVFS SMBモジュールとのインタラクションは、UNIXソケット/<samba chroot path>/var/run/.com.drweb.smb_spider_vfsを介して実行されます。デフォルトでは、このUNIXソケットへのパスはSpIDer Guard for SMB設定およびVFS SMBモジュール設定で指定されます。

drweb-configure設定ツールを使用しSpIDer Guard for SMBをSambaサーバー設定ファイルでカスタマイズされた場所に接続できます(後述のセクションを参照)。

3.ソケットへのパスを変更する場合は、SpIDer Guard for SMBの設定SmbSocketPathパラメータ)とSambaの設定ファイルsmb.confの両方で新しいパスを指定します。その場合、[<share name>]セクションに次の行を追加します。

smb_spider:socket = <path to socket>

ここで、<path to socket>は、UNIXソケットへの絶対パス、つまりchroot<samba chroot path>)を使用してSambaサーバー用に設定されたルートディレクトリからの相対パスで指定します。

4.必要に応じて、ExcludedPathおよびIncludedPathパラメータを使用して、保護された共有ディレクトリにあるオブジェクトへのパスを除外したり、SpIDer Guard for SMBによるチェックに含めたりできます。ディレクトリへのパスまたはファイルへのパスを指定できます。ディレクトリを指定した場合、そのディレクトリのコンテンツはすべてスキップまたはスキャンされます。IncludedPathパラメータはExcludedPathパラメータよりも優先されます。つまり、同じオブジェクト(ファイルまたはディレクトリ)が両方のパラメータ値に含まれる場合、このオブジェクトは検査されます。

5.この共有ディレクトリに個人用のスキャン設定(すべての共有ディレクトリに使用されるデフォルト設定とは異なるもの)を指定する場合、このディレクトリを制御するVFS SMBモジュール用のタグIDを作成します。

smb_spider:tag = <share name>

次に、SpIDer Guard for SMB設定で、この共有ディレクトリを保護するための個人設定を個別のセクション[SMBSpider.Share.<share name>]として指定します。

<share name>タグで識別される新しいセクションを、Dr.Web Ctlコマンドラインツールを使用して追加するには、たとえば次のようなコマンドdrweb-ctl cfset SmbSpider.Share.<share name>.<parameter> <value>を使用する必要があります。

# drweb-ctl cfset SmbSpider.Share.UserFiles.OnAdware Quarantine

このコマンドは、[SMBSpider.Share.BuhFiles]セクションを設定ファイルに追加します。この追加されたセクションには、この共有ディレクトリのスキャンを調整するために使用可能なすべてのパラメータが含まれます。つまり、コマンドで指定される OnAdware パラメータを除くすべてのパラメータの値が、一般[SMBSpider]セクションのパラメータ値と一致します 。

6.StartパラメータをYesに設定して、SpIDer Guard for SMBを有効にします。

すべての設定を調整したら、Dr.Web for UNIX File ServersとSambaサーバーの両方を再起動します(コマンドdrweb-ctl reloadを使用します)。設定デーモンDr.Web ConfigDを再起動することもできます(service drweb-configd restartコマンドを使用します)。

Sambaの共有ディレクトリにあるファイルをスキャンする際にSpIDer GuardとSpIDer Guard for SMBの間の競合を避けるために、次のいずれかの操作を実行して、SpIDer Guardの追加設定を行うことをお勧めします。

Samba共有ディレクトリを除外パスに追加します(共有ディレクトリをExcludedPathパラメータで指定)。

Sambaプロセス(smbd)を除外プロセスのリストに追加します(ExcludedProcパラメータにsmbdを指定します)。

 

統合サポートのシナリオ

SpIDer Guard for SMBをSambaファイルサーバーと簡単に統合するために、Dr.Web for UNIX File Serversには統合設定用の特別なシェルスクリプトが用意されています。それらは<opt_dir>/share/drweb-smbspider-modulesにあります。

スクリプトファイル

機能

update-links.sh

SambaディレクトリのDr.Web VFS SMBモジュールへのリンクを作成/更新するスクリプト

vfs-versions.sh

Dr.Web VFS SMBモジュールのバージョンを確認する補助スクリプト。update-links.shスクリプトによって使用されます。

update-links.shシェルスクリプトは、Dr.Web for UNIX File Serversのインストール中に自動的に起動されます。必要に応じて、後で、手動で起動することもできます。

設定ツール

SpIDer Guard for SMBをファイルサーバー設定ファイルでカスタマイズされたSamba共有ディレクトリとの統合(ディレクトリの接続と切断)を簡単に実行できるように、特別なツールdrweb-configureが設計されました。SpIDer Guard for SMBと共有ディレクトリとの接続を設定するには、次のコマンドを使用します。

$ drweb-configure samba [<parameters>]

次のパラメータを指定できます。

+<Samba resource> - SpIDer Guard for SMBの保護に追加するSamba共有リソースの名前(smb.conf設定ファイルで指定されているもの)。

-<Samba resource> - SpIDer Guard for SMBの保護から除外するSamba共有リソースの名前(smb.conf設定ファイルで指定されているもの)。

+/all-SpIDer Guard for SMBの保護に、smb.conf設定ファイルで指定されたすべての共有Sambaリソースを追加します。

-/all - SpIDer Guard for SMBの保護から、smb.conf設定ファイルで指定されたすべての共有Sambaリソースを除外します。

<configuration file> - 処理する必要があるSambaサーバー設定ファイル(smb.conf)へのパス。この引数を省略すると、drweb-configureツールは実際のsmb.confファイルを探します。

SpIDer Guard for SMBとSamba共有ディレクトリとの統合に関するヘルプドキュメントにアクセスするには、次のコマンドを使用します。

$ drweb-configure --help samba