Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly 共著
第一版 1999 年 11 月
1-56592-449-5, 注文番号: 4495
416 ページ, 34.95 ドル

ハードコピー版(英語)を購入する

目次


Previous: A.4 SSLプロキシのセットアップ Appendix A
SambaのSSL化の設定
Next: B. Samba のパフォーマンスチューニング
 

A.5 SSLの設定オプション

表 A.1 には前述したセクションでSSLを利用するために解説を行なった設定オプションの一覧がある。これらのオプションは、全て範囲がグローバルである。つまりこれらのオプションは設定ファイルの [global] セクションに記述する必要がある。


Table A.1: SSLの設定オプション

オプション

パラメータ

機能

デフォルト

範囲

ssl

真偽値

SambaでSSLを利用するかどうかを設定する

no

グローバル

ssl hosts

文字列 (アドレスのリスト)

常にSSLを利用して接続を行なうホストのリストを記述する

なし

グローバル

ssl hosts resign

文字列 (アドレスのリスト)

SSLを用いて接続することのないホストを指定する

なし

グローバル

ssl CA certDir

文字列(フルパス名)

証明書が置かれるディレクトリを指定する

なし

グローバル

ssl CA certFile

文字列 (フルパス名)

Samba 自身の全ての証明書を含むファイルを指定する

なし

グローバル

ssl server cert

文字列 (フルパス名)

サーバの証明書の位置を指定する

なし

グローバル

ssl server key

文字列(フルパス名)

サーバの秘密鍵の場所を指定する

なし

グローバル

ssl client cert

文字列(フルパス名)

クライアントの証明書の位置を指定する

なし

グローバル

ssl client key

文字列(フルパス名)

クライアントの秘密鍵の場所を指定する

なし

グローバル

ssl require clientcert

真偽値

Sambaが各クライアントに証明書の提示を要求するかどうかを指定する

no

グローバル

ssl require servercert

真偽値

サーバ側に証明書の提示を要求するかどうかを指定する

no

グローバル

ssl ciphers

文字列

プロトコルのネゴシエーション時に提示する暗号化方式を指定する

なし

グローバル

ssl version

ssl2or3, ssl3, tls1

利用するSSLのバージョンを指定する

ssl2or3

グローバル

ssl compatibility

真偽値

異なったSSLの実装との互換性を維持するかどうかを指定する

no

グローバル

A.5.1 ssl

このグローバル設定オプションは、Sambaがクライアントとの通信時にSSLを利用するかどうかを指定する。このオプションのデフォルトは noである。設定を変更するには以下のようにする:

[global]
	ssl = yes

このオプションを利用するためには、この章の前半で述べたような Windows 95/98 クライアント用のプロキシが必要である。

A.5.2 ssl hosts

このオプションは、SSLの利用を強制するホストを指定する。ホストやアドレスの指定方法は、 hosts allow hosts deny といった設定オプションと同じである。以下に一例を示す:

[global]
	ssl = yes
	ssl hosts = 192.168.220.

この場合、192.168.220 サブネット内の全てのホストとはSSLで通信を行なう必要がある。このような指定方法は、あるサブネットからインターネットのような信頼できないネットワークを経由して様々な接続が行なわれているような場合に有用である。このオプションも ssl hosts resign オプションも設定されておらず、 ssl オプションが yes の場合、Samba は全てのクライアントとSSL接続でのみ通信を行なう。

A.5.3 ssl hosts resign

このオプションはSSLモードで通信を行なわ ないホストを指定する。ホストやアドレスを指定する方法は、 hosts allow hosts deny 等の設定オプションと同じである。以下に一例を示す:

[global]
	ssl = yes
	ssl hosts resign = 160.2.310. 160.2.320.

この場合、160.2.310 か 160.2.320 サブネット内の全てのホストとは、SSLでの通信を行なわない。このオプションも ssl hosts オプションも指定されておらず、 ssl オプションが yes の場合、Samba は全てのクライアントとSSL接続でのみ通信を行なう。

A.5.4 ssl CA certDir

このオプションは、Sambaがクライアントを認証する際に用いる認証局の証明書が格納されているディレクトリを指定する。このディレクトリには、各認証局毎にこの章で前述したような名前のファイルが必要である。このディレクトリ内のその他のファイルは無視される。設定は以下のように行なう:

[global]
	ssl = yes
	ssl hosts = 192.168.220.
	ssl CA certDir = /usr/local/samba/cert

このオプションにデフォルト値はない。全ての認証局の情報を単一のファイルに格納するのであれば、このオプションを用いる代わりに ssl CA certFileオプションを用いることができる。

A.5.5 ssl CA certFile

このオプションは、Sambaがクライアントを認証する際に用いる認証局の証明書が格納されているファイルを指定する。このオプションが ssl CA certDir と異なるのは、全ての認証局の情報を格納した単一のファイルを指定する点である。利用方法の例を以下に示す:

[global]
	ssl = yes
	ssl hosts = 192.168.220.
	ssl CA certFile = /usr/local/samba/cert/certFile

このオプションのデフォルト値はない。Sambaが信頼する各認証局毎に情報を個別のファイルに格納する場合は、 ssl CA certDir オプションを用いることもできる。

A.5.6 ssl server cert

