2010-06-20 12 views
15

Estoy configurando SSL para admitir HTTPS en TOMCAT 5.5, por lo que me referí a http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html, que detalla cómo implementar SSL.Cuál es la diferencia entre la implementación APR de SSL y la implementación JSSE de SSL en TOMCAT5.5

Este documento describe dos formas de implementar SSL, concretamente la implementación de APR y la implementación de JSSE. Me pregunto cuál es la diferencia entre ellos, incluidas sus deficiencias y ventajas.

Respuesta

22

La diferencia es que el JDK está utilizando su propia implementación de SSL, mientras que la APR está usando lo que está instalado en la computadora, es decir, OpenSSL en la mayoría de los casos.

Si tiene un tráfico bajo a medio para https, la solución Java está bien, pero para una carga muy pesada (por ejemplo, cuando la mayoría de las páginas se ejecutan en https), la solución nativa OpenSSL es mucho mejor y puede recompilarse y optimizado, por lo que se ejecutará aún más rápido y consumirá menos recursos. Sin embargo, la principal desventaja de APR + OpenSSL es que requiere más configuración y ajustes y pruebas, la versión de Java funciona simplemente de fábrica.

Lo que suelo hacer es utilizar siempre la solución Java SSL predeterminada junto con las herramientas de supervisión, y si el tráfico se vuelve pesado, y solo gastar el esfuerzo para ajustar la solución APR.

+0

Sinserely apreciar ayudas. ¡Esta gran respuesta me ayuda demasiado! Thak de nuevo! –

+0

TG para JSSE ya que no es vulnerable a heartbleed (http://qnalist.com/questions/4812562/does-the-heartbleed-vulnerability-affect-apache-tomcat-servers-using-tomcat-native) –

+0

Última verificación está completamente autoconfigurado, siempre que tenga disponible la biblioteca Tomcat Native. Para hacer APR aún más simple, la lib nativa está incluso disponible en RPM. En otras palabras, tiene cero razones para no usar APR a través de la biblioteca nativa de Tomcat, si está en una distribución modernista estándar. – TechZilla

1

Al utilizar APR, Tomcat podría usar un motor OpenSSL que sea vulnerable al error Heartbleed (http://heartbleed.com). A continuación, puede cambiar en su server.xml de APR:

<-- Define a APR SSL Coyote HTTP/1.1 Connector on port 8443 --> <Connector protocol="org.apache.coyote.http11.Http11AprProtocol" port="8443" .../>

Para la implementación de Java SSL que no es vulnerable por este error:

<-- Define a blocking Java SSL Coyote HTTP/1.1 Connector on port 8443 --> <Connector protocol="org.apache.coyote.http11.Http11Protocol" port="8443" .../>

O si lo desea para usar APR de todos modos, asegúrese de utilizar la biblioteca Tomcat Native compilada con la versión OpenSSL que no es vulnerable a Heartbleed (OpenSSL 1.0.1g o superior), vea https://issues.apache.org/bugzilla/show_bug.cgi?id=56363.

1

versión de Tomcat 5.5.29 menos de hace no apoyo conector nuevo atributo "allowUnsafeLegacyRenegotiation" y si se usa la máquina de java de edad (JVM 1.6 o anterior sin parches de seguridad) y no desea actualizar ni Java ni la única Tomcat manera - es usar APR. Ver:

About security patches against RFC 5746 CVE-2009-3555

About Tomcat patches

About MITM vulnerability

+0

¿Y qué hay de nuevo JSSE en Java 8? Dicen que es compatible con la aceleración de hardware a través de AES crypto-instructions en CPU "modernas", ¿será aún más lento (o peor en otros medios) que APR? – Mic

Cuestiones relacionadas