| ## Using Samba Robert Eckstein, David Collier-Brown, Peter Kelly 共著 第一版 1999 年 11 月 1-56592-449-5, 注文番号: 4495 416 ページ, 34.95 ドル ハードコピー版(英語)を購入する 目次

| Appendix A SambaのSSL化の設定 |

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

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.