Configurazione dei pacchetti di crittografia su host virtuali e router

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Questo documento spiega come configurare le suite di crittografia su host virtuali e router in Apigee Edge.

Una suite di crittografia è un insieme di algoritmi che contribuiscono a proteggere una connessione di rete che utilizza TLS. Il client e il server devono concordare sul pacchetto di crittografia specifico che verrà utilizzato per lo scambio di messaggi. Se il client e il server non concordano su un pacchetto di crittografia, le richieste non vanno a buon fine e vengono generati errori di handshake TLS.

In Apigee, le suite di crittografia devono essere concordate tra le applicazioni client e i router.

Puoi modificare le suite di crittografia su Apigee Edge per i seguenti motivi:

  • Per evitare che le suite di crittografia non corrispondano tra le applicazioni client e i router Apigee
  • Utilizzare suite di crittografia più sicure per correggere eventuali vulnerabilità o per una maggiore sicurezza

Le suite di crittografia possono essere configurate sugli host virtuali o sui router Apigee. Tieni presente che Apigee accetta suite di crittografia solo in formato stringhe di crittografia OpenSSL sia nell'host virtuale che nel router. La pagina manuale per la crittografia OpenSSL fornisce le suite di crittografia SSL o TLS della specifica pertinente e i relativi equivalenti OpenSSL.

Ad esempio:

Se vuoi configurare la TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 suite di crittografia nell'host virtuale o nel router Apigee, devi identificare la stringa di crittografia OpenSSL corrispondente dalla pagina di manuale per la crittografia OpenSSL. La stringa di crittografia OpenSSL per il pacchetto di crittografia TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 è ECDHE-RSA-AES128-GCM-SHA256.. Pertanto, devi utilizzare la stringa di crittografia OpenSSL ECDHE-RSA-AES128-GCM-SHA256 durante la configurazione del pacchetto di crittografia nell'host virtuale o sul router Apigee.

Prima di iniziare

Configurazione delle suite di crittografia su host virtuali

Questa sezione spiega come configurare le suite di crittografia negli host virtuali associati a un'organizzazione e a un ambiente. Le suite di crittografia possono essere configurate nell'host virtuale tramite la proprietà ssl_ciphers, che rappresenta l'elenco delle suite di crittografia supportate dall'host virtuale.

Consulta Suite di crittografia supportate per un elenco delle suite di crittografia supportate da Apigee.

Puoi configurare l'host virtuale utilizzando uno dei seguenti metodi:

  • Utilizzo dell'UI Edge
  • Utilizzo dell'API Edge

Utilizzo dell'UI Edge

Per configurare l'host virtuale utilizzando la UI Edge, segui questi passaggi:

  1. Accedi all'UI Edge.
  2. Vai ad Admin > Virtual Hosts (Amministrazione > Host virtuali).
  3. Seleziona l'ambiente in cui vuoi apportare questa modifica.
  4. Seleziona l'host virtuale specifico per il quale vuoi configurare le suite di crittografia.
  5. Nella sezione Proprietà, aggiorna il valore Ciphers con un elenco delimitato da due punti di stringhe di crittografia OpenSSL.

    Ad esempio, se vuoi consentire solo le suite di crittografia TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 e TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determina le stringhe di crittografia OpenSSL corrispondenti dalla pagina di manuale per la crittografia OpenSSL, come mostrato nella tabella seguente:

    Suite di crittografia Stringa di crittografia OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Aggiungi la stringa di crittografia OpenSSL con la separazione dei due punti, come illustrato nella figura seguente:

    Esempio di crittografie

  6. Salva la modifica.

Utilizzo dell'API Edge

Per configurare le suite di crittografia su un host virtuale utilizzando l'API Edge, segui questi passaggi:

  1. Ottieni la configurazione dell'host virtuale attuale utilizzando l'API Ottieni host virtuale, come mostrato di seguito:

    Utente del cloud pubblico:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Utente Private Cloud:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  2. Aggiungi la proprietà ssl_ciphers al payload JSON di configurazione dell'host virtuale esistente in properties con le stringhe di crittografia OpenSSL appropriate.

    Ad esempio, se vuoi consentire solo le suite di crittografia TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 e TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determina le stringhe di crittografia OpenSSL corrispondenti dalla pagina di manuale per la crittografia OpenSSL, come mostrato nella tabella seguente:

    Suite di crittografia Stringa di crittografia OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Aggiungi il seguente blocco di codice properties:

    Esempio di configurazione dell'host virtuale aggiornata:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  3. Salva la configurazione dell'host virtuale aggiornata in un file. Ad esempio, virtualhost-payload.json.
  4. Aggiorna la configurazione virtualhost con la modifica utilizzando l'API Aggiorna un host virtuale come segue:

    Utente del cloud pubblico:

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

    Utente Private Cloud:

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

