Cómo configurar de forma segura un servidor HTTPS y no morir en el intento

Hoy en día no encuentro apenas razones para no tener todos los servidores web securizados a través de HTTPS. Si hasta hace poco los certificados solamente se instalaban para proteger la información, garantizar la identidad y securizar el intercambio de credenciales (especialmente contraseñas), desde que Google anunció que utilizaría el uso de SSL como indicativo de posicionamiento (y con ello escalar en los resultados de búsqueda), son muchos los que nos hemos lanzado a utilizar HTTPS por defecto en todos nuestros sitios web. El cada día más bajo coste del hardware (o la mayor potencia con el mismo precio) y la aparición de nuevos protocolos que optimizan los recursos (como SPDY y HTTP/2) hace que cada vez más administradores y usuarios se animen a implementarlo.

Si bien es cierto que también hay inconvenientes y es que disponer de un certificado SSL implica un coste añadido periódico, pero los hay muy baratos y siempre puedes optar por coger un wildcard para tu dominio.

Echando un vistazo rápido en Google encontrarás decenas de miles de entradas sobre como configurar un servidor web con SSL, pero la mayor parte de ellos no están completos, principalmente porque recientemente han aparecido importantes problemas de seguridad en librerías y protocolos que hacen que muchos de ellos hayan quedado obsoletos o incompletos. Intentaremos recoger la que consideramos configuración más óptima de un servidor HTTPS.

SSL Rating A+

SSL Rating A+

Partimos de la suposición que ya tenemos un certificado SSL correctamente generado (con key de 2048 bits y SHA-2).

Notas a tener en cuenta:

  1. Protocolos:
    • No debemos utilizar el protocolo SSLv1.
    • No debemos utilizar el protocolo SSLv2.
    • No debemos utilizar el protocolo SSLv3 (Poodle attack).
    • => En su lugar debemos utilizar el protocolo TLS 1.0 o superior.
  2. Cifrado:
    • No utilizar cifrado RC4.
  3. Librerías:
    • No utilizaremos una versión de OpenSSL anterior a 1.0.1g (Heartbleed Bug).

Apache

Apache ha sido y es El Servidor Web por antonomasia (año tras año nos lo dice Netcraft, donde el 51% del los sitios web son servidos por Apache), por lo que comenzaremos con ver cómo configurar correctamente un certificado SSL en este servidor web.

 

https://cipherli.st

https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations

https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html

http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html



¿Te gusta este post? Es solo un ejemplo de cómo podemos ayudar a tu empresa...
Sobre Iker Sagasti Marquina

Iker Sagasti es CEO de Irontec, con más de 15 años de experiencia trabajando con Software Libre. Ingeniero de Telecomunicaciones, aficionado a la fotografía y viajero empedernido. Cuenta los días para cumplir el sueño de trabajar en chanclas delante de una playa con una cerveza fría en mano.

Queremos tu opinión :)