HowTo: Nodo rojo - Cifrar conexión

En el artículo NodeRed – Benutzerlogin einrichten wurde bereits darauf hingewiesen, dass es sehr wichtig ist den Zugang zu Eurer NodeRed-Konfigurationsoberfläche abzusichern. Gerade wenn Ihr über das Internet auf eure NodeRed-Konfiguration zugreift solltet Ihr sicherstellen, dass wirklich nur Ihr Zugriff darauf habt.

Neben der Einrichtung eines Benutzerlogins ist es auch wichtig und nützlich die Verbindung zwischen Eurem Browser und dem NodeRed-Server zu verschlüsseln.

Wie Ihr dabei vorgehen könnt ist im folgenden Artikel beschrieben.


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:
Damit Ihr einen Benutzerlogin einrichten könnt sollte NodeRed natürlich schon installiert sein.
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.

Ordner für die Zertifikate erstellen

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

Damit die Verschlüsselung Eurer Verbindung zu Node-Red funktioniert müsst Ihr ein paar Zertifikatsdateien erstellen. Mit folgendem Befehel erstellt Ihr eine Schlüsseldatei.

openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
Nach der Eingabe dieses Befehls werdet Ihr nach ein paar Details gefragt die in Eurem Schlüssel eingetragen werden. Hier könnt Ihr alles natürlich – soweit möglich – korrekt ausfüllen, müsst Ihr aber nicht. Der einfachheit halber könnt Ihr auch alles leer lassen oder (so wie in diesem Beispiel) nur Striche eintragen.

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

Dieser Befehl erstellt ein Zertifikat und signiert es mit dem von euch erstellten Schlüssel.

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

Nun müsst Ihr Eurere NodeRed-Installation noch mitteilen, dass die Verbindung in Zukunft verschlüsselt ablaufen soll. Außerdem müsst Ihr dazu angeben wo eure soeben erstellten Zertifikatsdateien liegen.
Diese Informationen müssen in die Konfigurationsdatei von NodeRed eingetragen werden. Öffnet dazu Eure NodeRed-Konfigurationsdatei mit folgendem Befehl:

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

In der Konfigurationsdatei müssen mehrere Einstellungen/werte angepasst werden.
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.

Damit dieser Funktionsblock aber auch die Pfade zu Euren Zertifikatsdateien enthält müsst Ihr diese noch angeben. Dazu kopiert Ihr folgenden Text in den Funktionsblock.

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

Damit die eingetragenen Änderungen in der Konfigurationsdatei nun auch übernommen werden müsst Ihr NodeRed nun neu starten. Dies geht mit folgendem Befehl.

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.

Der Zugriff über die alte URL ist nicht mehr möglich.

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://”.

Die meisten Browser warnen an dieser Stelle nun davor, dass das Zertifikat mit dem Ihr Eure Verindung verschlüsselt selbstsigniert ist und somit nicht von einer dritten Stelle validiert ist. Auf normalen Webseiten ist dies tatsächlich ein Problem, weil dies darauf hinweisen kann, dass die angeblich sichere Verbindung in wirklichkeit doch nicht sicher ist. In diesem Fall ist es aber in Ordnung, weil wir das Zertifikat ja soeben selbst erstellt haben.

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.

NodeRed-Konfigurationsseite aufgerufen mit nun verschlüsselter Verbindung.

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.