HowTo: Nodo rojo - Cifrar conexión

En el artículo NodeRed - Configurar el inicio de sesión de usuario Ya se ha señalado que es muy importante asegurar el acceso a la interfaz de configuración de su NodeRed. Especialmente si accede a su configuración NodeRed a través de Internet, debe asegurarse de que sólo usted tiene acceso a ella.

Además de configurar un inicio de sesión de usuario, también es importante y útil cifrar la conexión entre su navegador y el servidor de NodeRed.

En el siguiente artículo se describe cómo hacerlo.


Instrucciones de seguridad

Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/

Enlaces afiliados / enlaces publicitarios

Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂 


Requisitos

Artículos útiles:
Por supuesto, NodeRed ya debería estar instalado para que puedas configurar un inicio de sesión de usuario.
En los siguientes artículos se describe cómo preparar una RaspberryPi y luego instalar NodeRed en ella.

Los siguientes tres artículos describen lo que se debe hacer para preparar la RaspberryPi:
RaspberryPi: ¡configuración para nerdiys!
RaspberryPi – ¡La primera configuración!
RaspberryPi: controle el RaspberryPi a través de SSH

NodeRed: instalación de NodeRed en RaspberryPi

Material requerido:
-No-

Material requerido:

En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.


Inicie sesión en RaspberryPi a través de SSH

Para comenzar, primero debe iniciar sesión en Rasp Pi con Putty a través de SSH. Cómo hacer esto está en el artículo. RaspberryPi - Controle el RaspberryPi a través de SSH descrito.

Después de ingresar su nombre de usuario y contraseña, puede ingresar los primeros comandos.

Crear carpeta para los certificados

Para poder guardar los archivos del certificado en una ubicación central, se recomienda crear una carpeta en el directorio NodeRed. Si tu carpeta ".node-red" está en tu directorio home - que debería ser el caso si has instalado NodeRed con el script de instalación - puedes crear una nueva carpeta con el siguiente comando.

mkdir /home/pi/.node-red/certificados

Después de ejecutar este comando, se habrá creado una nueva carpeta llamada "certificates" en su carpeta ".node-red".


Cambiar a la carpeta creada

Para que los archivos de certificado que se crearán también se guarden en esta carpeta recién creada, ahora debe cambiar a esto con el siguiente comando.

cd /home/pi/.node-red/certificados/


Generar archivos de certificado

Para que la encriptación de tu conexión a Node-Red funcione, necesitas crear unos archivos de certificado. Utiliza el siguiente comando para crear un archivo de claves.

openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
Tras introducir este comando, se le pedirán algunos datos para introducir en su clave. Por supuesto, puedes rellenarlo todo correctamente -en la medida de lo posible-, pero no es obligatorio. Para simplificar, también puedes dejarlo todo en blanco o (como en este ejemplo) introducir sólo guiones.

openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt

Este comando crea un certificado y lo firma con la clave que has creado.

Ingrese la ruta a los archivos del certificado en el archivo de configuración de NodeRed

Ahora tienes que decirle a tu instalación de NodeRed que la conexión debe ser encriptada en el futuro. También debes especificar dónde se encuentran los archivos de certificado que acabas de crear.
Esta información debe introducirse en el archivo de configuración de NodeRed. Para ello, abra el archivo de configuración de NodeRed con el siguiente comando:

sudo nano /home/pi/.node-red/settings.js

Deben ajustarse varios parámetros/valores en el archivo de configuración.
En primer lugar, elimine las dos barras delante de "var fs = requiere("fs");". Esto carga una función que permite a NodeRed acceder a los archivos de certificados.
Ahora use las teclas de flecha para navegar hacia abajo hasta la posición especificada en el archivo de configuración.
Una vez allí, elimine las barras delante de "https: {" y la línea tres líneas más abajo con "},". La eliminación de las barras inclinadas activa este bloque de función y la configuración que contiene.

