Wenn Sie die SSL-Kommunikation zwischen Build Forge und den Agenten aktivieren möchten, müssen Sie folgende Schritte ausführen:
Zum schnellen Implementieren und Testen von SSL können Sie die PEM-Dateien aus der Build Forge-Installation kopieren. Die Dateien befinden sich im Verzeichnis <bf-installationsverzeichns>/keystore.
Für SSL wird die Verwendung eines separaten Zertifikats für jeden Agenten empfohlen:
ssl_key_location buildForgeKey.pem
ssl_key_password kennwort
ssl_cert_location buildForgeCert.pem
ssl_ca_location buildForgeCA.pem
ssl_protocol TLSv1
ssl_cipher_group ALL
Das kennwort gilt für den Keystore buildForgeKey.pem. Wenn Sie dieses verschlüsseln möchten, finden Sie weitere Details unter Kennwörter in buildforge.conf und bfagent.conf verschlüsseln.
ssl_client_authentication true
Für diese Einstellung muss das Zertifikat der Steuerkomponente dem Zertifizierungsstellenkeystore des Agenten (buildForgeCA.pem) hinzugefügt werden. ssl_cipher_override liste_der_chiffrierwerte
gsk_ssl_key_location <root/cert SAF>
gsk_ssl_key_location /etc/key.kdb
gsk_ssl_kdb_password <password>
gsk_keyring_label <certificate label>
gsk_ssl_protocol ALL
gsk_ssl_cipher_v2 6321
gsk_ssl_cipher_v3 0906030201
gsk_ssl_client_authentication true
gsk_password_encrypt false
Verwenden Sie nur eine gsk_ssl_key_location. Sie können entweder einen SAF-Schlüsselring oder eine KDB-Datei auswählen. Ein SAF-Schlüsselring wird durch <userid>/<keyring> angegeben.
In der Konsole werden Serverdefinitionen zum Verbinden mit Agenten verwendet.
Führen Sie für jede Serverdefinition zum Verbinden mit einem Agenten, für den SSL aktiviert ist, folgende Schritte aus:
In der folgenden Prüfliste sind beim Aktivieren von SSL häufig auftretende Probleme aufgeführt:
<bf-installationsverzeichnis>/keystore/buildForgeCA.pem
BFDEBUG_SECURITY=1
cd <bf-installationsverzeichnis>/rc
./buildforge start
Die Ausgabe für die Steuerkomponente erfolgt in die Protokolldatei für die Steuerkomponente unter <bf-installationsverzeichnis>/log. activity_log bfagent.log
In
diesem Beispiel schreibt der Agent die Ausgabe in der Datei bfagent.log.
Sie können einen anderen Dateinamen angeben. Eine Steuerkomponente generiert bei der erfolgreichen Verbindung mit einem Agenten die folgende Ausgabe:
SSL_ca_file: ./keystore/buildForgeCA.pem
SSL_cert_file: ./keystore/buildForgeCert.pem
SSL_key_file: ./keystore/buildForgeKey.pem
SSL_verify_mode: 0x01
SSL_version: TLSv1
SSL_cipher_list: ALL
SSL_use_cert: 1
Making as SSL connection using socket IO::Socket::INET=GLOB(0x1e8f0f4).
SSL connection to agent.
DEBUG: .../IO/Socket/SSL.pm:1387: new ctx 80662848
DEBUG: .../IO/Socket/SSL.pm:880: dont start handshake: IO::Socket::SSL=GLOB(0x1e8f0f4)
DEBUG: .../IO/Socket/SSL.pm:284: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:327: Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:382: ssl handshake done
Socket is of type: ref(IO::Socket::SSL=GLOB(0x1e8f0f4))
ReadyLine: 202 HELLO TLS - BuildForge Agent v_VERSION_
.
Storing Agent Version [999.999.999.999-999-9999] for [08974C8E-6C3B-1014-972D-D9B2901D9F42]
cmd ping
username pbirk
encpass c1713f4a31af3f1300f7b2414a24559c4d6097e07310cf9c412e
go
Sending agent request...
Ein Agent, der normal ausgeführt wird, generiert bei der erfolgreichen Herstellung einer SSL-Verbindung die folgende Ausgabe:
[2256] main.c : 409: === NEW AGENT ===
[2256] io.c : 264: In start_SSL
[2256] io.c : 89: Key location: buildForgeKey.pem
[2256] bfpwdlocloader.c: 134: Looking for password locator: ssl_key_password_locator
[2256] bfpwdlocloader.c: 244: Looking for password for prop
ssl_key_password from bfagent.conf.
[2256] bfcryptloader.c : 202: Loading password encryption module.
[2256] bfcryptloader.c : 276: Password encryption property
password_encrypt_module is not configured.
[2256] bfcryptloader.c : 539: Password decoded.
[2256] io.c : 98: Cert location: buildForgeCert.pem
[2256] bfpwdlocloader.c: 134: Looking for password locator:
ssl_cert_password_locator
[2256] bfpwdlocloader.c: 244: Looking for password for prop
ssl_cert_password from bfagent.conf.
[2256] io.c : 153: Setting key password in default userdata.
[2256] io.c : 160: Getting private key from PEM.
[2256] io.c : 166: Checking private key from PEM.
[2256] io.c : 172: Getting CA store information.
[2256] bfpwdlocloader.c: 134: Looking for password locator:
ssl_ca_password_locator
[2256] bfpwdlocloader.c: 244: Looking for password for prop
ssl_ca_password from bfagent.conf.
[2256] io.c : 178: CA location: buildForgeCert.pem
[2256] io.c : 184: Checking the CA store.
[2256] io.c : 230: Returning from init_CTX.
[2256] io.c : 281: Calling SSL_new
[2256] io.c : 294: Calling SSL_accept.
[2256] io.c : 346: Cipher chosen: AES256-SHA
[2256] io.c : 367: ssl_state = SS_CERTIFIED
Wenn auf der Agentenseite ein falsches Keystorekennwort konfiguriert wurde, wird dies sowohl in der Ausgabe der Steuerkomponente als auch in der des Agenten angegeben.
Ausgabe der Steuerkomponente (Auszug):
SSL_use_cert: 1
Making as SSL connection using socket IO::Socket::INET=GLOB(0x1e8f0f4).
SSL connection to agent.
DEBUG: .../IO/Socket/SSL.pm:1387: new ctx 80662848
DEBUG: .../IO/Socket/SSL.pm:880: dont start handshake: IO::Socket::SSL=GLOB(0x1e8f0f4)
DEBUG: .../IO/Socket/SSL.pm:284: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:327: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:1135: SSL connect attempt failed with unknown error
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:333: fatal SSL error: SSL connect attempt failed with unknown error
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
DEBUG: .../IO/Socket/SSL.pm:1422: free ctx 80662848 open=80662848 80566656
DEBUG: .../IO/Socket/SSL.pm:1425: OK free ctx 80662848
Ausgabe des Agenten (Auszug):
[ 5272] io.c : 98: Cert location: buildForgeCert.pem
[ 5272] bfpwdlocloader.c: 134: Looking for password locator: ssl_cert_passwor
d_locator
[ 5272] bfpwdlocloader.c: 244: Looking for password for prop ssl_cert_password from bfagent.conf.
[ 5272] io.c : 153: Setting key password in default userdata.
[ 5272] io.c : 160: Getting private key from PEM.
[ 5272] io.c : 218: Failure reason: SSLErrorBadPKeyFile
[ 5272] io.c : 221: OpenSSL error string: error:00000000:lib(0):func(0):reason(0)
[ 5272] io.c : 281: Calling SSL_new
[ 5272] platform.c :2693: platform_release_credentials
[ 5272] main.c : 412: --- EXITING ---
In der folgenden Liste werden einige möglicherweise angegebene Fehlercodes und ihre Ursachen beschrieben: