Guía para principiantes de certificados SSL de sitios web

Al crear una aplicación web que se ocupa de datos personales, la seguridad es la primera prioridad. Esto es cierto no solo para las tiendas en línea y los carritos de compras, sino también para las redes sociales populares como Twitter y Foursquare. SSL es un protocolo seguro muy parecido a HTTP en el sentido de que puede recibir y transferir datos a través de Internet.

Es cierto que todo el concepto es un poco complicado, pero no tan difícil de entender. Si es un webmaster o alguien simplemente interesado en aprender sobre certificados SSL, esta guía debería ser perfecta para usted. He reunido este conjunto de términos más confusos para los principiantes. Dedique un tiempo a navegar aquí y a leer otros artículos externos sobre el tema. La seguridad es vital para el éxito de cualquier sitio web y SSL es simplemente un trampolín en el panorama general.

¿Qué es SSL?

El protocolo SSL significa Secure Socket Layers y fue desarrollado originalmente por Netscape. Es un proceso en el que los datos que se pasan entre el usuario y el servidor se cifran / descifran para que ningún tercero externo pueda secuestrar la conexión.

SSL se comporta como un pasaporte digital que verifica las credenciales tanto de usted como del servidor web final. Cuando se verifican ambas identidades, SSL otorga una conexión segura a través de HTTPS. Este proceso se realiza mediante certificados . He desglosado los aspectos clave de un certificado SSL, que incluye:

  • El nombre del propietario
  • Número de serie del certificado utilizado para identificación
  • La fecha de vencimiento del Certificado
  • La clave pública del Certificado utilizada para cifrar la información.
  • La clave privada del Certificado que se usa para descifrar la información (generalmente proviene de un servidor web)

No es necesario que comprenda completamente el uso de toda esta información. En algunos casos, recibirá un certificado con aún más información. Sin embargo, nada de esto afectará directamente al usuario; sólo afecta a la conexión entre el servidor y la computadora remota.

Configuración de un certificado

Lo más probable es que pueda descubrir la esencia de cómo funciona SSL. Es una forma más compleja de transmisión de datos, como transferir un mensaje dentro de una caja fuerte cerrada. No es necesario memorizar los elementos clave de un certificado SSL o aprender cómo se conecta con un servidor web, pero es bueno al menos comprender los conceptos básicos del proceso antes de configurar el suyo.

Los certificados SSL se compran en realidad a varios proveedores confiables en la Web. Cada certificado tiene una fecha de vencimiento, lo que significa que tendrá que renovarlo para mantener su sitio web seguro (por lo general, esto es todos los años). Parece un verdadero dolor de cabeza , pero afortunadamente muchos servidores web populares como FatCow lo ayudarán en el proceso de configuración.

FatCow professional web hosting with SSL servicesFatCow professional web hosting with SSL services

Primero debe generar una solicitud de firma de certificado o CSR en su propio servidor web. La CSR es necesaria antes de poder obtener un certificado SSL. Es posible crearlo usted mismo si tiene privilegios administrativos completos en el servidor web. Sin embargo, es muy recomendable que se comunique primero con su proveedor de alojamiento web, ya que es probable que no le permita hacerlo usted mismo. No hay nada de malo en eso, de hecho, ¡en realidad hace que su trabajo sea mucho más fácil!

Una vez que tenga esta CSR cifrada, puede ponerse en contacto con un proveedor de certificados. Hay solo un puñado de proveedores confiables como Verisign o Thawte . Una vez que haya comprado el certificado, comuníquese con el soporte de su proveedor de alojamiento web y ellos lo instalarán con gusto.

Diferentes tipos de SSL

La forma más común de configurar un certificado SSL es en su propia dirección IP principal. Esto se conoce como certificado SSL dedicado . Solo se aplicará a su dominio y servidor web. No todo el mundo tiene suficiente dinero para comprar un plan de alojamiento dedicado, pero por suerte para todos, hay otras soluciones disponibles.

Generalmente, existen tres tipos diferentes de certificados SSL que puede utilizar. Algunos proveedores de servicios pueden ofrecer un certificado gratuito como una oferta de prueba por tiempo limitado, pero estos certificados no son de ninguna manera más seguros que una conexión HTTP estándar y caducan rápidamente.

  • SSL dedicado : esta es la solución más segura y evidentemente la más cara. Una conexión HTTPS solo se verifica para su dominio raíz dirigido a través de una dirección IP designada.
  • SSL compartido : los hosts web que ofrecen alojamiento compartido a veces tendrán varios nombres de dominio que apuntan a la misma dirección IP. En este caso, es mucho más fácil para el host administrar un solo SSL en cada servidor que abarca una variedad de sitios web diferentes.
  • SSL comodín : pueden ser similares a un certificado SSL dedicado o compartido según la configuración del servidor. Los certificados SSL comodín apuntarán a múltiples subdominios para su sitio web. Esta es una solución viable si divide diferentes funciones de su sitio web, por ejemplo, shop.domain.com, checkout.domain.com, etc.

