Standaard SSL ssl-by-default
In een poging om de veiligheid van AEM voortdurend te verbeteren, heeft Adobe een eigenschap genoemd SSL Door Standaard geïntroduceerd. Het doel is het gebruik van HTTPS aan te moedigen om verbinding te maken met AEM instanties.
SSL standaard inschakelen enabling-ssl-by-default
U kunt SSL door Standaard te vormen door het relevante Inbox bericht van uw AEM homescherm te klikken. Druk op het belpictogram in de rechterbovenhoek van het scherm om het vak Inbox te bereiken. Klik vervolgens op Alles weergeven. Hiermee wordt een lijst weergegeven met alle waarschuwingen die in een lijstweergave zijn besteld.
Selecteer in de lijst de optie HTTPS configureren waarschuwing:
[OPMERKING!]
Als de HTTPS configureren waakzaamheid is niet aanwezig in Inbox, u kunt rechtstreeks aan de Tovenaar navigeren HTTPS door te gaan http://serveraddress:serverport/libs/granite/security/content/sslConfig.html?item=configuration%2Fconfiguressl&_charset_=utf-8
Een servicegebruiker die ssl-service is gemaakt voor deze functie. Zodra u het alarm opent, zult u door de volgende configuratietovenaar worden geleid:
-
Stel eerst de gegevens voor de winkelreferenties in. Dit zijn de referenties voor de ssl-service sleutelarchief van de systeemgebruiker dat de persoonlijke sleutel en vertrouwde opslag voor de luisteraar HTTPS zal bevatten.
-
Nadat u de referenties hebt ingevoerd, klikt u op Volgende in de rechterbovenhoek van de pagina. Upload vervolgens de bijbehorende persoonlijke sleutel en het bijbehorende certificaat voor de SSL-verbinding.
note note NOTE Ga voor informatie over het genereren van een persoonlijke sleutel en een certificaat voor gebruik met de wizard naar deze procedure hieronder. -
Geef ten slotte de hostnaam HTTPS en de TCP-poort voor de HTTPS-listener op.
SSL standaard automatiseren automating-ssl-by-default
Er zijn drie manieren om SSL standaard te automatiseren.
Via HTTP-POST via-http-post
De eerste methode impliceert het posten aan de server SSLSetup die door de configuratietovenaar wordt gebruikt:
POST /libs/granite/security/post/sslSetup.html
U kunt de volgende nuttige lading in uw POST gebruiken om configuratie te automatiseren:
------WebKitFormBoundaryyBO4ArmGlcfdGDbs
Content-Disposition: form-data; name="keystorePassword"
test
------WebKitFormBoundaryyBO4ArmGlcfdGDbs
Content-Disposition: form-data; name="keystorePasswordConfirm"
test
------WebKitFormBoundaryyBO4ArmGlcfdGDbs
Content-Disposition: form-data; name="truststorePassword"
test
------WebKitFormBoundaryyBO4ArmGlcfdGDbs
Content-Disposition: form-data; name="truststorePasswordConfirm"
test
------WebKitFormBoundaryyBO4ArmGlcfdGDbs
Content-Disposition: form-data; name="privatekeyFile"; filename="server.der"
Content-Type: application/x-x509-ca-cert
------WebKitFormBoundaryyBO4ArmGlcfdGDbs
Content-Disposition: form-data; name="certificateFile"; filename="server.crt"
Content-Type: application/x-x509-ca-cert
------WebKitFormBoundaryyBO4ArmGlcfdGDbs
Content-Disposition: form-data; name="httpsPort"
8443
De servlet zal, net als elke sling POST servlet, met 200 OK of een foutHTTP- statuscode antwoorden. U kunt meer informatie over de status vinden in de HTML-hoofdtekst van de reactie.
Hieronder staan voorbeelden voor zowel een geslaagde reactie als een fout.
SUCCESVOORBEELD (status = 200):
<!DOCTYPE html>
<html lang='en'>
<head>
<title>OK</title>
</head>
<body>
<h1>OK</h1>
<dl>
<dt class='foundation-form-response-status-code'>Status</dt>
<dd>200</dd>
<dt class='foundation-form-response-status-message'>Message</dt>
<dd>SSL successfully configured</dd>
<dt class='foundation-form-response-title'>Title</dt>
<dd>OK</dd>
<dt class='foundation-form-response-description'>Description</dt>
<dd>HTTPS has been configured on port 8443. The private key and
certificate were stored in the key store of the user ssl-service.
Please take note of the key store password you provided. You will need
it for any subsequent updating of the private key or certificate.</dd>
</dl>
<h2>Links</h2>
<ul class='foundation-form-response-links'>
<li><a class='foundation-form-response-redirect' href='/'>Done</a></li>
</ul>
</body>
</html>
FOUTVOORBEELD (status = 500):
<!DOCTYPE html>
<html lang='en'>
<head>
<title>Error</title>
</head>
<body>
<h1>Error</h1>
<dl>
<dt class='foundation-form-response-status-code'>Status</dt>
<dd>500</dd>
<dt class='foundation-form-response-status-message'>Message</dt>
<dd>The provided file is not a valid key, DER format expected</dd>
<dt class='foundation-form-response-title'>Title</dt>
<dd>Error</dd>
</dl>
</body>
</html>
Via pakket via-package
U kunt de SSL-installatie ook automatiseren door een pakket te uploaden dat al de volgende vereiste items bevat:
- Het sleutelarchief van de ssl-dienst gebruiker. Deze bevindt zich onder /home/users/system/security/ssl-service/keystore in de repository.
- De
GraniteSslConnectorFactory
configuratie
Een privésleutel/certificaatpaar genereren voor gebruik met de wizard generating-a-private-key-certificate-pair-to-use-with-the-wizard
Hieronder ziet u een voorbeeld voor het maken van een zelfondertekend certificaat in de indeling DER die de SSL-wizard kan gebruiken.
-
Maak eerst de persoonlijke sleutel:
code language-shell openssl genrsa -aes256 -out localhostprivate.key 4096 openssl rsa -in localhostprivate.key -out localhostprivate.key
-
Genereer vervolgens een CSR (Certificate Signing Request) met behulp van de persoonlijke sleutel:
code language-shell openssl req -sha256 -new -key localhostprivate.key -out localhost.csr -subj '/CN=localhost'
-
Genereer het SSL-certificaat en onderteken het met de persoonlijke sleutel. In dit voorbeeld verloopt de bewerking over een jaar:
code language-shell openssl x509 -req -days 365 -in localhost.csr -signkey localhostprivate.key -out localhost.crt
Zet de Persoonlijke Sleutel in het formaat van DER om. De reden hiervoor is dat de SSL-wizard vereist dat de sleutel de indeling DER heeft:
openssl pkcs8 -topk8 -inform PEM -outform DER -in localhostprivate.key -out localhostprivate.der -nocrypt
Ten slotte uploadt u de localhostprivate.der als persoonlijke sleutel en localhost.crt als het SSL-certificaat in stap 2 van de grafische SSL-wizard die aan het begin van deze pagina wordt beschreven.
De SSL-configuratie bijwerken via cURL updating-the-ssl-configuration-via-curl
U kunt de SSL-configuratie ook automatiseren met het gereedschap cURL. U kunt dit doen door de configuratieparameters aan dit URL te posten:
https://<serveraddress>:<serverport>/libs/granite/security/post/sslSetup.html
Hieronder ziet u de parameters die u kunt gebruiken om de verschillende instellingen in de configuratietovenaar te wijzigen:
-
-F "keystorePassword=password"
- het sleutelarchiefwachtwoord; -
-F "keystorePasswordConfirm=password"
- het keystore-wachtwoord bevestigen; -
-F "truststorePassword=password"
- het truststore-wachtwoord; -
-F "truststorePasswordConfirm=password"
- het truststore-wachtwoord bevestigen; -
-F "privatekeyFile=@localhostprivate.der"
- de persoonlijke sleutel specificeren; -
-F "certificateFile=@localhost.crt"
- het certificaat vermelden; -
-F "httpsHostname=host.example.com"
- de hostnaam te specificeren; -
-F "httpsPort=8443"
- de poort waaraan de HTTPS-listener werkt.
privatekeyFile
en certificateFile-argumenten.-u user:passeword
parameter.curl -u user:password -F "keystorePassword=password" -F "keystorePasswordConfirm=password" -F "truststorePassword=password" -F "truststorePasswordConfirm=password" -F "privatekeyFile=@localhostprivate.der" -F "certificateFile=@localhost.crt" -F "httpsHostname=host.example.com" -F "httpsPort=8443" https://host:port/libs/granite/security/post/sslSetup.html
Meerdere certificaten met cURL multiple-certificates-using-curl
U kunt de server een certificaatketen sturen door de parameter certificateFile als volgt te herhalen:
-F "certificateFile=@root.crt" -F "certificateFile=@localhost.crt"..
Zodra u het bevel hebt uitgevoerd, verifieer dat alle certificaten het aan keystore maakten. Controleer het sleutelarchief van:
http://localhost:4502/libs/granite/security/content/userEditor.html/home/users/system/security/ssl-service