Para que este bloque de funciones contenga también las rutas de acceso a sus archivos de certificado, deberá especificarlas. Para ello, copie el siguiente texto en el bloque de funciones.

clave: fs.readFileSync('/home/pi/.node-red/certificates/key.pem'), certificado: fs.readFileSync('/home/pi/.node-red/certificates/server.crt')
Si ha copiado los comandos en el bloque de funciones, todo debería verse así.
Encontrará el último cambio unas líneas más abajo. Ahí tienes que eliminar las dos barras delante de "requireHttps: true,". Esto debería resultar en que seas redirigido automáticamente a la conexión segura si intentas acceder a NodeRed a través de una conexión insegura. ATENCIÓN: Asegúrese de que se introduce una coma después de "requireHttps: true". Si falta, la instalación de NodeRed no se iniciará correctamente.
Una vez realizados todos los cambios, puede volver a cerrar el fichero de configuración. Para ello, pulsa "CTRL+X"...
...y confirma la solicitud con "Y" y "Enter".

Reiniciar NodeRed

Ahora debe reiniciar NodeRed para que también se apliquen los cambios introducidos en el archivo de configuración. Esto se puede hacer con el siguiente comando.

nodo de servicio sudo reinicio rojo


Ir a la página de configuración de NodeRed

Después de reiniciar NodeRed, verá que su instalación de NodeRed ya no es accesible bajo la antigua URL. Esto se debe a que antes accedía a su página de configuración de NodeRed a través de "http://", pero ahora sólo es accesible bajo "https://". Las capturas de pantalla muestran la ruta con el navegador Google Chrome. Sin embargo, esta ruta es similar para otros navegadores.

El acceso a través de la antigua URL ya no es posible.

Para poder acceder de nuevo a su página de configuración de NodeRed, debe anteponer a la URL de su página de configuración de NodeRed el prefijo "https://".

URL de la página de configuración precedida de "https://".

La mayoría de los navegadores ahora le advierten en este punto que el certificado que está utilizando para cifrar su conexión es autofirmado y por lo tanto no validado por un tercero. En realidad, esto es un problema en los sitios web normales porque puede indicar que la conexión supuestamente segura no lo es en realidad. En este caso, sin embargo, está bien porque acabamos de crear el certificado nosotros mismos.

Aviso de seguridad del navegador (En este caso Google Chrome).

Para evitar la advertencia, haga clic en "Avanzado"...

...y, a continuación, haga clic en "Continuar con ...". Ahora será redirigido a la página de configuración habitual de su instalación de NodeRed.

Página de configuración de NodeRed abierta con conexión ahora encriptada.

Diviértete con el proyecto.

Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂

PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂

Cómprame un café en ko-fi.com       

2s comentarios

  1. Hola,
    Gracias por tu contribución.

    Esta advertencia de seguridad me molesta a mí y a todos los demás usuarios de mi hogar también. La comprobación de la temperatura ambiente siempre está asociada a unos pocos clics.
    ¿Cómo puedo omitir la advertencia de seguridad del navegador (cuando abro el tablero)?
    Estoy ejecutando Node-Red en una Raspberry.

    Muchas Gracias y saludos

    1. Hola elogio,
      con alegría. 🙂
      El problema con esto es que el navegador no acepta el certificado autofirmado. Esto es realmente intencionado pero, por supuesto, molesto.
      Que yo sepa tienes dos opciones:
      – Instalar el certificado en cada dispositivo. Desafortunadamente, no tengo instrucciones para esto, pero también creo que esta solo sería una opción para Windows. Por razones de seguridad, esto no es posible en dispositivos Android/Apple (que yo sepa).
      - Podría haber Opción dos posible: los certificados SSL firmados se pueden crear con LetsEncrypt. Desafortunadamente, tampoco tengo instrucciones para esto. Pero tal vez lo siguiente ayuda. 🙂
      https://discourse.nodered.org/t/node-red-ssl-using-letsencrypt-certbot/17606
      Atentamente
      Fabian

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.