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

Um die Zertifikatsdateien an einem zentralen Ort speichern zu können empfiehlt es sich einen Ordner im NodeRed Verzeichnis zu erstellen. Sofern Euere „.node-red“-Ordner in Eurem home-verzeichnis liegt – was der Fall sein sollte, wenn Ihr NodeRed mit dem Installationsskript installiert habt – könnt ihr einen neuen Ordner mit folgendem Befehl erstellen.

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

Nachdem Ihr diesen Befehl ausgeführt habt sollte ein neuer Ordner namens „certificates“ in Eurem „.node-red“ Ordner erstellt worden sein.


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.
Als erstes entfernt Ihr die beiden Schrägstriche vor „var fs = requiere(„fs“);“. Dadurch wird eine Funktion geladen, welche es NodeRed ermöglicht auf die Zertifikatsdateien zuzugreifen.
Ahora use las teclas de flecha para navegar hacia abajo hasta la posición especificada en el archivo de configuración.
Dort angekommen entfernt Ihr wieder die Schrägstriche vor „https: {“ und der drei Zeilen tiefer liegenden Zeile mit „},“. Das entfernen der Schrägstriche aktiviert diesen Funktionsblock und die darin enthaltenen Einstellungen.

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í.
Die letze Änderung findet Ihr ein paar Zeilen tiefer. Dort müsst Ihr die beiden Schrägstriche vor „requireHttps: true,“ entfernen. Dies sollte dazu führen, dass Ihr automatisch auf die sichere Verbindung umgeleitet werdet falls ihr über eine unsichere Verbindung versucht auf NodeRed zuzugreifen. ACHTUNG: Hier unbedingt darauf achten, dass nach dem „requireHttps: true“ ein Komma eingetragen ist. Falls dieses fehlt startet euere NodeRed-Installation nicht korrekt.
habt ihr alle Änderungen vorgenommen, könnt ihr die Konfigurationsdatei wieder schließen. Drückt dazu auf „STRG+X“…
…und bestätigt die Nachfrage mit „Y“ und „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

Nach dem Ihr NodeRed neugestartet habt werdet ihr sehen, dass eure NodeRed-Installation unter der alten URL nicht mehr erreichbar ist. Dies liegt daran, dass Ihr vorher über „http://“ auf eure NodeRed-Konfigurationsseite zugegriffen habt, diese nun aber nur noch unter „https://“ erreichbar ist. Die Screenshots zeigen den Weg mit dem browser Google Chrome. Bei anderen Browsern ist dieser Weg aber ähnlich.

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

Damit ihr nun wieder auf Eure NodeRed-Konfigurationsseite zugreifen könnt müsst Ihr der URL zu Eurer NodeRed-Konfigurationsseite ein „https://“ voranstellen.

URL zur Konfigurationsseite mit vorangestelltem „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).

Um die Warnung zu umgehen klickt ihr auf „Erweitert“…

…und dann auf „Weiter zu …“. Nun werdet Ihr auf die gewohnte Konfigurationsseite euer NodeRed-Installation weitergeleitet.

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.