Using SambaRobert Eckstein, David Collier-Brown, Peter Kelly1st Edition November 1999 1-56592-449-5, Order Number: 4495 416 pages, $34.95 |
A.5 SSL Konfigurationsmöglichkeiten
Tabelle A.1 stellt die Konfigurationsoptionen zusammen, die im vorigen Abschnitt über die Benützung von SSL vorgestellt wurden. Beachte, dass all diese Optionen im globalen Bereich liegen; mit anderen Worten, sie müssen in der Sektion
[global]
der Konfigurationsdatei aufscheinen.
Tabelle A.1: SSL Konfigurationsmöglichkeiten Option
Parameter
Funktion
Vorgabe
Bereich
ssl
boolean
Zeigt, ob der SSL-Modus bei Samba erlaubt ist.
no
Global
ssl hosts
string (Adressenliste)
Nennt eine Liste von Hosts, die sich immer unter Verwendung von SSL verbinden müssen.
Keine
Global
ssl hosts resign
string (Adressenliste)
Nennt eine Liste von Hosts, die sich nie unter Verwendung von SSL verbinden.
Keine
Global
ssl CA certDir
string (voller Pfadname)
Bezeichnet das Verzeichnis, wo die Zertifikate gespeichert werden.
Keine
Global
ssl CA certFile
string (voller Pfadname)
Bezeichnet eine Datei, die alle Zertifikate für Samba enthält.
Keine
Global
ssl server cert
string (voller Pfadname)
Bezeichnet den Ort des Server-Zertifikats.
Keine
Global
ssl server key
string (voller Pfadname)
Bezeichnet den Ort des privaten Keys des Servers.
Keine
Global
ssl client cert
string (voller Pfadname)
Bezeichnet den Ort des Client-Zertifikats.
Keine
Global
ssl client key
string (voller Pfadname)
Bezeichnet den Ort des privaten Keys des Clients.
Keine
Global
ssl require clientcert
boolean
Zeigt, ob Samba von jedem Client ein Zertifikat fordern sollte.
no
Global
ssl require servercert
boolean
Zeigt, ob der Server selbst ein Zertifikat haben sollte.
no
Global
ssl ciphers
String
Bezeichnet die Code-Suite, die während der Protokoll-Verhandlung verwendet wird.
Keine
Global
ssl version
ssl2or3
,ssl3
odertls1
Bezeichnet die zu verwendende Version von SSL.
ssl2or3
Global
ssl compatibility
boolean
Zeigt, ob die Kompatibilität mit anderen Implementationen von SSL aktiviert werden sollte.
no
Global
A.5.1 ssl
Diese globale Option konfiguriert Samba für die Verwendung von SSL für die Kommunikation zwischen sich und den Clients. Der Vorgabewert dieser Option ist
no
. Du kannst ihn verändern wie folgt:[global] ssl = yesBeachte, dass du einen Proxy für Windows 95/98-Clients haben musst, um diese Option zu nützen, wie in dem früher in diesem Kapitel vorgestellten Modell.
A.5.2 ssl hosts
Diese Option bezeichnet die Hosts, die zur Verwendung von SSL gezwungen werden. Die Syntax für die Bezeichnung der Hosts und Adressen ist dieselbe wie bei den Konfigurations-Optionen
hosts
allow
undhosts
deny
. Zum Beispiel:[global] ssl = yes ssl hosts = 192.168.220.Dieses Beispiel legt fest, dass alle Hosts, die in das Subnetz 192.168.220 fallen, SSL-Verbindungen mit dem Client verwenden müssen. Dieser Typ von Struktur ist brauchbar, wenn du weißt, dass verschiedene Verbindungen von einem Subnetz gemacht werden, das über einem unzuverlässigen Netzwerk wie dem Internet liegt. Wenn weder diese Option noch die Option
ssl
hosts
resign
festgelegt wurde undssl
aufyes
gesetzt ist, erlaubt Samba nur SSL-Verbindungen von allen Clients.A.5.3 ssl hosts resign
Diese Option bezeichnet die Hosts, die nicht in den SSL-Modus gezwungen werden. Die Syntax für die Bezeichnung der Hosts und Adressen ist dieselbe wie bei den Konfigurations-Optionen
hosts
allow
undhosts
deny
. Zum Beispiel:[global] ssl = yes ssl hosts resign = 160.2.310. 160.2.320.Dieses Beispiel legt fest, dass alle Hosts, die in die Subnetze 160.2.310 oder 160.2.320 fallen, keine SSL-Verbindungen mit dem Client verwenden. Wenn weder diese Option noch die Option
ssl
hosts
festgelegt wurde undssl
aufyes
gesetzt ist, erlaubt Samba nur SSL-Verbindungen von allen Clients.A.5.4 ssl CA certDir
Diese Option bezeichnet das Verzeichnis, das die Zertifikate der Certificate Authority enthält, die Samba zur Authentifizierung der Clients verwendet. Es muss für jede Certificate Authority eine Datei in diesem Verzeichnis geben, benannt wie früher in diesem Kapitel beschrieben. Alle anderen Dateien in diesem Verzeichnis werden ignoriert. Zum Beispiel:
[global] ssl = yes ssl hosts = 192.168.220. ssl CA certDir = /usr/local/samba/certEs gibt keine Vorgabe für diese Option. Du kannst alternativ die Option
ssl
CA
certFile
verwenden, wenn du die ganze Certificate Authority-Information in dieselbe Datei stellen willst.A.5.5 ssl CA certFile
Diese Option bezeichnet eine Datei, welche die Zertifikate der Certificate Authority enthält, die Samba zur Authentifizierung der Clients verwendet. Diese Option unterscheidet sich von
ssl
CA
certDir
darin, dass es nur eine Datei gibt, die für alle Certificate Authorities benützt wird. Ein Beispiel für ihre Verwendung folgt:[global] ssl = yes ssl hosts = 192.168.220. ssl CA certFile = /usr/local/samba/cert/certFileEs gibt keine Vorgabe für diese Option. Du kannst auch die Option
ssl
CA
certDir
verwenden, wenn du für jede Certificate Authority, der Samba vertraut, eine eigene Datei haben willst.A.5.6 ssl server cert
Diese Option bezeichnet den Ort des Zertifikats des Servers. Diese Option ist verpflichtend; der Server muss ein Zertifikat besitzen, um SSL zu benützen. Zum Beispiel:
[global] ssl = yes ssl hosts = 192.168.220. ssl CA certFile = /usr/local/samba/cert/certFile ssl server cert = /usr/local/samba/private/server.pemEs gibt keine Vorgabe für diese Option. Beachte, dass das Zertifikat den privaten Key für den Server enthalten könnte.
A.5.7 ssl server key
Diese Option bezeichnet den Ort des privaten Keys des Servers. Du solltest sichergehen, dass auf den Standort der Datei von niemand anderem als
root
zugegriffen werden kann. Zum Beispiel:[global] ssl = yes ssl hosts = 192.168.220. ssl CA certFile = /usr/local/samba/cert/certFile ssl server key = /usr/local/samba/private/samba.pemEs gibt keine Vorgabe für diese Option. Beachte, dass der privaten Key im Zertifikat für den Server enthalten sein könnte.
A.5.8 ssl client cert
Diese Option bezeichnet den Ort des Zertifikats des Clients. Das Zertifikat könnte durch den Sambaserver mit der Option
ssl
require
clientcert
angefordert werden; das Zertifikat wird auch von smbclient benützt. Zum Beispiel:[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.pemEs gibt keine Vorgabe für diese Option.
A.5.9 ssl client key
Diese Option bezeichnet den Ort des privaten Keys des Clients. Du solltest sichergehen, dass auf den Standort der Datei von niemand anderem als
root
zugegriffen werden kann. Zum Beispiel:[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.pemEs gibt keine Vorgabe für diese Option. Diese Option wird nur gebraucht, wenn der Client ein Zertifikat besitzt.
A.5.10 ssl require clientcert
Diese Option legt fest, ob vom Client verlangt wird, ein Zertifikat zu besitzen. Die entweder bei
ssl
CA
certDir
oder beissl
CA
certFile
angeführten Zertifikate werden gesucht, um zu bestätigen, dass der Client ein gültiges Zertifikat besitzt und berechtigt ist, sich mit dem Server zu verbinden. Der Wert dieser Option ist ein einfaches Boolean. Zum Beispiel:[global] ssl = yes ssl hosts = 192.168.220. ssl CA certFile = /usr/local/samba/cert/certFile ssl require clientcert = yesWir empfehlen, dass du Zertifikate von allen Clients verlangst, die sich mit dem Sambaserver verbinden könnten. Der Vorgabewert dieser Option ist
no
.A.5.11 ssl require servercert
Diese Option legt fest, ob vom Server verlangt wird, ein Zertifikat zu besitzen. Auch dieses wird vom Programm smbclient benützt. Der Wert dieser Option ist ein einfaches Boolean. Zum Beispiel:
[global] ssl = yes ssl hosts = 192.168.220. ssl CA certFile = /usr/local/samba/cert/certFile ssl require clientcert = yes ssl require servercert = yesObwohl wir empfehlen, dass du Zertifikate von allen Clients verlangst, die sich mit dem Sambaserver verbinden könnten, ist ein Server-Zertifikat nicht erforderlich. Es wird, wie auch immer, empfohlen. Der Vorgabewert dieser Option ist
no
.A.5.12 ssl ciphers
Diese Option setzt die Codes, über die SSL während der Verhandlungsphase der SSL-Verbindung entscheidet. Samba kann irgendeinen der folgenden Codes benützen:
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 NULLDas Beste ist, diese Option nicht zu setzen, außer du bist mit dem SSL-Protokoll vertraut und willst eine bestimmte Code-Suite beauftragen.
A.5.13 ssl version
Diese globale Option bezeichnet die Version von SSL, die Samba beim Umgang mit verschlüsselten Verbindungen verwendet. Der Vorgabewert ist
ssl2or3
, was vorschreibt, dass entweder Version 2 oder 3 des SSL-Protokolls verwendet werden kann, abhängig davon, über welche Version im Handshake zwischen Server und Client verhandelt wird. Wenn du jedoch willst, dass Samba nur eine bestimmte Version des Protokolls benützt, kannst du das Folgende festlegen:[global] ssl version = ssl3Wir sagen es noch einmal, es ist das Beste, diese Option nicht zu setzen, außer du bist mit dem SSL-Protokoll vertraut und willst eine bestimmte Version beauftragen.
A.5.14 ssl compatibility
Diese globale Option legt fest, ob Samba konfiguriert werden sollte, andere Versionen von SSL zu verwenden. Weil nun keine anderen Versionen in diesem Buch existieren, ist die Angelegenheit fraglich, und die Variable sollte immer auf der Vorgabe belassen bleiben.
© 1999, O'Reilly & Associates, Inc.