Die Einrichtung der Verschlüsselung mit S/MIME scheint auf den ersten Blick ein bisschen komplizierter als die PGP-Einrichtung zu sein, da für das OTRS-System erst einmal eine Certification Authority (CA) eingerichtet werden muss. Ansonsten ist das Vorgehen ähnlich wie bei PGP, OTRS konfigurieren, eigenes Zertifikat einrichten, ggf. fremde Public-Zertifikate importieren, usw.
Die S/MIME-Konfiguration geschieht zu einem großen Teil
außerhalb der OTRS-Web-Oberfläche und sollte als otrs-Benutzer (bzw. als
der Benutzer mit dessen Rechten OTRS läuft) in einer Shell durchgeführt
werden. Da die MIME-Konfiguration unter Linux im wesentlichen
auf SSL (openssl basiert, sollte zuerst
sichergestellt werden, dass das openssl-Paket
installiert ist. Mit dem openssl-Paket kommt ein
Skript, CA.pl, mit welchem die wichtigsten Schritte zur
Zertifikatserstellung bewältigt werden können. Damit dieser Vorgang
einfacher wird, sollte zuerst herausgefunden werden, wo sich das Skript
CA.pl im Dateisystem befindet. Danach sollte
diese Stelle der Einfachheit halber temporär in den Suchpfad der Shell
übernommen werden.
otrs@linux:~> rpm -ql openssl | grep CA /usr/share/ssl/misc/CA.pl otrs@linux:~> export PATH=$PATH:/usr/share/ssl/misc otrs@linux:~> which CA.pl /usr/share/ssl/misc/CA.pl otrs@linux:~> mkdir tmp; cd tmp otrs@linux:~/tmp>
Im Beispiel sieht man auch, dass ein temporäres Verzeichnis
~/tmp angelegt wurde, in welchem die
Zertifikatsgenerierung durchgeführt wird.
Im einzelnen sind zur Zertifikatserzeugung folgende Schritte durchzuführen, die einzelnen Schritte sind in der Kommandozeile auszuführen. Sollte ein beglaubigtes SSL-Zertifikat für die Verschlüsselung bereits vorhanden sein, so sollte natürlich dieses verwendet werden. Dann können die nun folgenden Schritte übersprungen werden. Der beschriebene Ablauf geht davon aus, dass der OTRS-Administrator sich das SSL-Zertifikat zu Test- und Lernzwecken selbst anlegen muss.
Anlegen einer eigenen Certification Authority für SSL. Diese wird benötigt, um die Anfrage für ein eigenes SSL-Zertifikat zu beglaubigen.
otrs@linux:~/tmp> CA.pl -newca
CA certificate filename (or enter to create)
Making CA certificate ...
Generating a 1024 bit RSA private key
...++++++
......++++++
writing new private key to './demoCA/private/cakey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:OTRS-state
Locality Name (eg, city) []:OTRS-town
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Your company
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:OTRS Admin
Email Address []:otrs@your-domain.tld
otrs@linux:~/tmp> ls -la demoCA/
total 8
-rw-r--r-- 1 otrs otrs 1330 2006-01-08 17:54 cacert.pem
drwxr-xr-x 2 otrs otrs 48 2006-01-08 17:53 certs
drwxr-xr-x 2 otrs otrs 48 2006-01-08 17:53 crl
-rw-r--r-- 1 otrs otrs 0 2006-01-08 17:53 index.txt
drwxr-xr-x 2 otrs otrs 48 2006-01-08 17:53 newcerts
drwxr-xr-x 2 otrs otrs 80 2006-01-08 17:54 private
-rw-r--r-- 1 otrs otrs 17 2006-01-08 17:54 serial
otrs@linux:~/tmp>
Erzeugen der Zertifikatsanfrage.
otrs@linux:~/tmp> CA.pl -newreq
Generating a 1024 bit RSA private key
..........................................++++++
....++++++
writing new private key to 'newreq.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE\keyreturn
State or Province Name (full name) [Some-State]:OTRS-state
Locality Name (eg, city) []:OTRS-town
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Your company
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:OTRS admin
Email Address []:otrs@your-domain.tld
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Request (and private key) is in newreq.pem
otrs@linux:~/tmp> ls -la
total 4
drwxr-xr-x 6 otrs otrs 232 2006-01-08 17:54 demoCA
-rw-r--r-- 1 otrs otrs 1708 2006-01-08 18:04 newreq.pem
otrs@linux:~/tmp>
Die Zertifikatsanfrage durch die CA signieren lassen. Die Zertifikatsanfrage kann entweder durch die selbst angelegte CA signiert (= beglaubigt) werden. Allerdings ist es natürlich seriöser, wenn das eigene SSL-Zertifikat von einer fremden, externen und ihrerseits beglaubigten CA beglaubigt wird.
otrs@linux:~/tmp> CA.pl -signreq
Using configuration from /etc/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number:
fd:85:f6:9f:14:07:16:c8
Validity
Not Before: Jan 8 17:04:37 2006 GMT
Not After : Jan 8 17:04:37 2007 GMT
Subject:
countryName = DE
stateOrProvinceName = OTRS-state
localityName = OTRS-town
organizationName = Your Company
commonName = OTRS administrator
emailAddress = otrs@your-domain.tld
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
01:D9:1E:58:C0:6D:BF:27:ED:37:34:14:D6:04:AC:C4:64:98:7A:22
X509v3 Authority Key Identifier:
keyid:10:4D:8D:4C:93:FD:2C:AA:9A:B3:26:80:6B:F5:D5:31:E2:8E:DB:A8
DirName:/C=DE/ST=OTRS-state/L=OTRS-town/O=Your Company/
CN=OTRS admin/emailAddress=otrs@your-domain.tld
serial:FD:85:F6:9F:14:07:16:C7
Certificate is to be certified until Jan 8 17:04:37 2007 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Signed certificate is in newcert.pem
otrs@linux:~/tmp>
Mit der signierten Zertifikatsanfrage das eigene Zertifikat und alle dazugehörigen Dateien erzeugen.
otrs@linux:~/tmp> CA.pl -pkcs12 "OTRS Certificate"
Enter pass phrase for newreq.pem:
Enter Export Password:
Verifying - Enter Export Password:
otrs@linux:~/tmp> ls -la
total 12
drwxr-xr-x 6 otrs otrs 328 2006-01-08 18:04 demoCA
-rw-r--r-- 1 otrs otrs 3090 2006-01-08 18:13 newcert.p12
-rw-r--r-- 1 otrs otrs 3791 2006-01-08 18:04 newcert.pem
-rw-r--r-- 1 otrs otrs 1708 2006-01-08 18:04 newreq.pem
otrs@linux:~/tmp>
Nach der Durchführung dieser Schritte ist es notwendig die Einrichtung von S/MIME in OTRS abzuschließen.
Die OTRS-seitige Einrichtung erfolgt aus dem Admin-Bereich, Block System über den Punkt "SMIME" . Falls die generelle S/MIME-Unterstützung in OTRS noch nicht aktiviert wurde, weist die Maske den OTRS-Administrator beim Aufruf darauf hin und bietet einen bequemen Link zur Einrichtung.
Über die SysConfig kann die generelle S/MIME-Unterstützung eingeschaltet und konfiguriert werden. Diese Einrichtung findet man unter der SysConfig-Gruppe "Crypt::SMIME".
Neben einem ``Ein-Schalter'' für die S/MIME-Unterstützung können hier die Pfade zum openssl-Befehl , als auch das Verzeichnis mit den Zertifikaten eingestellt werden. Dies bedeutet insbesondere, dass die zu Beginn dieses Abschnitts erzeugten Schlüsseldatei in den hier angegebenen Verzeichnissen liegen müssen, um von OpenSSL verwendet werden zu können.
Im nächsten Schritt geht es (zurück) zur S/MIME-Konfiguration im Admin-Bereich. Dort können nun sowohl der private Schlüssel(Key) bzw. die privaten Schlüssel des OTRS-Systems, als auch die öffentlichen Schlüssel anderer Kommunikationspartner ins System importiert werden. Tragen Sie hier den öffentlichen Schlüssel ein, der zu Beginn dieses Abschnitts erzeugt und dann in OTRS hinzugefügt wurde.
Selbstverständlich können aber auch alle öffentlichen S/MIME-Schlüssel der Kommunikationspartner über das Modul zur Kundenverwaltung beim anlegen/bearbeiten der jeweiligen Person, in das System importiert werden.