Show Menu
TOPICS×

Utilizzo di SSL con Dispatcher

Utilizzate le connessioni SSL tra il dispatcher e il computer di rendering:
Le operazioni relative ai certificati SSL sono associate a prodotti di terze parti. Non sono coperti dal contratto Adobe Platinum Maintenance and Support.

Usa SSL quando il dispatcher si connette ad AEM

Configurate il dispatcher per comunicare con l’istanza di rendering AEM o CQ tramite connessioni SSL.
Prima di configurare il dispatcher, configurate AEM o CQ per l’utilizzo di SSL:

Configurazione del dispatcher per l'utilizzo di SSL

Per configurare il dispatcher per la connessione con AEM o CQ tramite SSL, il dispatcher.any file richiede le seguenti proprietà:
  • Un host virtuale che gestisce le richieste HTTPS.
  • La
    renders
    sezione dell'host virtuale include un elemento che identifica il nome host e la porta dell'istanza CQ o AEM che utilizza HTTPS.
  • La
    renders
    voce include una proprietà denominata
    secure
    of value
    1
    .
Nota: Se necessario, create un altro host virtuale per la gestione delle richieste HTTP.
Il seguente file dispatcher.any di esempio mostra i valori delle proprietà per la connessione mediante HTTPS a un'istanza CQ in esecuzione su host
localhost
e porta
8443
:
/farms { /secure { /virtualhosts { # select this farm for all incoming HTTPS requestss "https://*" } /renders { /0001 { # hostname or IP of the render /hostname "localhost" # port of the render /port "8443" # connect via HTTPS /secure "1" } } # the rest of the properties are omitted } /non-secure { /virtualhosts { # select this farm for all incoming HTTP requests "https://*" } /renders { /0001 { # hostname or IP of the render /hostname "localhost" # port of the render /port "4503" } } # the rest of the properties are omitted }

Configurazione di SSL reciproco tra il dispatcher e AEM

Configurate le connessioni tra il dispatcher e il computer di rendering (in genere un’istanza di pubblicazione AEM o CQ) per utilizzare SSL reciproco:
  • Il dispatcher si connette all’istanza di rendering tramite SSL.
  • L'istanza di rendering verifica la validità del certificato del dispatcher.
  • Dispatcher verifica che la CA del certificato dell'istanza di rendering sia attendibile.
  • (Facoltativo) Il dispatcher verifica che il certificato dell'istanza di rendering corrisponda all'indirizzo del server dell'istanza di rendering.
Per configurare SSL reciproco, è necessario disporre di certificati firmati da un'autorità di certificazione (CA) affidabile. I certificati autofirmati non sono adeguati. È possibile agire come CA o utilizzare i servizi di una CA di terze parti per firmare i certificati. Per configurare SSL reciproco, sono necessari i seguenti elementi:
  • Certificati firmati per l’istanza di rendering e il dispatcher
  • Certificato CA (se si agisce come CA)
  • Librerie OpenSSL per la generazione di CA, certificati e richieste di certificati.
Per configurare SSL reciproco, effettuate le seguenti operazioni:
  1. Installa la versione più recente del dispatcher per la tua piattaforma. Utilizzate un file binario del dispatcher che supporta SSL (SSL si trova nel nome file, ad esempio dispatcher-apache2.4-linux-x86-64-ssl10-4.1.7.tar).
  2. Create o ottenete un certificato con firma CA per Dispatcher e l’istanza di rendering.
  3. Create un archivio di chiavi contenente il certificato di rendering e configurate il servizio HTTP del rendering per utilizzarlo.
  4. Configurare il modulo del server Web del dispatcher per SSL reciproco.

Creazione o ottenimento di certificati con firma CA

Create o ottenete i certificati con firma CA che autenticano l’istanza di pubblicazione e il dispatcher.

Creazione di un CA

Se si agisce come CA, utilizzare OpenSSL per creare l'Autorità di certificazione che firma i certificati server e client. È necessario che siano installate le librerie OpenSSL. Se si utilizza una CA di terze parti, non eseguire questa procedura.
  1. Aprite un terminale e modificate la directory corrente nella directory che contiene il file CA.sh, ad esempio
    /usr/local/ssl/misc
    .
  2. Per creare la CA, immettete il comando seguente e fornite i valori quando richiesto:
    ./CA.sh -newca
    Diverse proprietà nel file openssl.cnf controllano il comportamento dello script CA.sh. È necessario modificare il file come necessario prima di creare la CA.

Creazione dei certificati

Utilizzate OpenSSL per creare le richieste di certificato da inviare alla CA di terze parti o per accedere con la CA.
Quando create un certificato, OpenSSL utilizza la proprietà Nome comune per identificare il titolare del certificato. Per il certificato dell'istanza di rendering, usate il nome host del computer dell'istanza come Nome comune se state configurando Dispatcher per accettare il certificato solo se corrisponde al nome host dell'istanza Publish. (See the DispatcherCheckPeerCN property.)
  1. Aprite un terminale e passate alla directory che contiene il file CH.sh delle librerie OpenSSL.
  2. Inserite il comando seguente e fornite i valori quando richiesto. Se necessario, usate il nome host dell’istanza pubblicata come Nome comune. Il nome host è il nome risolvibile DNS per l'indirizzo IP del rendering:
    ./CA.sh -newreq
    Se utilizzi una CA di terze parti, invia il file newreq.pem alla CA per firmare. Se si agisce come CA, continuare a fare il punto 3.
  3. Digitate il comando seguente per firmare il certificato utilizzando il certificato della CA:
    ./CA.sh -sign
    Nella directory che contiene i file di gestione CA vengono creati due file denominati newcert.pem e newkey.pem. Si tratta rispettivamente del certificato pubblico e della chiave privata per il computer di rendering.
  4. Rinominare newcert.pem in rendercert.pem e rinominare newkey.pem in renderkey.pem.
  5. Ripetere i passaggi 2 e 3 per creare un nuovo certificato e una nuova chiave pubblica per il modulo Dispatcher. Assicurarsi di utilizzare un Nome comune specifico per l'istanza Dispatcher.
  6. Rinominare newcert.pem in discert.pem e rinominare newkey.pem in display.pem.

Configurazione di SSL nel computer di rendering

Configurate SSL nell’istanza di rendering utilizzando i file rendercert.pem e renderkey.pem.

Conversione del certificato di rendering in formato JKS

Usate il seguente comando per convertire il certificato di rendering, che è un file PEM, in un file PKCS#12. Includete anche il certificato della CA che ha firmato il certificato di rendering:
  1. In una finestra del terminale, modificate la directory corrente nella posizione del certificato di rendering e della chiave privata.
  2. Digitate il seguente comando per convertire il certificato di rendering, che è un file PEM, in un file PKCS#12. Includete anche il certificato della CA che ha firmato il certificato di rendering:
    openssl pkcs12 -export -in rendercert.pem -inkey renderkey.pem -certfile demoCA/cacert.pem -out rendercert.p12
  3. Digitate il comando seguente per convertire il file PKCS#12 in formato Java KeyStore (JKS):
    keytool -importkeystore -srckeystore servercert.p12 -srcstoretype pkcs12 -destkeystore render.keystore
  4. Java Keystore viene creato utilizzando un alias predefinito. Se necessario, modificate l’alias:
    keytool -changealias -alias 1 -destalias jettyhttp -keystore render.keystore

Aggiunta del certificato CA al TrustStore del rendering

Se fungi da CA, importa il certificato CA in un archivio chiavi. Quindi, configurate la JVM che esegue l'istanza di rendering in modo da rendere affidabile l'archivio chiavi.
  1. Usate un editor di testo per aprire il file cacert.pem e rimuovere tutto il testo che precede la riga seguente:
    -----BEGIN CERTIFICATE-----
  2. Utilizzate il comando seguente per importare il certificato in un archivio chiavi:
    keytool -import -keystore cacerts.keystore -alias myca -storepass password -file cacert.pem
  3. Per configurare la JVM che esegue l'istanza di rendering in modo che sia attendibile l'archivio di chiavi, utilizzare la seguente proprietà di sistema:
    -Djavax.net.ssl.trustStore=<location of cacerts.keystore>
    Ad esempio, se utilizzate lo script crx-quickstart/bin/quickstart per avviare l'istanza di pubblicazione, potete modificare la proprietà CQ_JVM_OPTS:
    CQ_JVM_OPTS='-server -Xmx2048m -XX:MaxPermSize=512M -Djavax.net.ssl.trustStore=/usr/lib/cq6.0/publish/ssl/cacerts.keystore'

Configurazione dell’istanza di rendering

Utilizzate il certificato di rendering con le istruzioni riportate nella sezione
Abilita SSL nella sezione Istanza
di pubblicazione per configurare il servizio HTTP dell’istanza di rendering in modo che utilizzi SSL:

Configurazione di SSL per il modulo Dispatcher

Per configurare il dispatcher in modo che utilizzi SSL reciproco, prepara il certificato del dispatcher e configura il modulo del server Web.

Creazione di un certificato del dispatcher unificato

Combinate il certificato dispatcher e la chiave privata non crittografata in un unico file PEM. Utilizzare un editor di testo o il
cat
comando per creare un file simile al seguente esempio:
  1. Aprite un terminale e modificate la directory corrente nella posizione del file display.pem.
  2. Per decrittografare la chiave privata, digitate il comando seguente:
    openssl rsa -in dispkey.pem -out dispkey_unencrypted.pem
  3. Usate un editor di testo o il
    cat
    comando per combinare la chiave privata non crittografata con il certificato in un singolo file, simile al seguente esempio:
    -----BEGIN RSA PRIVATE KEY----- MIICxjBABgkqhkiG9w0B... ...M2HWhDn5ywJsX -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIC3TCCAk... ...roZAs= -----END CERTIFICATE-----

Specifica del certificato da utilizzare per il dispatcher

Aggiungi le seguenti proprietà alla configurazione del modulo Dispatcher (in
httpd.conf
):
  • DispatcherCertificateFile
    : Percorso del file di certificato unificato del dispatcher, contenente il certificato pubblico e la chiave privata non crittografata. Questo file viene utilizzato quando il server SSL richiede il certificato del client del dispatcher.
  • DispatcherCACertificateFile
    : Percorso del file del certificato CA, utilizzato se il server SSL presenta una CA non attendibile da un'autorità radice.
  • DispatcherCheckPeerCN
    : Se abilitare (
    On
    ) o disabilitare (
    Off
    ) il controllo del nome host per i certificati del server remoto.
Il codice seguente è una configurazione di esempio:
<IfModule disp_apache2.c> DispatcherConfig conf/dispatcher.any DispatcherLog logs/dispatcher.log DispatcherLogLevel 3 DispatcherNoServerHeader 0 DispatcherDeclineRoot 0 DispatcherUseProcessedURL 0 DispatcherPassError 0 DispatcherCertificateFile disp_unified.pem DispatcherCACertificateFile cacert.pem DispatcherCheckPeerCN On </IfModule>