Cloudflare Web
#21
(21-01-2022, 06:30 PM)Monipodio escribió: Estoy usando un ddns gratuito de duck dns. Me es imposible registrarlo en cloudflare.

¿Sabéis si es posible utilizarlo? Salta el error que el dominio no está registrado.


Para poder hacerlo tienes que seguir este tutorial cosa nada fácil a menos que se den las condiciones y sepas hacerlo, si tuvieras Opnsense si es fácil:

https://adamtheautomator.com/cloudflare-dynamic-dns/
  Responder
#22
He creado un tutorial sobre este servicio para su aplicación con el proxy https de QTS, se puede ver aquí:

https://www.qnapclub.es/showthread.php?tid=4837
  Responder
#23
Una vez que nos hemos registrado y configurado nuestro dominio con Cloudflare tenemos otra opción que también nos la proporciona Cloudflare y se llama Cloudflared. Lo que hace Cloudflared es el mismo servicio que nos da gratuitamente Cloudflare pero con una serie de ventajas:

 - No es necesario abrir ningún puerto en nuestro router para que funcione

 - No es necesario utilizar ningún proxy en nuestro nas


Accedemos a la web de Cloudflare de nuestro dominio y vemos abajo a la izquierda un apartado llamado Zero Trust

   

Al darle ahí nos llevará a un apartado en el que tenemos "que comprar" ese servicio. Veremos que se nos ofrecen varios planes de pago pero veremos y escogeremos el gratuito a cero euros, escogido ese plan gratuito procedemos "a su compra". Una vez comprado a cero euros procedemos a su configuración.

Lo primero que vamos a hacer es crear un tunel al que le podemos poner el nombre que nos apetezca:

   

Guardamos los cambios y ya estará creado el tunel, ahora procedemos a editarlo.

   

Lo que estamos haciendo es configurar Cloudflared en Cloudflare pero para que se establezca la conexión entre nuestro nas y Cloudflare tenemos que instalar en nuestro nas el contenedor de Cloudflared. En la imagen que acabo de poner vemos el apartado Docker y aunque no se ve en la imagen veremos en ese apartado la configuración para instalar en nuestro nas mediante consola ese contenedor de Cloudflared, hay que instalarlo en nuestro nas con esa configuración SIN MODIFICARLA porque integra un token que es el que va a validar la conexión entre nuestro nas y Cloudflare. Sabiendo todo esto instalamos ese contenedor Cloudflared en nuestro nas:

   

A la hora de gestionar mis contenedores en mi nas utilizo Portainer que es lo que aparece en la imagen anterior, si no lo usáis os aparecerá en Container Station. El contenedor de Cloudflared tiene el curioso nombre de dazzling_williams

Una vez instalado ese contenedor en el nas lo que si he visto es que NO tiene configurada ninguna opción de reinicio así que en Portainer le ponemos la opción de reinicio que nos apetezca, o always o unless-stoped

Instalado el contenedor NOS OLVIDAMOS DEL NAS y seguimos con la configuración de Cloudflared en Cloudflare

   

En este apartado es donde tenemos que configurar nuestro dominio principal y los subdominios que tengamos con la ip local del nas y sus puertos correspondientes. Podemos añadir los subdominios que queramos y lo podemos hacer ahora o en el futuro a medida que vayamos configurando nuevos servicios o contenedores en el nas.

Importante: Si en el apartado DNS de Cloudflare ya teníamos configurados nuestro dominio principal y algún que otro subdominio TENEMOS QUE BORRARLOS PRIMERO, el motivo es que a la hora de configurarlos en el apartado que se ve en la imagen que acabo de poner de la configuración de Cloudflared nos dará error diciendo que ese dominio o subdominios ya están configurados en otros sitio, es decir, en el apartado DNS de Cloudflare.

Hecho lo anterior guardamos los cambios:

   

Cómo acabo de explicar podemos añadir nuevos subdominios al tunel cuando nos apetezca.

Si a continuación nos vamos al apartado DNS de Cloudflare veremos que se nos han añadido automáticamente y ellos solitos el dominio y los subdominios que hayamos configurado antes en Cloudflared:

   
  Responder
#24
Una vez que tenemos configurado Cloudflare y opcionálmente Cloudflared cualquier persona que se conecte a cualquiera de los servicios que tengamos publicados en Cloudflare hace presísamente eso, en lugar de conectarse diréctamente, por ejemplo, a nuestro nas lo hace a Cloudflare y al hacerlo de esta manera recibe una conexión https con lo que se conoce como un certificado https de perímetro que es gestionado por Cloudflare.

A continuación lo que ocurre es que el propio Cloudflare se conecta a nuestro servidor que en este caso sería nuestro nas para proporcionar al visitante el contenido publicado. Para proteger esa conexión entre Cloudflare y el nas se nos proporciona gratuítamente lo que se conoce como Certificado para el Servidor de Origen y este certificado lo tenemos que crear nosotros desde la interfaz de Cloudflare y a continuación se lo tenemos que poner en el nas. Hecho todo esto en la interfaz de Cloudflare activamos la opción Extracción de origen autenticadas.

