Suche nach:
Node-Red mit Passwort absichern

In der Standardinstallation ist das Node-Red Webinterface für jeden erreichbar. Das das nicht gerne gewünscht ist, ist klar. Es gibt aber eine einfache Möglichkeit das ganze abzusichern.

Node-Red verwendet den Hash-Wert eines Passwortes, den kann man mit dem Paket node-red-admin der Node-Red installation erzeugen. Aber erstmal das Paket installieren:

sudo npm install -g node-red-admin

Jetzt den Hash eures Passwortes erzeugen

sudo node-red-admin hash-pw

Nun werdet ihr nach eurem Passwort gefragt. Nach der Bestätigung, wird euch der Hash-Wert angezeigt, den kopiert ihr am besten gleich raus.

Jetzt muss die Datei „settings.js“ zum editieren geöffnet werden. Ich verwende dafür VIM. Nano oder jeder andere Editor geht aber natürlich auch. Die Datei sollte im Installationsverzeichnis sein. Ich habe das ganze im Docker laufen, daher ist sie für mich einfach im /config Ordner.

Ist die Datei geöffnet, findet ihr schon auskommentiert folgende Zeilen:

[code]
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "your hash",
permissions: "*"
}]
},
[/code]

Dort nun einfach euren gewünschten Benutzernamen eintragen und den Hash-Wert einfügen. Das ganze bleibt in den Anführungszeichen.

Nun noch Node-Red Neustarten. Entweder den Docker-Container oder eben mit „sudo service nodered restart“. Und schon bekommt ihr ein Login-Fenster und eure Installation ist sicher 🙂

Portforwarding (DNAT) auf einer Juniper SRX Firewall an einem DSL Anschluß mit dynamischer IP

Diese Anleitung ist absolut Quick&Dirty. Ich habe so lange gesucht bis ich verstanden hatte, wie es geht und es dann auch zum Laufen zu bringen. Aber wenn man sich grob an diese Liste hält, sollte es hinkommen.
Wenn ich Zeit finde, werde ich die Schritte nochmal einzeln erklären


Steps:

Network->NAT->Destination NAT
Rule-Set erstellen. From Zone „Internal“

Bei Destination Address „0.0.0.0/0“ eingeben. Das sagt, dass jede IP aus jedem Subnetz erlaubt ist. Hier auch dringend den Port eingeben um den es geht.

Dann einen Destinatination NAT Pool erstellen in dem man auf das „+“ klickt.

Dann zu „Security Policies & Objects -> Services“ und eine neue Aplikation erstellen

Dann zu „Security Policies & Objects -> Zone Addresses“ und die Zielsysteme einstellen:

Dann zu „Security Policies & Objects -> Security Policy“
Dort eine neue Internet to Internal Regel erstellen:

Dann die Zielsysteme und Applikationen einstellen.

Tutorial für die Installation von Docker und Portainer auf einem RaspberryPi sowie Grafana

Bei meiner Recherche bin ich auf einen wirklich guten Autoren gestoßen der sehr gut erklärt, wie man Docker mit passender GUI „Portainer“ installiert.
In einem weiteren Tutorial zeigt er, wie man dazu noch Grafana mit InfluxDB und Telegraf als Docker einbindet.

Meiner Meinung nach, die bisher besten Tutorials zu Docker die ich gelesen habe! Schaut mal rein:

https://darkwolfcave.de/raspberry-pi-docker-ohne-probleme-installieren/

https://darkwolfcave.de/raspberry-pi-monitoring-grafana-installieren/

SVN (Subversion) Server auf Linux installieren

Eine Versionsverwaltung ist das A und O eines Entwicklers. Wenn man alleine Arbeitet ist einem ein GIT vielleicht zu groß, hier kommt SVN ins Spiel. Es ist ein zentrales Versionsverwaltungstool welches man sehr einfach installieren und betreiben kann. Hier die Schritte um einen RaspberryPi oder eine andere Linux-Maschine in einen SVN Server zu verwandeln.

Schritt 1: Apache Webserver installieren

Der SVN Server läuft auf einem Apache Web-Server. Der ist mit APT schnell installiert.

sudo apt update
sudo apt -y install apache2 apache2-utils

Schritt 2: Apache SVN mit allen nötigen Tools installieren

sudo apt -y install vim tree subversion libsvn-dev libapache2-mod-svn subversion-tools