Suite di crittografia supportate

Apigee supporta le seguenti suite di crittografia:

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

Verifica delle suite di crittografia su host virtuali

Questa sezione spiega come verificare che le suite di crittografia siano state modificate sull'host virtuale utilizzando l'API Edge.

  1. Esegui l'API Get virtual host per ottenere la configurazione virtualhost come mostrato di seguito:

    Utente del cloud pubblico:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Utente Private Cloud:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
  2. Verifica che per la proprietà ssl_ciphers sia stato impostato il nuovo valore.

    Esempio di configurazione dell'host virtuale aggiornata:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    

    Nell'esempio riportato sopra, tieni presente che ssl_ciphers è stato impostato con il nuovo valore.

  3. Se vedi ancora il valore precedente per ssl_ciphers, verifica di aver seguito correttamente tutti i passaggi descritti in Configurare le suite di crittografia sugli host virtuali. Se hai saltato qualche passaggio, ripeti correttamente tutti i passaggi.
  4. Se ancora non riesci ad aggiornare o aggiungere suite di crittografia all'host virtuale, contatta l'assistenza Apigee Edge.

Configurazione dei pacchetti di crittografia sui router

Questa sezione spiega come configurare i pacchetti di crittografia sui router. Le suite di crittografia possono essere configurate tramite la proprietà Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers, che rappresenta le suite di crittografia accettate separate da due punti.

Per configurare i pacchetti di crittografia sui router, segui questi passaggi:

  1. Sul computer router, apri il seguente file in un editor. Se non esiste già, crealo.

    /opt/apigee/customer/application/router.properties
    

    Ad esempio, per aprire il file con vi, inserisci quanto segue:

    vi /opt/apigee/customer/application/router.properties
    

  2. Aggiungi una riga nel seguente formato al file properties, sostituendo un valore per colon_separated_cipher_suites:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
    

    Ad esempio, se vuoi consentire solo le suite di crittografia TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 e TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, determina le stringhe di crittografia OpenSSL corrispondenti dalla pagina di manuale per la crittografia OpenSSL, come mostrato nella tabella seguente:

    Suite di crittografia Stringa di crittografia OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Quindi aggiungi la riga seguente:

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    
  3. Salva le modifiche.
  4. Assicurati che questo file delle proprietà sia di proprietà dell'utente apigee, come mostrato di seguito:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  5. Riavvia il router come mostrato di seguito:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  6. Se disponi di più router, ripeti i passaggi precedenti su tutti i router.

Verifica del pacchetto di crittografia sui router

Questa sezione spiega come verificare che le suite di crittografia siano state modificate sui router.

  1. Sul router, cerca la proprietà conf_load_balancing_load.balancing.driver.server.ssl.ciphers utilizzando l'utilità di ricerca Apigee dalla cartella /opt/apigee e controlla se è stata impostata con il nuovo valore come segue:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
    
  2. Se le nuove suite di crittografia sono state impostate correttamente sul router, il comando riportato sopra mostra i nuovi valori.

    Di seguito è riportato l'esempio di risultato del comando search riportato sopra quando le suite di crittografia sono state aggiornate a DHE-RSA-AES128-GCM-SHA256 e ECDHE-RSA-AES128-GCM-SHA256:

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties
    

    Nell'output di esempio riportato sopra, puoi notare che la proprietà conf_load_balancing_load.balancing.driver.server.ssl.ciphers è stata impostata con i nuovi valori del pacchetto di crittografia. Questo indica che il pacchetto di crittografia è stato aggiornato correttamente alle stringhe di crittografia OpenSSL DHE-RSA-AES128-GCM-SHA25e ECDHE-RSA-AES128-GCM-SHA256 sul router.

  3. Se vedi ancora i valori precedenti per le suite di crittografia conf_load_balancing_load.balancing.driver.server.ssl.ciphers, verifica di aver seguito correttamente tutti i passaggi descritti in Configurare le suite di crittografia sui router. Se hai saltato qualche passaggio, ripeti correttamente tutti i passaggi.
  4. Se ancora non riesci a modificare le suite di crittografia sui router, contatta l'assistenza Apigee Edge.