A la hora de crear ese certificado que tendrá una validez de 15 años lo podemos hacer de manera automática con algunos matices que luego comentaré. A la hora de crear ese certificado necesitaremos tener también la correspondiente clave y Cloudflare al escoger el método automático nos permite usar una clave RSA de 2048 bits.

El propósito de este mini-tutorial es explicar como aumentar la seguridad de ese procedimiento utilizando una clave RSA de 4096 bits en lugar de la de 2048 bits predeterminada, a continuación crear el correspondiente certificado en Cloudflare para el nas y para terminar instalarlo todo en el nas.

Lo primero que vamos a hacer es entrar en el apartado Servidor de origen de nuestro dominio en Cloudflare:


   


Como se puede ver yo ya tengo uno creado. Si queremos crear uno nuevo nos aparece lo siguiente:


   


De forma predeterminada se nos ofrece la obligatoriedad de crear una clave RSA de 2048 bits para la creación del certificado pero en lugar de eso vamos a utilizar la otra opción de usar mi clave privada y CSR

Llegados a este punto nos olvidamos por el momento de Cloudflare y en un ordenador Windows - Linux creamos una carpeta nueva vacía y dentro de esa carpeta abrimos un Terminal. A continuación vamos a crear una clave de 4096 bits que va a tener el nombre de private.key con el siguiente comando:

openssl genrsa -out private.key 4096


   


Sin cerrar ese Terminal abierto a continuación vamos a crear lo que se conoce como una solicitud de certificado CSR a partir de la clave que acabamos de crear y el archivo resultante tendrá el nombre de device.csr

Lo haremos ejecutando el siguiente comando:   openssl req -new -key private.key -out device.csr


   


Una vez ejecutado se nos va haciendo un cuestionario que tenemos que ir rrellenando dentro del mismo Terminal


   


Terminado el cuestionario ya podemos cerrar el Terminal y el resultado de todo esto es que dentro de la carpeta que creamos al principio tendremos dos nuevos archivos, uno es la clave y el otro el CSR


   


Lo siguiente es abrir el archivo CSR con un editor de texto y copiar el contenido:


   


Ahora volvemos al punto que estábamos antes en Cloudflare:


   


Y pegamos el contenido del archivo CSR que copiamos antes:


   


Hecho esto lo siguiente es crear el certificado, al hacerlo nos aparecerá lo siguiente:


   


En la imagen que acabo de poner el certificado está en formato PEM y Cloudflare nos da la opción de copiarlo así que lo hacemos. En la carpeta anterior de nuestro ordenador creamos un nuevo archivo que va a tener la extensión .pem y que le podemos poner el nombre que nos apetezca, por ejemplo, certificate.pem

Abrimos ese archivo nuevo certificate.pem con un editor de textos y le ponemos el contenido del certificado de Cloudflare que hemos copiado antes.

Llegados a este punto en la carpeta de nuestro ordenador tendremos 3 archivos:

 - certificate.pem que es el certificado

 - private.key  que es la clave

 - device.csr que es el CSR y que ya podemos ELIMINAR.

Nos falta un cuarto archivo, un certificado CA root que no tenemos que crear sino que tenemos que descargar a nuestro ordenador desde aquí:

https://developers.cloudflare.com/ssl/or...origin-ca/


   


Con esto tendríamos en nuestra carpeta del ordenador 4 archivos aunque ya he dicho que el archivo device.csr ya no es necesario:


   


Ya lo tenemos todo así que ahora vamos a instalarlo todo en el nas. En el Panel de Control nos vamos al apartado Seguridad - Certificado SSL y clave privada, lo que vamos a hacer es reemplazar el certificado que tengamos instalado en el nas por el que acabamos de crear en Cloudflare:


   


Le indicamos la ubicación en nuestro ordenador de los tres archivos necesarios:


 - certificate.pem     certificado

 - private.key     clave

 - origin ca rsa root.pem     el certificado CA que descargamos de la web de Cloudflare


   


Aplicamos los cambios y ya tenemos instalados el certificado y la clave de Cloudflare para validar los orígenes autentificados para la conexión entre el nas y Cloudflare:


   
  Responder
#25
Una vez que se tiene configurado nuestro tunel Cloudflared y publicados nuestros servicios a través de el sin necesidad de abrir ningún puerto en nuestro router Cloudflare nos ofrece herramientas gratuitas para proteger el acceso desde el exterior sea mediante filtrados mediante GeoIP u otros sistemas pero en el caso de utilización personal del tunel Cloudflared a la hora, como digo, de publicar nuestros servicios personales podemos hacer algo más que es treméndamente interesante de cara a la seguridad que consiste en utilizar otro servicio también gratuito de Cloudflare llamado Cloudflare Access.

Cloudflare Access consiste en la posibilidad de permitir únicamente el acceso a los servicios que tengamos publicados a través del tunel Cloudflared a las personas que préviamente hayamos autorizado nosotros mediante el correo eléctronico de esas personas, una vez configurado ese correo o correos electrónicos las personas autorizadas al querer acceder a uno de nuestros servicios publicados recibirán un código TOTP temporal que deberán validar para poder acceder. Dicho de otra manera, una vez configurado Cloudflare Access sólo podrán acceder desde el exterior a nuestros servicios publicados a través del tunel Cloudflared las personas préviamente autorizadas por nosotros mediante correo electrónico y código TOTP.