このオプションは、サーバの証明書の格納されている位置を指定する。このオプションは必須であり、サーバがSSLを用いるには、証明書が必要である。以下のように指定する:

[global]
	ssl = yes
	ssl hosts = 192.168.220.
	ssl CA certFile = /usr/local/samba/cert/certFile
	ssl server cert = /usr/local/samba/private/server.pem

このオプションにデフォルト値はない。証明書にはサーバの秘密鍵を含むことも可能な点に注意すること。

A.5.7 ssl server key

このオプションは、サーバの秘密鍵の位置を指定する。このファイルの格納されている場所には、 root以外がアクセスできないようにしておくこと。以下のように指定する:

[global]
	ssl = yes
	ssl hosts = 192.168.220.
	ssl CA certFile = /usr/local/samba/cert/certFile
	ssl server key = /usr/local/samba/private/samba.pem

このオプションにデフォルト値はない。秘密鍵は、サーバの証明書に含まれている場合もある。

A.5.8 ssl client cert

このオプションは、クライアント用の証明書の位置を指定する。この証明書は Sambaサーバが ssl require clientcert オプションを有効にしているときに利用される。この証明書は smbclientによっても利用される。以下に例を示す:

[global]
    ssl = yes
    ssl hosts = 192.168.220.
    ssl CA certFile = /usr/local/samba/cert/certFile
    ssl server cert = /usr/local/ssl/private/server.pem
    ssl client cert= /usr/local/ssl/private/clientcert.pem

このオプションにデフォルト値はない。

A.5.9 ssl client key

このオプションは、クライアントの秘密鍵の位置を指定する。このファイルの格納されている場所には、 root以外がアクセスできないようにしておくこと。以下に例を示す:

[global]
	ssl = yes
	ssl hosts = 192.168.220.
	ssl CA certDir = /usr/local/samba/cert/
	ssl server key = /usr/local/ssl/private/samba.pem
	ssl client key = /usr/local/ssl/private/clients.pem

このオプションにデフォルト値はない。このオプションはクライアントが証明書を保有している場合にのみ必要である。

A.5.10 ssl require clientcert

このオプションは、クライアントに証明書の提示を要求するかどうかを制御する。クライアントが有効な証明書を持っていて、Sambaサーバに接続する権限があるかどうかを確認する際には、 ssl CA certDir ssl CA certFile にある証明書のリストが用いられる。このオプションの値は単純な真偽値である。以下に例を示す:

[global]
	ssl = yes
	ssl hosts = 192.168.220.
	ssl CA certFile = /usr/local/samba/cert/certFile
	ssl require clientcert = yes

Sambaサーバに接続する可能性のある全てのクライアントに対して証明書を要求することを推奨したい。このオプションのデフォルト値は noである。

A.5.11 ssl require servercert

このオプションは、サーバ側に証明書の提示を要求するかどうかを制御する。これは smbclient によって利用される。このオプションは単純な真偽値である。以下に例を示す:

[global]
	ssl = yes
	ssl hosts = 192.168.220.
	ssl CA certFile = /usr/local/samba/cert/certFile
	ssl require clientcert = yes
	ssl require servercert = yes

Sambaサーバに接続する可能性のある全てのクライアントに対して証明書を要求することを推奨したいと記述した。この場合サーバの証明書自身は必要とはされないが、この状態を推奨する。このオプションのデフォルト値は noである。

A.5.12 ssl ciphers

このオプションは、SSL接続のネゴシエーション段階で決定される、接続で利用する暗号化方式を指定する。Sambaは以下の暗号化方式のいずれも利用可能である:

DEFAULT
DES-CFB-M1
NULL-MD5
RC4-MD5
EXP-RC4-MD5
RC2-CBC-MD5
EXP-RC2-CBC-MD5
IDEA-CBC-MD5
DES-CBC-MD5
DES-CBC-SHA
DES-CBC3-MD5
DES-CBC3-SHA
RC4-64-MD5
NULL

SSLプロトコルを熟知していて、特定の暗号化方式を強制する必要があるのでない限りは、このオプションは設定しないほうが良い。

A.5.13 ssl version

このグローバルオプションは、Sambaが暗号化接続を行なうときのSSLのバージョンを指定する。デフォルト値は ssl2or3であり、これはSSLプロトコルのバージョン2か3のいずれかを用いるということである。どちらを用いるかは、サーバとクライアント間でのハンドシェイク時にどのバージョンが選択されるかに依存する。しかしSambaが特定のバージョンのプロトコルのみを用いるようにしたい場合は、以下のようにして指定することができる:

[global]
	ssl version = ssl3

SSLプロトコルを熟知していて、特定の暗号化方式を強制する必要があるのでない限りは、このオプションは設定しないほうが良い。

A.5.14 ssl compatibility

このグローバルオプションは、Sambaがその他のバージョンのSSLを利用するかどうかを設定する。もっとも本書執筆時点ではその他のバージョンが存在しないため、このオプションには意味がなく、パラメータの値はデフォルトのまま空欄にしておくべきである。


Previous: A.4 SSLプロキシのセットアップ 目次 Next: B. Samba のパフォーマンスチューニング
A.4 SSLプロキシのセットアップ 書籍索引 B. Samba のパフォーマンスチューニング

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.