Si recién está comenzando, le recomiendo que utilice una configuración SSL compartida. Es poco probable que pueda permitirse un alojamiento web dedicado / dirección IP de inmediato. E incluso si puede, los costos de un certificado SSL dedicado son atroces. Pero es absolutamente algo que debe considerar si es posible.

Sin embargo, dado que esta guía está dirigida a principiantes, creo que un certificado compartido es más que suficiente para comenzar.

Tutorial paso a paso

La mejor manera de sentirse cómodo con los certificados SSL es mediante un ejemplo práctico. Preparemos un pequeño certificado Comodo de Namecheap. Tienen precios muy razonables, lo que es perfecto para que los principiantes comiencen. Y dado que solo tenemos que pasar por el proceso y los esquemas, este será el material perfecto para este tutorial.

Genera un CSR

Ahora, para empezar, necesitamos crear la solicitud de firma en el backend de nuestro servidor. Estoy usando una cuenta de hosting comercial a través de HostGator para probar uno de mis dominios. Cada proveedor de alojamiento web es un poco diferente, por lo que deberá consultar con el personal de soporte si tiene problemas. Esta URL se utiliza para la generación de CSR en cuentas de HostGator.

HostGator Generating a Certificate Signing Request FormHostGator Generating a Certificate Signing Request Form

Tenga en cuenta que gran parte de esta información debe coincidir con los datos web Whois de mi dominio. Utilizo la aplicación Whois Domain Tools, que proporciona toda la información que requiere este formulario. Si tiene la privacidad de dominio instalada, debe usar estos datos en lugar de los suyos para que la CSR coincida.

WHOIS information from Domain ToolsWHOIS information from Domain Tools

Este proceso puede tardar hasta 24 horas en completar el registro. Recibí mi respuesta en 15 minutos. Continuemos y compremos nuestro certificado ahora para que lo tengamos listo para instalar con la solicitud de firma.

¡Vamos a comprar!

Los planes de Comodo van desde $ 9 / año hasta casi $ 100. Estoy viendo el paquete EssentialSSL que solo cuesta $ 25 al año. Esto no es un mal negocio considerando algunas de las alternativas.

Namecheap.com EssentialSSL for /yearNamecheap.com EssentialSSL for /year

Este plan viene con una política de devolución de 15 días si no estamos satisfechos con el certificado. Además, nuestro nombre de dominio estará protegido para el subdominio www y no www. Después de agregar este paquete a mi carrito de compras, podemos pagar. Namecheap requerirá que inicie sesión en una cuenta existente o me registre para una nueva.

Compra de un certificado SSL a través de Namecheap - crédito / paypal

Después de ingresar todos los datos de mi cuenta, aparecerá la pantalla de pago final. Tenemos la opción de pagar con los fondos almacenados en mi cuenta, tarjeta de crédito o PayPal. Si todo va bien, se nos redirigirá a un formulario de confirmación de pedido (además, debería recibir un correo electrónico con esta información). ¡Todo se ve bien hasta ahora!

Instalación final

El CSR debe aparecer en un correo electrónico de su proveedor de alojamiento web. La clave es más como un bloque de caracteres y claves mezclados. Esto es lo que debemos proporcionar para la verificación SSL. Volviendo a Namecheap, busquemos la página del certificado SSL y hagamos clic en “Activar”.

Activating newly purchased SSL certificate from Namecheap.comActivating newly purchased SSL certificate from Namecheap.com

En esta nueva página, debemos seleccionar un tipo de servidor e ingresar la clave CSR. Elegí Apache + OpenSSL como la selección predeterminada. Esta es una configuración común para Apache, pero si no está seguro, consulte con su host de antemano. Tenga en cuenta que su proveedor de alojamiento web debería haber devuelto una clave RSA más larga que se utiliza para la autenticación privada en el extremo del servidor. Todo lo que tenemos que hacer es copiar y pegar la clave CSR más corta en el cuadro y enviarla.

Namecheap CSR input form for SSLNamecheap CSR input form for SSL

Luego generamos un correo electrónico enviado al “aprobador” del nombre de dominio. Este contendrá información sobre su certificado SSL y cómo activarlo en el host. Este último formulario de envío requerirá nuestra clave secreta RSA, así como información adicional sobre el paquete SSL. Todo esto se proporciona desde Namecheap después de pasar el CSR.

CSR Requirements datalog flow chartCSR Requirements datalog flow chart