Schritt 3: Die nötigen Module für SVN aktivieren und den Apache Server neustarten

sudo a2enmod dav dav_svn
sudo systemctl restart apache2

Schritt 4: Apache SVN Konfiguration anpassen (/etc/apache2/mods-enabled/dav_svn.conf)

Alias /svn1 /media/svnNAS
<Location /svn>

   DAV svn
   SVNParentPath /media/svnNAS

   AuthType Basic
   AuthName "Subversion Repository"
   AuthUserFile /etc/apache2/svn_user/dav_svn.passwd
   Require valid-user
</Location>

Mein SVN Verzeichnis auf dem Server ist „/media/svnNAS“.
Der Link bzw. der Alias ist „/svn“ (http://deinedomainoderip/svn/.

Das AuthFile haben ich unter „/etc/apache2/svn_user/dav_svn.passwd“ abgelegt.

Schritt 5: Apache Server neustarten

sudo systemctl restart apache2

Schritt 6: Benutzer für den SVN Server erstellen

Das ganze muss natürlich sicher sein, dafür legt man eine eigene Datei an die den Benutzernamen und das Passwort (verschlüsselt) speichert. Wie oben bereits beschrieben, habe ich das File in „/etc/apache2/svn_user/dav_svn.passwd“ abgelegt.

htpasswd -cm /etc/apache2/svn_user/dav_svn.passwd admin

Nach der Eingabe wird zugleich das Passwort abgefragt welches der Benutzer haben soll

New password: (PASSWORT)
Re-type new password: (PASSWORTBESTÄTIGEN)
Adding password for user admin

Wir verwenden bei dem Befehl zwei Optionen. Zum einen „c“ welches angibt, dass wir eine neue Datei erstellen wollen. Dieses brauchen wir für neue User danach nicht mehr. Und „m“ welches angibt, dass das eingegebene Passwort per MD5 verschlüsselt wird.

Für neue Benutzer ist der Befehl dann wie folgt:

htpasswd -m /etc/apache2/svn_user/dav_svn.passwd NeuerBenutzer

Schritt 7: Das erste Repository mit „svnadmin“ anlegen

Wie man in der Konfiguration gesehen hat, habe ich meinen Repository-Speicher auf „/media/svnNAS“ abgelegt. Der Ordner „svnNAS“ muss also erst angelegt werden.

mkdir /media/svnNAS

Wenn das erledigt ist, können wir mittels „svnadmin“ unser erstes Repository anlegen

svnadmin create /media/svnNAS/(repo-name)

(repo-name) müsst ihr durch den Namen eures ersten Repositorys ändern!
Dieser Befehl erstellt nun automatisch die passende Ordner und Dateistruktur die benötigt wird,

Schritt 8: Rechte für den Apache

Da der SVN Server auf einem Apache läuft, hat auch nur der Apache die Möglichkeit das Repository aufzurufen. Daher muss das Repository dem Benutzer des Apache zugewiesen sein. In der Regel ist das „www-data“ mit der gleichnamigen Gruppe.

chown -R www-data:www-data  /media/svnNAS

Zusätzlich benötigt der Server die passenden Lese und Schreibrechte

chmod -R 775 /media/svnNAS

Mit der Option „-R“ werden auch Unterordner und Dateien mit diesen Rechten ausgestattet.

Schritt 9: FINALE – Der Test eures SVN Servers

Der Server ist fertig. Das praktisch, man kann euer erstes Repository nun direkt im Browser aufrufen.
Gehen wir davon aus, ihr habt das Repository „MyRepo“ genannt, dann könnt ihr mit folgendem Link das ganze aufrufen:

http://serveripodername/svn/MyRepo

Jetzt solltet ihr aufgefordert werden, euren Benutzernamen und Passwort einzugeben. Danach erscheint euer erster Repository!

Abschließende Wort

Subversion ist in der Regel nicht die erste Wahl, ein GIT hat viele Vorteile. Ich mag Subversion aber für mich Zuhause lieber. Im Falle eines Server-Ausfalls, habe ich aber keinen Zugriff mehr auf meine Daten. Da ist GIT praktischer. Dennoch, für meine privaten Arbeiten, mein bevorzugtes Tool.

Als Tool auf meinem Mac nutze ich Versions. Ein praktisches Tool für die Arbeiten mit einem Subversion-Server.

Und nun, viel Spass damit! Bei Fragen, gerne kommentieren.