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

このセクションの内容

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との統合のためのステップ

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/<architecture>-linux-gnu/samba/vfsライブラリ(Debian、Ubuntu、Mintの場合)または<opt_dir>/lib64/samba/ライブラリを含むディレクトリに保存されます。

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

たとえば、/opt/drweb.com/lib/x86_64-linux-gnu/samba/libsmb_spider.so.4.13.0であれば、GNU/Linux環境のx86_64アーキテクチャで動作するSambaサーバーバージョン4.13.0用のVFS SMBモジュールです。

2.Sambaサーバーの設定ファイルsmb.conf(GNU/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設定ツールを使用すると、Sambaサーバー設定ファイルでカスタマイズされた場所にSpIDer Guard for SMBを接続できます(以下を参照)。

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 for SMBとSpIDer Guardの間の競合を避けるために、次のいずれかのアクションを実行して、SpIDer Guardの追加設定を行うことをお勧めします。

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

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

設定ツール

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リソースを除外します。

add_symlink - VFS SMB Dr.Webモジュールを指すシンボリックリンクsmb_spider.soを作成します(ソースファイルのパスは、使用しているSambaのバージョンによって異なる場合があります)。

remove_symlink - シンボリックリンクsmb_spider.soを削除します。

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

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

$ drweb-configure --help samba