1. Resumen
En este post vamos a ver una guía introductoria de como añadir certificado SSL y red de distribución de contenidos a nuestra web, introduciendo el ajuste que tenemos que hacer en nuestro registrador de dominios, pasando por la creación de la cuenta gratuita en un proveedor de este tipo de servicio, hasta finalmente dejar toda la configuración para que nuestro entorno funcione con esta capa adicional.
Según los pasos planteados, mostramos como añadir nuestro sitio en la cuenta gratuita de cloudflare para posteriormente configurar los datos del dominio (direcciones ip, servidores de correo, etc) para que esta configuración este ya realizada antes de cambiar los servidores de nombres en nuestro registrador actual. Una vez hecho esto, profundizaremos en las configuraciones de seguridad y certificados. Al final validaremos que nuestro certificado y sito esta correctamente actualizado.
La situación de partida podría ser la siguiente:
Registrador de dominios -> Dominio -> Name servers apuntan -> Empresa hosting -> Servidor dedicado o compartido -> Nuestra web / Correo
La situación, una vez añadida la capa de seguridad y CDN podría ser la siguiente:
Registrador de dominios -> Dominio -> Name servers apuntan -> Cloudflare que tiene la configuración de la zona y apunta a -> Empresa hosting -> Servidor dedicado o compartido -> Nuestra web / Correo
2. Introducción
En esta entrada vamos a explicaros como se puede añadir seguridad, certificado SSL para la conexión con nuestro sitio y CDN para dar mayor redundancia a los contenidos estáticos configurando cloudflare para nuestra web. Este contenido está preparado y pensado para pequeñas/medianas webs que aún no tengan certificado y/o CDN y quieran añadir esta capa adicional. No requiere un conocimiento técnico avanzado para realizar la configuración aunque si es necesario conocer los conceptos para no dejar la web inoperativa (ante cualquier duda, consulta en nuestra sección de la comunidad / hazlo tú mismo).
Cloudflare es un sistema que se pone entre medias entre el visitante de nuestra página web y los servidores que alojan nuestra página, permitiendo añadir una capa de gestión adicional en cuanto a seguridad y disponibilidad se refiere, que acelera y protege de usuarios maliciosos y bots indeseados reduciendo de igual manera el tráfico hacia nuestro servidor y acelerando la carga del sitio en la carga de nuestro sitio para nuestros usuarios finales.
Algunas de las ventajas de usar este sistema, aparte de añadir el certificado, para nuestra web son:
- Incremento del nivel de seguridad y disponibilidad de la web (si se nos cae, el sistema tendrá una copia estática que podrá mostrar al usuario mientras recuperamos nuestros sistemas.)
- Protección anti denegación de servicio (DoS y DDoS).
- CDN, Content Delivery Network o red de distribución de contenidos.
- Anonimización de la ubicación de nuestro servidor.
- Gestión avanzada de nuestra zona de DNS, creación de registros con configuración especial, creación de reglas dentro de la versión gratuita.
- Posibilidad de ampliar funcionalidades con versiones de pago.
3. Implementación paso a paso
Los pasos para implementar la configuración son bastante sencillos, siendo los siguientes:
-
Nos registramos en Cloudflare y añadimos el dominio (+ Add site) para que reconozca la configuración de DNS actual.
- Una vez que el asistente de Cloudflare haga el descubrimiento de nuestros registros, nos propondrá la configuración de los mismos en el siguiente paso. Acordaros de revisar toda la configuración, que es posible que ciertas configuraciones especiales no las descubra y las tengáis que añadir a mano.
Con nuestros registros descubiertos y añadidos de forma automática en el panel, podremos ajustar opciones como que el tráfico pase a través de la nube de Cloudflare o no, o bien, añadir nuevas configuraciones que hayan faltado o que queramos dejar listas para más adelante. Explicaremos en un futuro post todos los registros DNS que podemos crear y como descubrirlos dentro de técnicas de investigación de ciberinteligencia.
Como medida de protección o seguridad, los registros que estén protegidos por esta solución recibirán una IP nueva, sin exponer la de nuestro servidor, mientras que los que estén en Off se podrán consultar y ver la dirección IP o configuración real.
En muchas ocasiones, cuando añadimos este tipo de soluciones que protegen nuestro sitio después de apuntar el dominio a la IP real de nuestro servidor, la misma se queda expuesta y cacheada en páginas que crawlean esta información, permitiendo a un atacante o investigador descubrirla tirando del hilo de históricos. Por este hecho, es recomendable configurar el dominio con cloudflare antes de apuntarlo al servidor y realizar la parametrización de los registros de DNS una vez nuestros Name Servers estén apuntando a cloudflare. Podría parecer complicado pero lo único que se configura es una especie de proxy o hombre en el medio sin exponer cual es el fin (o nuestro servidor), que a veces es el activo que queremos proteger frente a ataques de denegación de servicio (en el caso de que se conozca de antemano la IP del mismo, podría ser más fácil de atacar.)
- Ahora tenemos que apuntar los name servers en nuestro registrador del dominio hacia los DNS de Cloudflare. La propagación de la información por los servidores de DNS puede tardar desde unas horas hasta días. No mostramos este paso en detalle ya que hay muchos agentes registradores de dominios y cada uno gestiona/actualiza los registros y los name servers de forma diferente (recomendamos preguntar antes o pedir ayuda al equipo de soporte del registrador si no sabéis como modificar estos valores).
- Una vez que tenemos activo nuestro sitio con la configuración estándar de cloudflare, podemos proceder a añadir opciones de configuración para la conexión segura de nuestro sitio como podría ser:Usar siempre HTTPS
-
- Usar HSTS – HTTP Strick Transport Security
-
- Autenticación con certificado
-
- Ajuste de la versión de TLS
-
- Reescritura automática a HTTPS
- Una vez realizados estos pasos, podremos comprobar que la propagación de las zonas de DNS se han realizado correctamente mediante estos servicios online:https://www.whatsmydns.net/#A/ginseg.com
- Para comprobar que nuestro certificado está correctamente instalado y funcionando podemos utilizar sistemas como los siguientes:https://www.sslshopper.com/ssl-checker.html#hostname=https://ginseg.com
4. Conclusión
Como conclusión sobre cómo implementar Cloudflare en nuestra web para especificar una conexión segura tenemos las siguientes ventajas e inconvenientes:
- Ventajas:
-
-
- Hay una edición gratuita que nos puede venir genial para comenzar, es principalmente la que hemos usado en este post para hacer la introducción.
-
-
-
- Incluye certificado con mayor duración de tiempo, expira en un año, y lo gestiona y renueva automáticamente.
-
-
-
- Incluye CDN proporcionando una red que reduce la carga de la página, optimiza los recursos y el ancho de banda de nuestro propio servidor.
-
-
-
- Permite una configuración avanzada, informando cuando estamos bajo un ataque, con el fin de minimizar el daño o servir la página de forma estática si nuestro servidor tiene algún problema.
-
-
-
- ¿Se os ocurre alguna más?
-
- Desventajas:
-
-
- En la versión gratuita, los certificados son compartidos y nuestro/s dominio/s se listan con el resto de dominios.
-
-
-
- ¿Se os ocurre alguna más?
-
En las próximas entradas entraremos más en detalle de otras funcionalidades de la edición gratuita de cloudflare así como profundizaremos más a fondo en lo que son los DNS y como sacarle el mayor partido, tanto a la hora de protegernos como de hacer una investigación.
Si necesitáis más detalles o ayuda estaremos encantados de poder ayudaros. También puedes participar en el hilo de este post de la comunidad: https://ginseg.com/comunidad/topic/poniendo-nuestra-web-a-buen-recaudo-con-ssl-y-cdn-de-cloudflare/