Vale la pena señalar que en algunos servidores web es posible que no pueda usar SSL en un entorno compartido. HostGator permite que las empresas actualicen sus cuentas a una dirección IP principal para que no haya errores conflictivos con el certificado. El formulario de instalación SSL de HostGator es sencillo y también se valida muy rápidamente.

HostGator Install SSL FormHostGator Install SSL Form

Después de que su anfitrión confirme que todo está bien, entonces deberíamos estar listos para comenzar. Comprenda que esto podría llevar entre un par de horas y un día o más. Sea paciente y siga revisando su correo electrónico. Una vez verificado, intente acceder a su sitio web a través de HTTPS y todos los detalles del certificado deben estar en la barra de direcciones. Siempre es una lucha cuando recién está comenzando, pero no tenga miedo de pedir ayuda a su proveedor de SSL o servidor web si es necesario.

Administrar una conexión segura

He encontrado que este artículo de soporte de Hostgator es inmensamente útil para comprender el proceso de configuración. Incluso si no es cliente de HostGator, lo más probable es que utilice cPanel para administrar cualquier servidor web remoto. Esto es cierto para 1 & 1 Hosting, Bluehost, etc.

Pero la mejor parte de usar una configuración SSL en un servidor web de terceros es que no es necesario realizar cambios (o, como mínimo, cambios mínimos) en su código. Una vez que haya comprado un certificado, la mayoría de los servidores web serán lo suficientemente amables como para instalarlos por usted. Después de que todo funcione sin problemas, todas las conexiones a través de HTTP y HTTPS deberían funcionar de manera idéntica.

Google Chrome HTTPS Padlock icon for Google homepageGoogle Chrome HTTPS Padlock icon for Google homepage

Puede probar si el certificado está autenticado comprobando la barra de direcciones URL en su navegador web. Debería notar un pequeño icono de candado que indica una conexión SSL verificada entre su computadora y el servidor web remoto. Algunos navegadores incluso mostrarán más información del certificado si hace clic en el icono de candado.

Redirecciones de Apache .htaccess

Si tiene problemas para mantener a los visitantes en el protocolo HTTPS, puede considerar usar un script de redireccionamiento. Esto se configura comúnmente en servidores Apache usando un archivo .htaccess , que muchos servidores web le permiten configurar directamente dentro de cPanel.

Agregué algunos códigos de muestra a continuación que puede usar para configurar su propio archivo .htaccess. Esto redirigirá todo el tráfico entrante a https: // con un subdominio www. Puede eliminar www para que todo el tráfico se dirija a https://yourdomain.com/ y las reglas de reescritura aún se ejecuten perfectamente.

RewriteEngine On
RewriteCond% {HTTPS} = desactivado
RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R = 301, L] 
RewriteCond% {http_host} ^ tudominio.com [NC]
RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R = 301, L]

Archivos de referencia

El problema más molesto con el que se encontrará es hacer referencia a URL absolutas en lugar de rutas de archivo relativas. Esto no mostrará una conexión completamente segura, sino que hará referencia a la advertencia de que se muestran “elementos no seguros” en la página. Si llama a cualquier tipo de medio externo: video, imagen, hoja de estilo, debe hacerlo localmente. He demostrado un ejemplo a continuación:

1
2
3
4
5
<!-- absolute -->
<link rel="stylesheet" type="text/css" media="all" href="http://www.domain.com/css/styles.css" />
 
<!-- local(correct method) -->
<link rel="stylesheet" type="text/css" media="all" href="/css/styles.css" />

Con el primer fragmento de código, está cargando un documento potencialmente inseguro en una página segura. Este es el método por el cual los piratas informáticos inteligentes pueden eludir su cifrado. La mayoría de los casos me he encontrado con el análisis a través de JavaScript o VBScript. Pero para estar seguro, asegúrese de que ninguno de sus activos se extraiga directamente a través de HTTP.

Si por alguna razón debe extraer un archivo a través de la URL absoluta, utilice HTTPS en su lugar. Si tiene archivos alojados en un sitio web o servidor externo, esto puede producir problemas ya que no puede verificar otra conexión HTTPS. ¡Trabaje para mantener todos los medios de la página web consolidados bajo una IP para que no se encuentre con estos problemas en absoluto!

enlaces relacionados

Conclusión

Espero que esta guía introductoria le haya dado una idea del mundo de SSL. La seguridad web es una industria en auge que protege una gran cantidad de datos privados de los usuarios. Todas las famosas tiendas en línea, incluidas Amazon y eBay, han estado utilizando SSL durante años.

Admito que SSL / HTTPS no es un tema que solo puedas estudiar para comprender. Similar a la programación, realmente necesita sumergirse y ensuciarse las manos configurando su propio certificado. Es una tarea desalentadora para emprender, pero ofrece una maravillosa sensación de logro a largo plazo. Si conoce otras guías útiles o material relacionado, no dude en compartirlo en el área de discusión posterior.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *