miércoles, 4 de noviembre de 2015

Transport Layer Security

Secure Sockets Layer


SSL significa "Secure Sockets Layer". SSL Definición, Secure Sockets Layer es un protocolo diseñado para permitir que las aplicaciones para transmitir información de ida y de manera segura hacia atrás. Las aplicaciones que utilizan el protocolo Secure Sockets Layer sí saben cómo dar y recibir claves de cifrado con otras aplicaciones, así como la manera de cifrar y descifrar los datos enviados entre los dos.

 ¿Cómo funciona el SSL? Algunas aplicaciones que están configurados para ejecutarse SSL incluyen navegadores web como Internet Explorer y Firefox, los programas de correo como Outlook, Mozilla Thunderbird, Mail.app de Apple, y SFTP (Secure File Transfer Protocol) programas, etc Estos programas son capaces de recibir de forma automática SSL conexiones.

Para establecer una conexión segura SSL, sin embargo, su aplicación debe tener una clave de cifrado que le asigna una autoridad de certificación en la forma de un Certificado. Una vez que haya una única clave de su cuenta, usted puede establecer una conexión segura utilizando el protocolo SSL.

SSL - Una breve historia

En los primeros días de la World Wide Web, claves de 40-bit de poco se usaron. Cada bit puede contener un uno o un cero - lo que significaba que eran dos 40 claves diferentes disponibles. Eso es un poco más de un billón claves distintas.

Debido a la velocidad cada vez mayor de computadoras, se hizo evidente que una clave de 40 bits no era lo suficientemente seguro. Posiblemente, con los procesadores de gama alta que vendría en el futuro, los piratas informáticos podría llegar a probar todas las claves hasta encontrar el adecuado, lo que les permite descifrar y robar información privada. Que tomaría algún tiempo, pero era posible.

Las claves se alargaron a 128 bits. Eso es 2128 claves, códigos de cifrado o 340.282.366.920.938.463.463.374.607.431.768.211.456 único. (Eso es 340000000000000 billones de billones, para aquellos de ustedes hacer el seguimiento en casa.) Se determinó que si las computadoras siguió avanzando en la velocidad como lo han hecho en el pasado, estos códigos de 128 bits que permanecen seguros durante por lo menos una década más, si no más. Certificados DigiCert no se detienen allí, sin embargo. Los certificados SSL DigiCert también son compatibles con el nuevo estándar de RSA 2048-bit de encriptación.

Cómo funciona SSL

SSL es un protocolo que proporciona privacidad e integridad entre dos aplicaciones de comunicaciones utilizando HTTP. El Protocolo de transferencia de hipertexto (HTTP) para World Wide Web utiliza SSL para que las comunicaciones sean seguras.

Los datos que circulan en un sentido y otro entre el cliente y el servidor se cifra mediante un algoritmo simétrico como DES o RC4. Un algoritmo de clave pública -generalmente RSA- se utiliza para el intercambio de las claves de cifrado y para las firmas digitales. El algoritmo utiliza la clave pública en el certificado digital del servidor. Con el certificado digital del servidor, el cliente también puede verificar la identidad del servidor. Las versiones 1 y 2 del protocolo SSL sólo proporcionan autenticación de servidor. La versión 3 agrega la autenticación del cliente, utilizando los certificados digitales de cliente y de servidor.

INSTALACIÓN SSL En APACHE OPENSSL

Para instalar un certificado SSL en su servidor debe antes generar un CSR o petición de firma (PASO 1) con el que generaremos su certificado que posteriormente instalará en su dominio, ip o intranet (PASO 2).

PASO 1: GENERAR UN CSR O PETICIÓN DE FIRMA.

Para generar una llave privada y la petición de firma del certificado SSL (CSR), debe introducir el siguiente comando:
 openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr
Esta orden crea dos archivos:
  1. El archivo "myserver.key" contiene su llave privada del que le recomendamos realizar una copia de seguridad para poder instalar el mismo certificado en caso de migración o perdida de datos de su servidor.
  2. El archivo "server.csr", es el CSR, para el cual tendremos que introducir los datos que queremos que aparezcan en el certificado, junto con el "Common Name", valor de importancia ya que será en nombre con el que se expedirá el certificado.
Puede que algunos campos habrá un valor predefinido. Si introduce '.' el campo se dejará en blanco.
—–
Country Name (2 letter code) [ ]: (Código del país – 2 letras)
State or Province Name [ ]: (Provincia)
Locality Name [ ]: (Ciudad)
Organization Name [ ]: (Organización)
Organizational Unit Name [ ]: (Departamento)
Common Name* [ ]: (dominio, subdominio ó ip para el certificado)
Email Address [ ]: (dirección de e-mail)
después le pedirá los siguientes datos extras que se enviarán con su petición del certificado
A challenge password [ ]: (Contraseña)
An optional company name [ ]: (Nombre opcional de la organización)
—–
* Common Name (CN). Nombre de dominio para el que se va a solicitar el certificado. Asegúrese de que todo es correcto y que contiene un dominio principal o subdominio (ejm: www.hispassl.com, seguridad.hispassl.com,…).
Los campos destinados al email, optional company name y challenge password pueden dejarse en blanco.
Su CSR ya ha sido generado. Copie y guarde todo su contenido comprendido desde:
—–BEGIN CERTIFICATE REQUEST—–
                  ….hasta
—–END CERTIFICATE REQUEST—–
Necesitará utilizarlo durante el proceso de compra de su certificado. Si ya posee el CSR puede pasar a comprar su certificado haciendo click aqui .

PASO 2: INSTALACIÓN SSL

Primero instalaremos los certificados intermedio y raiz, y posteriormente el certificado propio:
  1. Instalación del certificado intermedio:

Deberá instalar un certificado intermedio de la Autoridad Certificadora (CA) para garantizar sesiones de 256 bits con los navegadores. Este certificado lo recibirá por e-mail junto con su certificado propio como gs_intermediate_ca.crt
Deberá realizar los siguientes pasos:
Guarde su archivo en apache/conf/ssl/
PARE el servidor apache.
Localice el archivo httpd.conf y ábralo con un editor de texto.
Localice la directiva "SSLCaCertificateFile" en su httpd.conf y elimine el simbolo # de la linea.
Modifique el directorio del final de la linea haciendo referencia al certificado gs_intermediate_ca.crt recién guardado. Por ejemplo: SSLCaCertificateFile /usr/local/apache/conf/ssl/gs_intermediate_ca.crt
Finalmente reinicie Apache.

2. Instalación del certificado propio

Copie su certificado en un directorio seguro que utilice exclusivamente para este fin.
Por defecto: /usr/local/apache/conf/ssl.crt/ o /etc/httpd/conf/ssl.crt/.
Abra el archivo httpd.conf file en una shell con edición de texto.
Localice el SSL Host Virtual asociado su certificado. Verifique que tiene las dos siguientes directivas en su host virtual, en caso contrario debrá añadirlas manualmente:
SSLCertificateFile /usr/local/apache/conf/ssl.crt/nombrededominio_ext.crt (o servidor.crt)
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nombrededominio_ext (o servidor.key)
Advertencia: Algunas versiones de Apache almacenan la información de los alojamientos virtuales en el archivo ssl.conf. Si su httpd.conf no contiene información sobre estos necesitará localizar el archivo ssl.conf y editar las lineas indicadas.
Guarde los cambios y salga del editor de consola.
Reinicie su servidor apache.

No hay comentarios:

Publicar un comentario