Esta configuración se puede hacer tanto con el propio dominio como también con cualquier subdominio que tengamos configurado en Cloudflare. Eso si, una vez configurado Cloudflare Access tanto para el dominio como para los subdominios que se quieran es un todo o nada, es decir, no sólo lo tenemos que configurar para los visitantes autorizados sino también para nosotros mismos, si no lo hacemos también para nosotros no podríamos acceder desde el exterior a nuestros servicios. En el caso de configurarlo y que posteriórmente no nos gustara podemos volver al estado anterior sin ningún problema.

Cloudflare Access añade una capa de protección de acceso gratuita a los servicios publicados a través del tunel Cloudflare, si esos servicios no tienen ninguna protección de acceso al configurarlo ya la tienen, si alguno de esos servicios de por si ya la tienen siendo el acceso a ellos, por ejemplo, a través de usuario - contraseña esta configuración se conserva.

Para el ejemplo de este tutorial voy a hacerlo a través del servidor Calibre-web      https://www.qnapclub.es/showthread.php?tid=3048

Este servidor lo tengo configurado a través de un tunel Cloudflared, voy a darle acceso a través de Cloudflare Access a un usuario llamado Juanito que tiene un correo electrónico juanito@gmail.com recordándoos que una vez configurado tenemos también que darnos acceso mediante este sistema a nosotros mismos si queremos acceder a el desde el exterior. Vamos a suponer también que tenemos en Cloudflare un dominio pepito.com


En nuestra cuenta de Cloudflare nos vamos al apartado Zero Trust y una vez accedido nos vamos al apartado Access - Applications y vamos a crear una nueva:


   


En el apartado Overview le ponemos el nombre que nos apetezca y escogemos el dominio o subdominio que queramos:


   


Se puede ver en la imagen anterior que el apartado Session Duration está configurado en 24 horas y que podemos aumentar o reducir según queramos, explico en qué consiste esto. Una vez que tengamos Cloudflare Acces configurado para un dominio o subdominios el usuario Juanito al acceder desde el exterior a nuestro servicio publicado tendrá que validarlo mediante correo electrónico y TOTP, una vez hecho esto accederá. Vamos a suponer que una vez accedido esté una hora y a continuación lo abandone para ver videos de gatitos en Youtube. Al tener configurado un período de 24 horas si en ese tiempo el usuario Juanito quiere volver a acceder a nuestro servicio lo podría hacer diréctamente sin necesidad de validar otra vez el proceso anterior. Esas 24 horas permitidas empiezan a contar desde que el usuario Juanito accede por primera vez al servicio, si quisiera entrar otra vez, por ejemplo, pasados 3 dias tendría que repetir el proceso de autorización que volvería a estar válido por otras 24 horas. Como he comentado antes podemos aumentar o disminuir ese valor como querarmos.

Lo siguiente que tenemos que hacer es ir al apartado Policies y crear una nueva:


   


Le ponemos también el nombre que nos apetezca y la configuramos así:


   


En Session duration lo dejamos tal como se ve en la imagen anterior para que coja el parámetro configurado anteriórmente.

En el apartado Selector escogemos Emails y añadimos los correos electrónicos válidos de las personas a las que vamos a autorizar el acceso, podemos poner tantos como queramos y no hace falta explicar que una vez puestos los podemos quitar tambien cuando nos apetezca.

Como regla extra tengo configurado un selector de país para que sólo se permita el acceso a los usuarios de España, esto es válido para que no todo el mundo pueda acceder a la web de validación que más tarde explicaré.

Hecho lo anterior lo siguiente es acceder en Cloudflare a nuestro tunel préviamente configurado y lo editamos:


   


Desplegamos el apartado Access y lo activamos a la derecha, también a la derecha nos encontramos un desplegable en el que encontraremos el nombre de la Application que hemos creado anteriórmente......... FIN.

A continuación paso a explicar lo que se va a encontrar Juanito cuando quiera acceder a nuestro servicio publicado a través de Cloudflared via web desde el exterior mediante el dominio pepito.com

Al acceder se le redirige a una web con un dominio personalizado cloudflareaccess.com


   


A continuación Juanito pone su correo electrónico préviamente autorizado por nosotros:


   


Una vez enviado el correo electrónico a Juanito le aparecerá lo siguiente:


   


En estos momentos Juanito ha recibido un correo electrónico enviado por Cloudflare con un código válido por 10 minutos, si Juanito se despista y se le pasa el tiempo puede reenviar el correo. El correo recibido por Juanito sería el siguiente:


   


En el correo se recibe un enlace válido también por 10 minutos para acceder diréctamente a nuestro servico publicado y junto a el el código TOTP........ si usamos el código TOTP......:


   


Al ponerlo Juanito llega al destino final:


   
  Responder




Usuarios navegando en este tema: 1 invitado(s)