Apache, Instalar Certificado de Seguridad Privado

Para continuar con la parte de certificados de seguridad SSL vamos a crear uno privado utilizarlo internamente. En el artículo anterior deje un pequeño resumen sobre SSL, pero aqúi voy a dejar la misma introducción.

Si un día te piden un portal o servicio seguro y validado por https necesitas algo llamado SSL (Secure Socket Layer) que básicamente es un protocolo para transferir datos de forma segura, y se utiliza para:

Compartir información mediante un mecanismo de codificación entre el cliente y el servidor (aquí pueden leer un resumen bastante claro)

Esto se hace por medio de un certificado de seguridad.

El certificado es un comprobante que emite un CA (Certificate Authority) o un tercero para garantizar que el sitio web pertenece a la empresa u organización, que es un sitio legitimo, válido y seguro. En esta ocasión vamos a emitir un certificado propío o privado para cuestiones internas.

Es muy común ver esto en páginas de intranet o en redes privadas donde se necesita transferir información sensible y confidencial, por ejemplo con transacciones de negocio, datos confidenciales, cuentas, etc… también se utilizan en procesos entre servers, como en web services.

Instalación

Los pasos que voy a describir funcionan en linux, pero si lo necesitas para windows y Mac es prácticamente lo mismo solo cambian las rutas de los archivos de configuración y la instalación del software. Seguir leyendo

Apache, Instalar Certificado de Seguridad Versign

Este va a ser un tema muy amplio pero vamos directo a lo que nos interesa, si un día te piden un portal seguro y validado por https necesitas algo llamado SSL (Secure Socket Layer) que básicamente es un protocolo para transferir datos de forma segura,  y se utiliza para:

Compartir información mediante un mecanismo de codificación entre el cliente y el servidor (aquí pueden leer un resumen bastante claro)

Esto se hace por medio de un certificado de seguridad.

El certificado es un comprobante que emite un CA (Certificate Authority) o un tercero para garantizar que el sitio web pertenece a la empresa u organización, que es un sitio legitimo, válido y seguro.

Nota: Se pueden emitir certificados propios o privados para cuestiones internas pero otro día escribiré sobre esto.

Esto es muy común en páginas web donde se necesita manejar información sensible y confidencial, por ejemplo con el pago de tarjeta  de crédito, comunicación entre web services, ejecución de aplicaciones, etc… y se puede ver muy claro en nuestro browser cuando se pone en verde:

Se puede puede obtener un certificado de una autoridad competente, las más famosas son Verisign y Thawte (vean el certificado de los bancos o de facebook) estás empresas certificadoras cobran por este servicio, pero ambas te pueden dar un certificado de prueba ( que es el que vamos a utilizar).

Instalación

Los pasos que voy a describir funcionan en linux, pero si lo necesitas para windows y Mac es prácticamente lo mismo solo cambian las rutas de los archivos de configuración y la instalación del software. Seguir leyendo

Enable SSL (Secure Socket Layer) in Apache Tomcat (5.5, 6 y 7)

Activar SSL en Apache Tomcat (5.5, 6 y 7)

Secure Socket Layer (SSL) es un mecanismo que permite a los navegadores comunicarse con los servidores web a través de una conexión segura. Para activar SSL en Apache Tomcat es necesario utilizar un certificado del lado de servidor con el formato JKS, PKCS11 o PKCS12 <– este último es el estandar web.

Tomcat puede utilizar dos herramientas para SSL:

Veamos lo que dice la documentación:

Tomcat can use two different implementations of SSL:

  • the JSSE implementation provided as part of the Java runtime (since 1.4)
  • the APR implementation, which uses the OpenSSL engine by default.

The exact configuration details depend on which implementation is being used. The implementation used by Tomcat is chosen automatically unless it is overriden as described below. If the installation uses APR – i.e. you have installed the Tomcat native library – then it will use the APR SSL implementation, otherwise it will use the Java JSSE implementation.

Seguir leyendo

Apache Portable Runtime (APR) based Native library for Tomcat

Siempre que inicio el servidor tomcat me aparece un mensaje como este:

INFO: La biblioteca nativa de Apache Tomcat basada en ARP que permite un rendimiento óptimo en entornos de desarrollo no ha sido hallada en java.library.path:...

Y nunca le dí importancia hasta hoy, por que tengo que utilizarlo en un proyecto bastante amplio que necesita cuidar el performance al máximo, en fin le he dedicado un rato para investigar a que se refiere esta libreria y esto fue lo que encontre:

The Apache Portable Runtime is a highly portable library that is at the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO functionality (such as sendfile, epoll and OpenSSL), OS level functionality (random number generation, system status, etc), and native process handling (shared memory, NT pipes and Unix sockets).

These features allows making Tomcat a general purpose webserver, will enable much better integration with other native web technologies, and overall make Java much more viable as a full fledged webserver platform rather than simply a backend focused technology.

Al parecer es una libreria que mejora la integración del servidor con el sistema, y el resultado es que tomcat deja de ser un contenedor de servlets y hace que java sea mucho mas viable para esta técnologia y no solo un lenguaje de back end. Una de las ventajas es que mejora la velocidad del tomcat busque algunos test y afirman que mejora en rendimiento =)… (¬¬ de haber sabido que algo así existía…  tengo que fijarme más en los mensajes del log).

Seguir leyendo