連載
» 2004年05月25日 00時00分 公開

Samba 3.0の全貌 改訂版(2):Active Directory参加機能とセキュリティ拡張 (3/3)

[たかはしもとのぶ,@IT]
前のページへ 1|2|3       

多様な認証データベースのサポート

 Samba 3.0系列での大きな拡張点の1つに、認証データベースの拡張が挙げられます。

 Samba 2.2系列でも、configure時にオプションを指定することで、LDAP認証をはじめとするsmbpasswdファイル以外のいくつかの認証データベースを使用することができました。しかし、configure時に使用する認証データベースが固定されてしまい、複数の認証データベースを組み合わせて使うこともできませんでした。

 Samba 3.0系列では、こうした問題に対応すべく、新たにpassdb backendというパラメータが新設されました。このパラメータのデフォルト値は、

passdb backend = smbpasswd

で、Samba 2.2系列までと同様にsmbpasswdファイルで認証を行う設定になっています(注)。ここに認証データベースを示すキーワードを列挙することで、Sambaがサポートしている任意の認証方式を任意の順番で組み合わせることが可能です。

注:ただし、configureで--with-ldapsamを指定した場合、デフォルト値はldapsam_compat になります。


 例えば、基本的にLDAP認証を用い、LDAP中に存在しないアカウントについてはローカルのsmbpasswdファイルで認証したい場合は、以下のように設定します。

[global]
  passdb backend = ldapsam:ldap://ldap.home.monyo.com smbpasswd
passdb backendパラメータの設定例

 現在、デフォルトで使用可能な認証モジュールは表4のとおりです。

キーワード
認証方式
smbpasswd デフォルト、従来の方式(ファイルのパス名を指定可能)
tdbsam TDB形式のデータベース(ファイルのパス名を指定)
ldapsam LDAPサーバ(LDAPサーバのURLを指定)
ldapsam_compat Samba 2.2系列互換のスキーマを持つLDAPサーバ(LDAPサーバのURLを指定)
表4 Samba 3.0系列でサポートされている認証モジュール

■LDAP認証の機能強化

 表4に、LDAP認証の認証モジュールが複数用意されています。これは、Samba 3.0系列になってLDAP認証に用いるスキーマが変更されたためです。この変更により、より多くの情報が保持できるようになった半面、Samba 2.2系列でLDAP認証のスキーマとの互換性がなくなっています。

 こうした問題に対処するため、Samba 3.0系列でもconfigure時に--with-ldapsamオプションを指定し、passdb backendパラメータでldapsam_compatを指定することで、Samba 2.2系列と同じLDAPデータベースを使用することが可能です。

■pdbeditコマンド

 Samba 3.0系列では、実際の認証方式の違いを意識することなくアカウントの追加、変更などの各種操作を可能とするため、pdbeditというコマンドが新たに用意されています。

 例えば、pdbeditコマンドを実行することで、ユーザー情報の詳細表示が可能です。これは、認証データベースがLDAPであってもtdbsamであっても、同一の操作で同一の表示が行えるようになっています。

# pdbedit -u monyo -v
Unix username:        monyo
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-3899892270-3850540773-3613385630-12000
Primary Group SID:    S-1-5-21-3899892270-3850540773-3613385630-10201
Full Name:
Home Directory:       \\megu\monyo
HomeDir Drive:        U:
Logon Script:
Profile Path:         \\megu\monyo\profile
Domain:               SAMBA30
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          Sat, 14 Dec 1901 05:45:51 GMT
Kickoff time:         Sat, 14 Dec 1901 05:45:51 GMT
Password last set:    Fri, 31 Oct 2003 18:07:03 GMT
Password can change:  Fri, 31 Oct 2003 18:07:03 GMT
Password must change: Sat, 14 Dec 1901 05:45:51 GMT
pdbeditコマンドによるユーザー情報の詳細表示

 また、pdbeditコマンドを以下のように用いることで、異なる認証データベース間での移行が可能です。

# pdbedit -i smbpasswd:/etc/samba/smbpasswd -e tdbsam:/usr/local/samba/private/smbpasswd.tdb
pdbeditコマンドによる認証データベースの移行
注:-iオプションで複製元(import)する認証データベースを、-eオプションで複製先(export)する認証データベースをそれぞれ指定する。

 Samba 3.0系列はsmbpasswdコマンドもサポートしているので、smbpasswdファイルを使用している場合は、smbpasswdコマンドによる操作も可能です。しかし、pdbeditコマンドが認証データベース操作の標準コマンドとして位置付けられているので、管理者としては早めにこのコマンドに慣れておきたいところです。

SMBセキュリティの拡張

 SMBプロトコルの各種セキュリティ機能への対応も、Samba 2.2系列から大きく機能強化されました。

 Samba 2.2系列までは、俗に「暗号化パスワード」と呼ばれるNTLMレスポンスおよびLMレスポンスと平文パスワードのみに対応しており、Windows NT 4.0 SP3やSP4以降で実装されたSMB署名やNTLMv2などの各種セキュリティ機能には対応していませんでした。そのため、デフォルトの設定ではWindows XP ProfessionalがSambaドメインに参加できないという問題が発生していました()。

注:Windows XP Professionalのマシンがドメインに参加できない
http://www.samba.gr.jp/project/kb/J0/0/71.html


 Samba 3.0系列では、Windowsが実装しているSMBのセキュリティ機能はほぼすべてサポートされています(表5)。これにより、前述したSambaドメインに参加できない問題も解消しています。

機能
Windows NT系(*1)
Samba 2.2系列
Samba 3.0系列(*2)
平文パスワード
抑止
(設定なし)
EnablePlainTextPassword
encrypt passwords encrypt passwords、
client plaintextauth
LMレスポンス
抑止
LMCompatibilityLevel lanman auth lanman auth、
client lanman auth
NTLMレスポンス
抑止
LMCompatibilityLevel 不可能 ntlm auth、
client ntlmv2auth
NTLMv2対応 LMCompatibilityLevel
(NT 4.0 SP4以降)
不可能 ntlmv2 auth、
client ntlmv2auth
SMB署名 Require(Enable)SecuritySignature
(NT 4.0 SP3以降)
不可能 server signing、
client signing
セキュアチャネル、
署名・暗号化
RequireSignOrSeal
(NT 4.0 SP4以降)など
不可能 server schannel、
client schannel
NetBIOS無効化 SMBDeviceEnabled 不可能 disable netbios
表5 SMBセキュリティ機能の一覧
注1:「Windows NT系」は、Windows 2000/XP/Windows Server 2003を含む。
注2:上行がサーバ、下行がクライアント。

管理コマンドの拡充

 Samba 3.0系列では、新たにnetコマンドが追加されました。

 Windowsのnetコマンドに類似したコマンドですが、はるかに多くの機能が実装されており、従来のコマンドの機能も多く統合されています。また、netコマンドを用いることで、WindowsマシンをUNIXコマンドラインから遠隔管理することも可能になります。

 netコマンドの機能は多岐にわたりますので、詳細についてはドキュメントなどを参照してください。このほかにも、smbcacls、smbcquotas、smbtreeなどのコマンドが追加されています。


 以上、Samba 3.0系列の特徴的な機能について、一通り紹介しました。Samba 3.0系列についてはまとまった情報があまりない状態ですが、本記事とSamba 2.2系列までの情報を合わせれば、Samba 3.0系列について一通りの機能を知ることができるのではないかと思います。

 本記事が、Samba 3.0系列を使う方々のお役に立てれば幸いです。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。