SSL gebruiken met Dispatcher using-ssl-with-dispatcher

Gebruik SSL-verbindingen tussen de Dispatcher en de renderingcomputer:

NOTE
Bewerkingen in verband met de SSL-certificaten zijn gebonden aan producten van derden. Zij vallen niet onder het Adobe Platinum Maintenance and Support-contract.

SSL gebruiken wanneer Dispatcher verbinding maakt met AEM use-ssl-when-dispatcher-connects-to-aem

Configureer de Dispatcher voor communicatie met de AEM- of CQ-renderinstantie met behulp van SSL-verbindingen.

Voordat u Dispatcher configureert, configureert u AEM of CQ zodanig dat SSL wordt gebruikt:

Wanneer Dispatcher een HTTPS-aanvraag ontvangt, neemt Dispatcher de volgende headers op in het volgende verzoek dat het naar AEM of CQ verzendt:

  • X-Forwarded-SSL
  • X-Forwarded-SSL-Cipher
  • X-Forwarded-SSL-Keysize
  • X-Forwarded-SSL-Session-ID

Een aanvraag via Apache-2.4 met mod_ssl bevat kopteksten die vergelijkbaar zijn met het volgende voorbeeld:

X-Forwarded-SSL: on
X-Forwarded-SSL-Cipher: DHE-RSA-AES256-SHA
X-Forwarded-SSL-Session-ID: 814825E8CD055B4C166C2EF6D75E1D0FE786FFB29DEB6DE1E239D5C771CB5B4D

Dispatcher configureren voor gebruik van SSL configuring-dispatcher-to-use-ssl

Om Dispatcher te vormen om met AEM of CQ over SSL te verbinden, vereist uw {🔗 dossier 0} dispatcher.any de volgende eigenschappen:

  • Een virtuele host die HTTPS-aanvragen afhandelt.
  • Het gedeelte renders van de virtuele host bevat een item dat de hostnaam en -poort aangeeft van de CQ- of AEM-instantie die gebruikmaakt van HTTPS.
  • Het item renders bevat een eigenschap met de naam secure of value 1 .

Opmerking: maak indien nodig een andere virtuele host voor de afhandeling van HTTP-aanvragen.

In het volgende voorbeeld van het bestand dispatcher.any worden de eigenschapswaarden weergegeven voor het verbinden met behulp van HTTPS met een CQ-instantie die op de host localhost en poort 8443 wordt uitgevoerd:

/farms
{
   /secure
   {
      /virtualhosts
      {
         # select this farm for all incoming HTTPS requests
         "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
         "http://*"
      }
      /renders
      {
         /0001
      {
         # hostname or IP of the render
         /hostname "localhost"
         # port of the render
         /port "4503"
      }
   }
    # the rest of the properties are omitted
}

Wederzijdse SSL configureren tussen Dispatcher en AEM configuring-mutual-ssl-between-dispatcher-and-aem

Als u Wederzijdse SSL wilt gebruiken, configureert u de verbindingen tussen Dispatcher en de rendercomputer (doorgaans een AEM- of CQ-publicatie-instantie):

  • Dispatcher maakt verbinding met de renderinstantie via SSL.
  • De renderinstantie verifieert de geldigheid van het Dispatcher-certificaat.
  • Dispatcher controleert of de CA van het certificaat van de renderinstantie wordt vertrouwd.
  • (Optioneel) Dispatcher controleert of het certificaat van de renderinstantie overeenkomt met het serveradres van de renderinstantie.

Voor het configureren van wederzijdse SSL hebt u certificaten nodig die zijn ondertekend met een vertrouwde certificeringsinstantie (CA). Zelfondertekende certificaten zijn niet geschikt. U kunt of als CA dienst doen of de diensten van derde CA gebruiken om uw certificaten te ondertekenen. Voor het configureren van wederzijdse SSL hebt u de volgende items nodig:

  • Ondertekende certificaten voor de renderinstantie en Dispatcher
  • Het certificaat van CA (als u als CA dienst doet)
  • OpenSSL-bibliotheken voor het genereren van CA-, certificaten- en certificaataanvragen.

Voer de volgende stappen uit om wederzijdse SSL te configureren:

  1. installeerde recentste versie van Dispatcher voor uw platform. Gebruik een binair Dispatcher-bestand dat SSL ondersteunt (SSL staat in de bestandsnaam, bijvoorbeeld dispatcher-apache2.4-linux-x86-64-ssl10-4.1.7.tar ).
  2. creeer of verkrijg een CA-ondertekend certificaatvoor Dispatcher en teruggeeft instantie.
  3. creeer keystore die het teruggeven certificaatbevatten en vorm de dienst van HTTP van teruggeven.
  4. vorm de module van de het Webserver van Dispatchervoor wederzijdse SSL.

Certificaten met CA-handtekening maken of verkrijgen creating-or-obtaining-ca-signed-certificates

Maak of verkrijg de CA-ondertekende certificaten die het publicatieexemplaar en Dispatcher verifiëren.

Uw CA maken creating-your-ca

Als u als CA dienst doet, gebruik OpenSSLom de Autoriteit van het Certificaat tot stand te brengen die de server en cliëntcertificaten ondertekent. (U moet de OpenSSL-bibliotheken hebben geïnstalleerd.) Als u een derde CA gebruikt, voer deze procedure niet uit.

  1. Open een terminal en wijzig de huidige map in de map met het CA.sh -bestand, zoals /usr/local/ssl/misc .

  2. Om CA tot stand te brengen, ga het volgende bevel in en verstrek dan waarden wanneer ertoe aangezet:

    code language-shell
    ./CA.sh -newca
    
    note note
    NOTE
    Verscheidene eigenschappen in het openssl.cnf dossier controleren het gedrag van het manuscript CA.sh. Bewerk dit bestand naar wens voordat u uw CA maakt.

Certificaten maken creating-the-certificates

Gebruik OpenSSL om de certificaataanvragen te maken die u naar de derde CA wilt verzenden of die u met uw CA wilt ondertekenen.

Wanneer u een certificaat maakt, gebruikt OpenSSL de eigenschap Common Name om de certificaathouder te identificeren. Voor het certificaat van de renderinstantie, gebruik de de gastheernaam van de instantiecomputer als Gemeenschappelijke Naam als u Dispatcher vormt om het certificaat goed te keuren. Voer deze procedure alleen uit als deze overeenkomt met de hostnaam van de instantie Publishing. Zie het DispatcherCheckPeerCNbezit.

  1. Open een terminal en wijzig de huidige map in de map met het CH.sh-bestand van uw OpenSSL-bibliotheken.

  2. Voer de volgende opdracht in en geef waarden op wanneer u hierom wordt gevraagd. Indien nodig, gebruik de gastheernaam van de het publiceren instantie als Gemeenschappelijke Naam. De gastheernaam is DNS-oplosbare naam voor het IP adres van teruggeven:

    code language-shell
    ./CA.sh -newreq
    

    Als u een derde CA gebruikt, verzend het newreq.pem- dossier naar CA om te ondertekenen. Als u als CA handelt, ga verder met stap 3.

  3. Als u het certificaat wilt ondertekenen met het certificaat van uw CA, voert u de volgende opdracht in:

    code language-shell
    ./CA.sh -sign
    

    Er worden twee bestanden met de naam newcert.pem en newkey.pem gemaakt in de map die uw CA-beheerbestanden bevat. Deze twee bestanden zijn respectievelijk het openbare certificaat en de persoonlijke sleutel voor de renderingcomputer.

  4. Wijzig de naam van newcert.pem in rendercert.pem en wijzig de naam van newkey.pem in renderkey.pem .

  5. Herhaal stap 2 en 3 om een certificaat en een openbare sleutel voor de Dispatcher-module te maken. Zorg ervoor dat u een algemene naam gebruikt die specifiek is voor het Dispatcher-exemplaar.

  6. Wijzig de naam van newcert.pem in dispcert.pem en wijzig de naam van newkey.pem in dispkey.pem .

SSL configureren op de rendercomputer configuring-ssl-on-the-render-computer

Configureer SSL op de renderinstantie met behulp van de bestanden rendercert.pem en renderkey.pem .

Het rendercertificaat omzetten in de JKS-indeling (Javaâ„¢ KeyStore) converting-the-render-certificate-to-jks-format

Gebruik de volgende opdracht om het rendercertificaat, een PEM-bestand, om te zetten in een PKCS#12-bestand. Neem ook het certificaat op van de CA die het rendercertificaat heeft ondertekend:

  1. Wijzig in een terminalvenster de huidige map in de locatie van het rendercertificaat en de persoonlijke sleutel.

  2. Als u het rendercertificaat (een PEM-bestand) wilt converteren naar een PKCS#12-bestand, voert u de volgende opdracht in. Neem ook het certificaat op van de CA die het rendercertificaat heeft ondertekend:

    code language-shell
    openssl pkcs12 -export -in rendercert.pem -inkey renderkey.pem  -certfile demoCA/cacert.pem -out rendercert.p12
    
  3. Als u het PKCS#12-bestand wilt converteren naar de JKS-indeling (Javaâ„¢ KeyStore), voert u de volgende opdracht in:

    code language-shell
    keytool -importkeystore -srckeystore servercert.p12 -srcstoretype pkcs12 -destkeystore render.keystore
    
  4. Het Javaâ„¢-sleutelarchief wordt gemaakt met een standaardalias. Wijzig desgewenst de alias:

    code language-shell
    keytool -changealias -alias 1 -destalias jettyhttp -keystore render.keystore
    

Het Cert van CA toevoegen aan de Render Truststore adding-the-ca-cert-to-the-render-s-truststore

Als u als CA dienst doet, voer uw certificaat van CA in keystore in. Configureer vervolgens de JVM die de renderinstantie uitvoert, om het sleutelarchief te vertrouwen.

  1. Gebruik een teksteditor om het bestand cacert.pem te openen en alle tekst te verwijderen die aan de volgende regel voorafgaat:

    -----BEGIN CERTIFICATE-----

  2. Gebruik de volgende opdracht om het certificaat te importeren in een sleutelarchief:

    code language-shell
    keytool -import -keystore cacerts.keystore -alias myca -storepass password -file cacert.pem
    
  3. Gebruik de volgende systeemeigenschap om de JVM te configureren die uw renderinstantie uitvoert om het sleutelarchief te vertrouwen:

    code language-shell
    -Djavax.net.ssl.trustStore=<location of cacerts.keystore>
    

    Als u bijvoorbeeld het script crx-quickstart/bin/quickstart gebruikt om uw publicatieinstantie te starten, kunt u de eigenschap CQ_JVM_OPTS wijzigen:

    code language-shell
    CQ_JVM_OPTS='-server -Xmx2048m -XX:MaxPermSize=512M -Djavax.net.ssl.trustStore=/usr/lib/cq6.0/publish/ssl/cacerts.keystore'
    

De renderinstantie configureren configuring-the-render-instance

Als u de HTTP-service van de renderinstantie wilt configureren voor het gebruik van SSL, gebruikt u het rendercertificaat met de instructies in de sectie Enable SSL on the Publish Instance :

SSL configureren voor de Dispatcher-module configuring-ssl-for-the-dispatcher-module

Als u Dispatcher wilt configureren voor het gebruik van wederzijdse SSL, bereidt u het Dispatcher-certificaat voor en configureert u de module Webserver.

Een uniform Dispatcher-certificaat maken creating-a-unified-dispatcher-certificate

Combineer het Dispatcher-certificaat en de niet-gecodeerde persoonlijke sleutel tot één PEM-bestand. Gebruik een teksteditor of de opdracht cat om een bestand te maken dat lijkt op het volgende voorbeeld:

  1. Open een terminal en wijzig de huidige map in de locatie van het bestand dispkey.pem.

  2. Voer de volgende opdracht in om de persoonlijke sleutel te decoderen:

    code language-shell
    openssl rsa -in dispkey.pem -out dispkey_unencrypted.pem
    
  3. Gebruik een teksteditor of de opdracht cat om de niet-gecodeerde persoonlijke sleutel en het certificaat te combineren in één bestand dat vergelijkbaar is met het volgende voorbeeld:

    code language-xml
    -----BEGIN RSA PRIVATE KEY-----
    MIICxjBABgkqhkiG9w0B...
    ...M2HWhDn5ywJsX
    -----END RSA PRIVATE KEY-----
    -----BEGIN CERTIFICATE-----
    MIIC3TCCAk...
    ...roZAs=
    -----END CERTIFICATE-----
    

Het te gebruiken certificaat voor Dispatcher opgeven specifying-the-certificate-to-use-for-dispatcher

Voeg de volgende eigenschappen aan de de moduleconfiguratie van Dispatcher(in httpd.conf) toe:

  • DispatcherCertificateFile: Het pad naar het uniforme Dispatcher-certificaatbestand met het openbare certificaat en de niet-gecodeerde persoonlijke sleutel. Dit bestand wordt gebruikt wanneer de SSL-server om het Dispatcher-clientcertificaat vraagt.
  • DispatcherCACertificateFile: Het pad naar het CA-certificaatbestand. Wordt gebruikt als de SSL-server een CA presenteert die een basisinstantie niet vertrouwt.
  • DispatcherCheckPeerCN: Of hostnaamcontrole voor externe servercertificaten moet worden ingeschakeld ( On ) of uitgeschakeld ( Off ).

De volgende code is een voorbeeldconfiguratie:

<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>
recommendation-more-help
ce382601-480f-4a99-8be7-73178d4b6ef5