Condividi tramite


Configurazione SSL

Abilitazione di SSL

È possibile abilitare SSL modificando il file cycle_server.properties trovato nella directory di installazione di CycleCloud. Aprire il file cycle_server.properties con un editor di testo e impostare i valori seguenti in modo appropriato:

# True if SSL is enabled
webServerEnableHttps=true
webServerRedirectHttp=true

Importante

Si noti che quando si modifica il file cycle_server.properties , è importante cercare prima le definizioni di keyvalue preesistenti nel file. Se è presente più di una definizione, l'ultima è effettiva.

La porta SSL predefinita per CycleCloud è la porta 8443. Se si desidera eseguire comunicazioni Web crittografate in alcune altre porte, è possibile modificare la webServerSslPort proprietà sul nuovo valore della porta. Assicurarsi che webServerSslPort e i webServerPort valori NON SIANO IN CONFLITTO.

Dopo aver modificato il file cycle_server.properties , è necessario riavviare CycleCloud per attivare il canale di comunicazione crittografato:

/opt/cycle_server/cycle_server restart

Supponendo che non sia stata modificata la porta SSL per CycleCloud durante la configurazione per le comunicazioni crittografate, è ora possibile passare a http://<my CycleCloud address>:8443/ per verificare la connessione SSL.

Nota

Se l'URL HTTPS non funziona, selezionare <CycleCloud Home>/logs/catalina.err e <CycleCloud Home>/logs/cycle_server.log per i messaggi di errore che potrebbero indicare perché il canale crittografato non risponde.

Self-Generated certificati

Se non si dispone di un certificato da un'autorità di certificazione (CA), ad esempio VeriSign, è possibile usare il certificato autofirmato generato automaticamente fornito con Azure CycleCloud. Si tratta di un modo rapido per iniziare a usare SSL senza costi, ma la maggior parte dei web browser visualizzerà un avviso che indica che un'autorità attendibile non ha verificato che il certificato usato per crittografare il canale. Per alcuni casi, ad esempio le distribuzioni interne di CycleCloud nelle reti sicure, è accettabile. Gli utenti dovranno aggiungere un'eccezione al browser per visualizzare il sito, ma il contenuto e la sessione verranno altrimenti crittografati come previsto.

Avviso

Il certificato autofirmato di Azure CycleCloud ha una durata di conservazione abbreviata. Al termine, i browser emetteranno nuovamente l'avviso sui certificati SSL non attendibili. Gli utenti dovranno accettarli in modo esplicito per visualizzare la console Web.

Uso di Let's Encrypt

CycleCloud supporta i certificati di Let's Encrypt. Per usare Let's Encrypt with CycleCloud, è necessario:

  • abilitare SSL sulla porta 443
  • assicurarsi che CycleCloud sia raggiungibile pubblicamente sulla porta 443 con un nome di dominio esterno

È possibile abilitare il supporto di Let's Encrypt con l'opzione "SSL" nella pagina delle impostazioni oppure eseguendo cycle_server keystore automatic DOMAIN_NAME dal computer CycleCloud.

Uso dei certificati CA-Generated

L'uso di un certificato generato dalla CA consentirà l'accesso Web all'installazione di CycleCloud senza visualizzare l'errore del certificato attendibile. Per avviare il processo, eseguire prima di tutto:

./cycle_server keystore create_request <FQDN>

Verrà chiesto di specificare un nome di dominio, ovvero il campo "Nome comune" nel certificato firmato. Verrà generato un nuovo certificato autofirmato per il dominio specificato e scriverà un file cycle_server.csr. È necessario fornire la CSR a un'autorità di certificazione e fornire il certificato firmato finale (che verrà definito server.crt di seguito). Saranno necessari anche i certificati radice e quelli intermedi usati nella catena tra il nuovo certificato e il certificato radice. La CA deve fornire queste informazioni. Se sono stati forniti in bundle come singolo file di certificato, è possibile importarli con il comando seguente:

./cycle_server keystore import server.crt

Se hanno fornito più file di certificato, è necessario importarli tutti contemporaneamente aggiungendo i nomi allo stesso comando, separati da spazi:

./cycle_server keystore import server.crt ca_cert_chain.crt

Importare certificati esistenti

Se in precedenza è stato creato un certificato CA o autofirmato, è possibile aggiornare CycleCloud per usarlo con il comando seguente:

./cycle_server keystore update server.crt

Se si vuole importare un file PFX, è possibile farlo con il comando seguente in CycleCloud 7.9.7 o versione successiva:

./cycle_server keystore import_pfx server.pfx --pass PASSWORD

Si noti che il file PFX può contenere solo una voce.

Infine, se si apportano modifiche all'archivio chiavi all'esterno di questi comandi, è possibile ricaricare immediatamente l'archivio chiavi in CycleCloud 7.9.7 o versione successiva:

./cycle_server keystore reconfig

Configurazione di CycleCloud per l'uso di HTTPS nativo

Per impostazione predefinita, Azure CycleCloud è configurato per usare l'implementazione HTTPS Java IO standard. Questa impostazione predefinita funziona bene su tutte le piattaforme supportate.

Per migliorare le prestazioni durante l'esecuzione nelle piattaforme Linux, CycleCloud può essere configurato facoltativamente per usare l'implementazione di Tomcat Native HTTPS.

Per abilitare Native HTTPS in Linux, aggiungere gli webServerEnableHttps attributi e webServerUseNativeHttps al file cycle_server.properties . Aprire cycle_server.properties con un editor di testo e impostare i valori seguenti:

# Turn on HTTPS
webServerEnableHttps = true

# Use Native HTTPS connector
webServerUseNativeHttps = true

Compatibilità con le versioni precedenti per TLS 1.0 e 1.1

Per impostazione predefinita, i connettori HTTPS Java e Native verranno configurati per usare solo il protocollo TLS 1.2. Se è necessario offrire protocolli TLS 1.0 o 1.1 per i client Web meno recenti, è possibile acconsentire esplicitamente per la compatibilità con le versioni precedenti.

Aprire cycle_server.properties con un editor di testo e cercare l'attributo sslEnabledProtocols :

sslEnabledProtocols="TLSv1.2"

Modificare l'attributo in un + elenco delimitato di protocolli che si desidera supportare.

sslEnabledProtocols="TLSv1.0+TLSv1.1+TLSv1.2"

Disattivazione delle comunicazioni non crittografate

L'installazione precedente consente di eseguire connessioni HTTP non crittografate, ma vengono reindirizzate a HTTPS per la sicurezza. È possibile impedire l'accesso non crittografato all'installazione di CycleCloud. Per disattivare le comunicazioni non crittografate, aprire il file cycle_server.properties in un editor di testo. Cercare la webServerEnableHttp proprietà e modificarla in:

# HTTP
webServerEnableHttp=false

Salvare le modifiche e riavviare CycleCloud. L'accesso HTTP a CycleCloud sarà disabilitato.