Inicie sesión en su servidor de AEM y añada el parámetro JVM a continuación al comando java:
¿Cómo protegemos el puerto https de AEM contra las nuevas vulnerabilidades de seguridad SSL / TLS? Por ejemplo, LOGJAM o SWEET32.
Entorno
AEM 6.x
Pasos
Para protegerse contra varias vulnerabilidades SSL en un puerto HTTPS de una instancia de AEM, siga los pasos que se indican a continuación.
-
-Djdk.tls.ephemeralDHKeySize=2048
Si está usando el script crx-quickstart/bin/start, entonces esto se hace añadiendo la variable anterior a la variable CQ_JVM_OPTS.
-
Reinicie AEM después de añadir la opción JVM. Puede validar que la opción JVM/propiedad del sistema se ha recogido en esta pantalla https://aem-host:port/system/console/jmx/java.lang%3Atype%3DRuntime. Busque en la página y valide que la propiedad jdk.tls.ephemeralDHKeySize está ahora establecida en 2048.
-
Si tiene configurado el soporte para https, vaya a https://aem-host:port/crx/de/index.jsp e inicie sesión como administrador.
-
Vaya a /apps/system/config/org.apache.felix.http.config.
-
Modifique el archivo de configuración. Sustituya las cuatro propiedades de configuración enumeradas a continuación en el archivo por los valores proporcionados [1]. Si una variable no existe en su configuración, cópiela al final del archivo de configuración.
- org.apache.felix.https.jetty.ciphersuites.excluded
- org.apache.felix.https.jetty.ciphersuites.included
- org.apache.felix.https.jetty.protocols.excluded
- org.apache.felix.https.jetty.protocols.included
A continuación se muestra un ejemplo de archivo de configuración [2].
-
Haga clic en Guardar todo.
-
Después de aplicar la configuración actualizada, valide que la configuración haya surtido efecto. Vaya a esta URL https://aem-host:port/system/console/configMgr/org.apache.felix.http.config y revise la configuración para ver si los valores de las propiedades fueron transferidos.
-
Utilice una herramienta como testssh.sh para validar que el sistema ya no es vulnerable.
Información adicional
Se recomienda configurar sus sistemas con una seguridad óptima para acceder directamente a la instancia AEM. [1]
org.apache.felix.https.jetty.ciphersuites.excluded=[\ "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",\ "SSL_DHE_DSS_WITH_AES_128_CBC_SHA",\ "SSL_DHE_DSS_WITH_AES_256_CBC_SHA",\ "SSL_DHE_DSS_WITH_DES_CBC_SHA",\ "SSL_DHE_DSS_WITH_RC4_128_SHA",\ "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",\ "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "SSL_DHE_RSA_WITH_AES_128_CBC_SHA",\ "SSL_DHE_RSA_WITH_AES_256_CBC_SHA",\ "SSL_DHE_RSA_WITH_DES_CBC_SHA",\ "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",\ "SSL_RSA_EXPORT_WITH_RC4_40_MD5",\ "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA",\ "SSL_RSA_FIPS_WITH_DES_EDE_CBC_SHA",\ "SSL_RSA_WITH_DES_CBC_SHA",\ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA",\ "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",\ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",\ "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "PCT_SSL_CIPHER_TYPE_1ST_HALF",\ "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5",\ "SSL_DH_anon_WITH_RC4_128_MD5",\ "SSL_RSA_EXPORT_WITH_RC4_40_MD5",\ "SSL_RSA_WITH_RC4_128_MD5",\ "SSL_RSA_WITH_RC4_128_SHA",\ "SSL2_RC4_128_EXPORT40_WITH_MD5",\ "SSL2_RC4_128_WITH_MD5",\ "SSL2_RC4_64_WITH_MD5",\ "TLS_DH_Anon_EXPORT_WITH_RC4_40_MD5",\ "TLS_DH_Anon_WITH_RC4_128_MD5",\ "TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA",\ "TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA256",\ "TLS_DHE_DSS_WITH_RC4_128_SHA",\ "TLS_DHE_DSS_WITH_RC4_128_SHA256",\ "TLS_DHE_PSK_WITH_RC4_128_SHA",\ "TLS_DHE_PSK_WITH_RC4_128_SHA256",\ "TLS_ECDH_Anon_WITH_RC4_128_SHA",\ "TLS_ECDH_Anon_WITH_RC4_128_SHA256",\ "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",\ "TLS_ECDH_ECDSA_WITH_RC4_128_SHA256",\ "TLS_ECDH_RSA_WITH_RC4_128_SHA",\ "TLS_ECDH_RSA_WITH_RC4_128_SHA256",\ "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",\ "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA256",\ "TLS_ECDHE_PSK_WITH_RC4_128_SHA",\ "TLS_ECDHE_PSK_WITH_RC4_128_SHA256",\ "TLS_ECDHE_RSA_WITH_RC4_128_SHA",\ "TLS_ECDHE_RSA_WITH_RC4_128_SHA256",\ "TLS_KRB5_EXPORT_WITH_RC4_40_MD5",\ "TLS_KRB5_EXPORT_WITH_RC4_40_SHA",\ "TLS_KRB5_EXPORT_WITH_RC4_40_SHA256",\ "TLS_KRB5_WITH_RC4_128_MD5",\ "TLS_KRB5_WITH_RC4_128_SHA",\ "TLS_KRB5_WITH_RC4_128_SHA256",\ "TLS_PSK_WITH_RC4_128_SHA",\ "TLS_PSK_WITH_RC4_128_SHA256",\ "TLS_RSA_EXPORT_WITH_RC4_40_MD5",\ "TLS_RSA_EXPORT1024_WITH_RC4_56_MD5",\ "TLS_RSA_EXPORT1024_WITH_RC4_56_SHA",\ "TLS_RSA_EXPORT1024_WITH_RC4_56_SHA256",\ "TLS_RSA_PSK_WITH_RC4_128_SHA",\ "TLS_RSA_PSK_WITH_RC4_128_SHA256",\ "TLS_RSA_WITH_RC4_128_MD5",\ "TLS_RSA_WITH_RC4_128_SHA",\ "TLS_RSA_WITH_RC4_128_SHA256",\ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",\ ".*3DES_EDE_CBC.*"\ ] org.apache.felix.https.jetty.ciphersuites.included=[ \ "", \ ] org.apache.felix.https.jetty.protocols.excluded=[ \ "SSLv3", \ "SSL", \ "SSLv2", \ "SSLv2Hello", \ "TLSv1.0", \ "TLSv1.1", \ ] org.apache.felix.https.jetty.protocols.included=[ \ "TLSv1.2" ]
[2] Ejemplo de /apps/system/config/org.apache.felix.http.config
# Configuration created by Apache Sling JCR Installer org.apache.felix.http.timeout=I"60000" org.apache.felix.http.jetty.acceptors=I"-1" org.apache.felix.https.clientcertificate="none" org.apache.felix.https.jetty.protocols.excluded=["SSLv3","SSL","SSLv2","SSLv2Hello","TLSv1.0","TLSv1.1"] org.apache.felix.http.jetty.threadpool.max=I"-1" org.osgi.service.http.port=I"4504" org.eclipse.jetty.servlet.CheckingRemoteSessionIdEncoding=B"true" org.apache.felix.http.enable=B"true" org.apache.felix.https.jetty.protocols.included=["TLSv1.2"] org.apache.felix.https.keystore="/opt/aem/author62/crx-quickstart/ssl/keystorename.keystore" org.apache.felix.https.jetty.ciphersuites.excluded=[\ "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",\ "SSL_DHE_DSS_WITH_AES_128_CBC_SHA",\ "SSL_DHE_DSS_WITH_AES_256_CBC_SHA",\ "SSL_DHE_DSS_WITH_DES_CBC_SHA",\ "SSL_DHE_DSS_WITH_RC4_128_SHA",\ "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",\ "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "SSL_DHE_RSA_WITH_AES_128_CBC_SHA",\ "SSL_DHE_RSA_WITH_AES_256_CBC_SHA",\ "SSL_DHE_RSA_WITH_DES_CBC_SHA",\ "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",\ "SSL_RSA_EXPORT_WITH_RC4_40_MD5",\ "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA",\ "SSL_RSA_FIPS_WITH_DES_EDE_CBC_SHA",\ "SSL_RSA_WITH_DES_CBC_SHA",\ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA",\ "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",\ "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",\ "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "PCT_SSL_CIPHER_TYPE_1ST_HALF",\ "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5",\ "SSL_DH_anon_WITH_RC4_128_MD5",\ "SSL_RSA_EXPORT_WITH_RC4_40_MD5",\ "SSL_RSA_WITH_RC4_128_MD5",\ "SSL_RSA_WITH_RC4_128_SHA",\ "SSL2_RC4_128_EXPORT40_WITH_MD5",\ "SSL2_RC4_128_WITH_MD5",\ "SSL2_RC4_64_WITH_MD5",\ "TLS_DH_Anon_EXPORT_WITH_RC4_40_MD5",\ "TLS_DH_Anon_WITH_RC4_128_MD5",\ "TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA",\ "TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA256",\ "TLS_DHE_DSS_WITH_RC4_128_SHA",\ "TLS_DHE_DSS_WITH_RC4_128_SHA256",\ "TLS_DHE_PSK_WITH_RC4_128_SHA",\ "TLS_DHE_PSK_WITH_RC4_128_SHA256",\ "TLS_ECDH_Anon_WITH_RC4_128_SHA",\ "TLS_ECDH_Anon_WITH_RC4_128_SHA256",\ "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",\ "TLS_ECDH_ECDSA_WITH_RC4_128_SHA256",\ "TLS_ECDH_RSA_WITH_RC4_128_SHA",\ "TLS_ECDH_RSA_WITH_RC4_128_SHA256",\ "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",\ "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA256",\ "TLS_ECDHE_PSK_WITH_RC4_128_SHA",\ "TLS_ECDHE_PSK_WITH_RC4_128_SHA256",\ "TLS_ECDHE_RSA_WITH_RC4_128_SHA",\ "TLS_ECDHE_RSA_WITH_RC4_128_SHA256",\ "TLS_KRB5_EXPORT_WITH_RC4_40_MD5",\ "TLS_KRB5_EXPORT_WITH_RC4_40_SHA",\ "TLS_KRB5_EXPORT_WITH_RC4_40_SHA256",\ "TLS_KRB5_WITH_RC4_128_MD5",\ "TLS_KRB5_WITH_RC4_128_SHA",\ "TLS_KRB5_WITH_RC4_128_SHA256",\ "TLS_PSK_WITH_RC4_128_SHA",\ "TLS_PSK_WITH_RC4_128_SHA256",\ "TLS_RSA_EXPORT_WITH_RC4_40_MD5",\ "TLS_RSA_EXPORT1024_WITH_RC4_56_MD5",\ "TLS_RSA_EXPORT1024_WITH_RC4_56_SHA",\ "TLS_RSA_EXPORT1024_WITH_RC4_56_SHA256",\ "TLS_RSA_PSK_WITH_RC4_128_SHA",\ "TLS_RSA_PSK_WITH_RC4_128_SHA256",\ "TLS_RSA_WITH_RC4_128_MD5",\ "TLS_RSA_WITH_RC4_128_SHA",\ "TLS_RSA_WITH_RC4_128_SHA256",\ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",\ "TLS_RSA_WITH_3DES_EDE_CBC_SHA",\ ".*3DES_EDE_CBC.*"\ ] org.apache.felix.http.path_exclusions=["/system"] org.apache.felix.http.jetty.selectors=I"-1" org.apache.felix.proxy.load.balancer.connection.enable=B"true" org.eclipse.jetty.servlet.SessionDomain="" org.apache.felix.https.jetty.renegotiateAllowed=B"false" org.apache.felix.http.jetty.maxFormSize=I"204800" org.apache.felix.http.jetty.sendServerHeader=B"false" org.apache.felix.http.jetty.requestBufferSize=I"8192" org.apache.felix.https.keystore.password="storepassword" org.eclipse.jetty.servlet.SessionIdPathParameterName="jsessionid" org.apache.felix.https.jetty.ciphersuites.included=[""] org.apache.felix.http.mbeans=B"false" org.apache.felix.http.host="0.0.0.0" org.eclipse.jetty.servlet.SessionCookie="JSESSIONID" org.eclipse.jetty.servlet.SessionPath="" org.osgi.service.http.port.secure=I"54333" org.apache.felix.https.jetty.session.cookie.httpOnly=B"true" org.apache.felix.http.context_path="/" org.apache.felix.https.enable=B"true" org.apache.felix.https.keystore.key.password="key_password" org.apache.felix.http.jetty.headerBufferSize=I"16384" org.apache.felix.https.truststore="" org.apache.felix.http.session.timeout=I"10" org.eclipse.jetty.servlet.MaxAge=I"-1" org.apache.felix.https.jetty.session.cookie.secure=B"false" org.apache.felix.http.jetty.responseBufferSize=I"24576"