====== TLS-Konfiguration für Linux ISP Clients 7.1.x und neuer ======
Es sollte keine signifikanten Unterschiede zwischen den einzelnen Distributionen geben, das nachfolgende Beispiel wurde auf einem //Debian Jessie// mit dem ISP-Client in //Version 7.1.6.5// erstellt und mit neueren Versionen bis 8.1.21 getestet.
Alle Befehle müssen als ''root'' ausgeführt werden!
===== Herunterladen des Zertifikats =====
Der in der Übersicht angegebene [[https://info.gwdg.de/docs/lib/exe/fetch.php?media=de:services:storage_services:backup:tsm:anleitungen:gwdg-tsm-ssl.zip|Link]] verweist auf eine ZIP-Datei, die für jeden Server ein Verzeichnis mit dem //self sigend certificate// enthält.
===== Prüfen der Zertifikatsdatenbank =====
Bitte prüfen, ob überhaupt eine Zertifikatsdatenbank existiert. diese liegt in der Datei
/opt/tivoli/tsm/client/ba/bin/dsmcert.kdb
\\
Falls nicht, muss diese zunächst erzeugt werden:
gsk8capicmd_64 -keydb -create -db dsmcert.kdb -pw -stash -populate
Das '''' kann beliebig gewählt werden, durch die Angabe von ''-stashed'' wird es speichert und braucht bei späteren Eingaben nicht mehr angegeben werden.
===== Hinzufügen des Zertifikats (self-signed) =====
Die Zertifikatsdatei muss über das ISP-GSKit-Tool „gsk8capicmd_64“ der lokalen Schlüssel-Datenbank hinzugefügt werden:
cd
gsk8capicmd_64 -cert -add -db dsmcert.kdb -stashed -label "" -file -format ascii
\\
Der Servername sollte hierbei dem Namen des Servers entsprechen, also z.B. SM130:
cd "/opt/tivoli/tsm/client/ba/bin"
sudo gsk8capicmd_64 -cert -add -db dsmcert.kdb -stashed -label "SM130 self signed TSM Certificate" -file ./sm130-sscert256.arm -format ascii
\\
===== Prüfen des Zertifikats =====
Nach der Installation des Zertifikats kann geprüft werden, ob dieses auch erfolgreich importiert wurde:
/opt/tivoli/tsm/client/ba/bin# sudo gsk8capicmd_64 -cert -list -db dsmcert.kdb -stashed
Certificates found
* default, - personal, ! trusted, # secret key
! "Entrust.net Secure Server Certification Authority"
! "Entrust.net Certification Authority (2048)"
! "Entrust.net Client Certification Authority"
! "Entrust.net Global Client Certification Authority"
! "Entrust.net Global Secure Server Certification Authority"
! "Entrust.net Certification Authority (2048) 29"
! "Entrust Root Certification Authority - EC1"
! "Entrust Root Certification Authority - EV"
! "Entrust Root Certification Authority - G2"
! "VeriSign Class 1 Public Primary Certification Authority"
! "VeriSign Class 2 Public Primary Certification Authority"
! "VeriSign Class 3 Public Primary Certification Authority"
! "VeriSign Class 1 Public Primary Certification Authority - G2"
! "VeriSign Class 2 Public Primary Certification Authority - G2"
! "VeriSign Class 3 Public Primary Certification Authority - G2"
! "VeriSign Class 4 Public Primary Certification Authority - G2"
! "VeriSign Class 1 Public Primary Certification Authority - G3"
! "VeriSign Class 2 Public Primary Certification Authority - G3"
! "VeriSign Class 3 Public Primary Certification Authority - G3"
! "VeriSign Class 3 Public Primary Certification Authority - G5"
! "VeriSign Class 4 Public Primary Certification Authority - G3"
! "Thawte Primary Root CA"
! "Thawte Primary Root CA - G2 ECC"
! "Thawte Server CA"
! "Thawte Premium Server CA"
! "Thawte Personal Basic CA"
! "Thawte Personal Freemail CA"
! "Thawte Personal Premium CA"
! "SM130 Server selfsigned TSM Certificate"
\\
Details über ein Zertifikat können über den Schalter ''-details'' angezeigt werden, vorzugsweise zusammen mit ''-label '' um nicht die Details zu allen Zertifikaten anzuzeigen:
/opt/tivoli/tsm/client/ba/bin# sudo gsk8capicmd_64 -cert -details -db dsmcert.kdb -stashed -label "SM130 self signed TSM Certificate"
Label : SM130 self signed TSM Certificate
Key Size : 2048
Version : X509 V3
Serial : 4a521543c52767f3
Issuer : CN=TSM Self-Signed Certificate,OU=TSM Network,O=TSM,C=US
Subject : CN=TSM Self-Signed Certificate,OU=TSM Network,O=TSM,C=US
Not Before : May 3, 2017 11:31:15 AM GMT+02:00
Not After : May 2, 2027 11:31:15 AM GMT+02:00
Public Key
30 82 01 22 30 0D 06 09 2A 86 48 86 F7 0D 01 01
01 05 00 03 82 01 0F 00 30 82 01 0A 02 82 01 01
00 AC CD 38 2F AB E4 41 DA 2B 2A FD 64 AC D9 96
0D 05 3A 8B B4 07 55 A4 86 A1 AA EF 63 41 B0 BE
F7 6E B7 71 74 83 77 B0 20 D4 50 83 93 31 2E 00
72 B9 9B 08 28 91 85 4B 33 2B 77 3A 9F 34 9A 2F
17 12 B4 6C 9C BD 2A 06 52 95 07 3C A7 16 B0 F2
CE 97 13 6D 07 7D BD 5B B5 F1 79 70 21 B7 3D C1
8A 64 B7 58 F3 96 6B 11 7B EB 97 B2 7A 34 D6 A9
41 93 6D 66 D0 0E F6 89 87 CF 35 31 C9 CD 04 42
BC 4D 53 72 D9 96 9F C7 98 0E CF 39 7A 75 18 15
AC 6E 7A DC 62 1D 49 0F 3D 3F 56 FF A8 5F CD CC
ED 5E FC 30 FC 62 B0 C7 CE 02 63 0A 0F 85 0D E2
41 90 48 10 B8 FE 29 4B A0 8E EE 25 49 9F 13 DC
45 67 17 7E 69 4B C8 A4 3D DB ED CA 05 6B A1 BF
1F 9C B8 10 7E 04 3A B4 45 7F B3 FD 05 70 4C 50
60 5A D3 9B 89 BF D9 7A 7F 89 54 8B 5C 71 A2 E3
73 D0 91 55 E6 8B D5 F2 34 A3 C5 06 33 93 47 40
9B 02 03 01 00 01
Public Key Type : RSA (1.2.840.113549.1.1.1)
Fingerprint : SHA1 :
56 1E 40 A8 7C A1 22 10 B0 15 57 32 64 CE 8E 3D
26 46 B3 0C
Fingerprint : MD5 :
36 F5 0E FD D5 53 E2 52 39 B8 1F 96 9B 10 63 40
Fingerprint : SHA256 :
EF DA F6 88 AE FC 73 83 D7 FE 3F 82 9F 24 0D E7
CA A6 7E 28 D4 67 EE 7C F9 2B 2A E5 50 01 F6 82
Extensions
SubjectKeyIdentifier
keyIdentifier:
7E CE 55 8E C4 45 83 25 92 60 03 7D B2 E6 B9 42
44 73 9D 3B
AuthorityKeyIdentifier
keyIdentifier:
7E CE 55 8E C4 45 83 25 92 60 03 7D B2 E6 B9 42
44 73 9D 3B
authorityIdentifier:
authorityCertSerialNumber:
Signature Algorithm : SHA256WithRSASignature (1.2.840.113549.1.1.11)
Value
A1 0D 06 D8 A6 71 53 CC EE 0D 81 D6 C2 C6 1C 58
91 E2 1C 47 B9 1A 0C 93 E2 DE FD D6 08 A2 C3 10
EE 73 18 0C 33 BC 0E E5 09 15 36 87 B9 4C BB 00
6B 48 E8 99 49 6E 1E 01 FF DE 48 ED 48 B4 28 5D
58 85 0A B9 87 7D 9E 07 7A 81 48 B1 04 3B 32 85
23 03 DD 6B 69 7B 74 54 08 CD 09 39 F2 67 77 05
72 FC 9C 38 73 62 B2 17 98 14 1E BE 75 8E 38 4E
7A 7F 59 57 BA 8F 81 D8 6B 0A E2 72 9D A4 87 8A
F5 B0 30 43 C8 01 E5 9A F2 91 CB 63 CC 33 41 D9
09 EA 51 C5 29 10 6A 9B 29 66 2F CC 93 3C F1 04
29 ED 29 A3 1F C1 12 42 A1 26 9F E0 D9 65 40 D1
3E 59 FF 64 B6 20 C3 47 9B 35 B6 B7 D4 09 A2 44
3C 36 C2 E0 E6 B3 B2 3F 10 E6 23 BC 8E B5 BA 59
67 FF 1B B3 A0 4A 55 28 D2 28 94 93 3E 6B B8 55
5A 3E 31 C8 FF 21 72 9F C1 18 FC 63 4E 2F CF 49
C0 3A 34 46 3A 47 86 2E 5A BF F1 69 E6 3A AA 93
Trust Status : Enabled
===== Hinzufügen des Zertifikats (DFN) =====
FIXME folgt :-)
===== Konfiguration des Clients anpassen =====
Mit SP8 und "T"rust "O"n "F"irst "U"se (TOFU) sollte dieser Schritt entfallen, der der Client selbstständig die Konfiguration ändert. SSL ist außerdem zugunsten von TLS abgelöst und die nachfolgenden Optionen sind hinfällig.
Nur der Vollständigkeit halber für Clients und SP7-Server:
In der Konfigurationsdatei ''dsm.sys'' müssen die folgenden Zeilen ergänzt werden:
SSL Yes
SSLFIPSMODE Yes
SSLREQuired Yes
SSLDISABLELEGACYtls Yes
Darüber hinaus muss die Option ''TCPPort'' auf den SSL-Port geändert werden, also ''3000'' + //Nummer der Instanz//,\\ z.B. für //SM''130''//: ''TCPPort 2130'' => ''TCPPort 3130''
FIXME nur SP7-Server haben einen SSL-Port auf 3000ff FIXME
===== Verbindung prüfen =====
Am einfachsten lässt sich die Verbindung über die ISP-CLI prüfen:
# dsmc q se -se=test130S
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
Client Version 7, Release 1, Level 6.5
Client date/time: 11/01/2018 14:37:45
(c) Copyright by IBM Corporation and other(s) 1990, 2017. All Rights Reserved.
Node Name: TEST
Session established with server SM130: Linux/x86_64
Server Version 7, Release 1, Level 7.400
Server date/time: 11/01/2018 14:37:47 Last access: 11/01/2018 14:37:18
TSM Server Connection Information
Home Server Name........: TEST130
Server Type.............: Linux/x86_64
Archive Retain Protect..: "No"
Server Version..........: Ver. 7, Rel. 1, Lev. 7.400
Last Access Date........: 11/01/2018 14:37:18
Delete Backup Files.....: "No"
Delete Archive Files....: "Yes"
Deduplication...........: "Server Only"
Node Name...............: TEST
User Name...............: root
SSL Information.........: TLSv1.2 (FIPS) AES-256-GCM
Secondary Server Information
Not configured for failover
Die Zeile ''SSL Information'' liefert Angaben zur SSL-Versschlüsselung, hier ''TLSv1.2 (FIPS) AES-256-GCM''.
Zum Vergleich die Ausgabe ohne SSL. hier fehlt die Zeile zu SSL vollständig:
# dsmc q se -se=test130
IBM Tivoli Storage Manager
Command Line Backup-Archive Client Interface
Client Version 7, Release 1, Level 6.5
Client date/time: 11/01/2018 14:43:35
(c) Copyright by IBM Corporation and other(s) 1990, 2017. All Rights Reserved.
Node Name: TEST
Session established with server SM130: Linux/x86_64
Server Version 7, Release 1, Level 7.400
Server date/time: 11/01/2018 14:43:35 Last access: 11/01/2018 14:37:47
TSM Server Connection Information
Home Server Name........: TEST130
Server Type.............: Linux/x86_64
Archive Retain Protect..: "No"
Server Version..........: Ver. 7, Rel. 1, Lev. 7.400
Last Access Date........: 11/01/2018 14:37:47
Delete Backup Files.....: "No"
Delete Archive Files....: "Yes"
Deduplication...........: "Server Only"
Node Name...............: TEST
User Name...............: root
Secondary Server Information
Not configured for failover
====== Shell-Kommandos ======
===== Herunterladen =====
Herunterladen mit ''wget''sudo wget https://info.gwdg.de/docs/lib/exe/fetch.php?media=de:services:storage_services:backup:tsm:anleitungen:gwdg-tsm-ssl.zip -O GWDG-TSM-SSL.zip
sudo unzip GWDG-TSM-SSL.zip
===== Einspielen der Zertifikate =====
* Installation des SM130-Zertifikatessudo gsk8capicmd_64 -cert -add -db dsmcert.kdb -stashed -label "SM130 self signed TSM Certificate" -file ./sm130/cert256.arm -format ascii
* Installation des SM231-Zertifikatessudo gsk8capicmd_64 -cert -add -db dsmcert.kdb -stashed -label "SM231 self signed TSM Certificate" -file ./sm231/cert256.arm -format ascii
* Installation des SM234-Zertifikatessudo gsk8capicmd_64 -cert -add -db dsmcert.kdb -stashed -label "SM234 self signed TSM Certificate" -file ./sm234/cert256.arm -format ascii
* Installation des SM283-Zertifikatessudo gsk8capicmd_64 -cert -add -db dsmcert.kdb -stashed -label "SM283 self signed TSM Certificate" -file ./sm283/cert256.arm -format ascii
* Installation des SM285-Zertifikatessudo gsk8capicmd_64 -cert -add -db dsmcert.kdb -stashed -label "SM285 self signed TSM Certificate" -file ./sm285/cert256.arm -format ascii