OpenSSL nicht nur mit dem Raspberry Pi oder wie können Zertifikate selbst signiert werden mit eigener selbst-signierter Root-CA?

OpenSSL ist ein in C entwickeltes Kryptographiewerkzeug für das Secure Socket Layer (SSL). Es enthält das Mehrzweck-Befehlszeilenwerkzeug /usr/bin/openssl. Das Programm eignet sich für kryptographische Operationen wie:

  • Erzeugung von RSA-, DH- und DSA-Schlüssel-Parametern
  • Erzeugung von X.509-Zertifikaten, CSRs und CRLs
  • Berechnung von kryptographischen Einweg-Hashfunktionen
  • Ver- und Entschlüsselung mit Chiffren
  • Prüfung von SSL-/TLS-Clients und -Servern
  • Bearbeitung von S/MIME-signierter oder verschlüsselter E-Mail

Welche Version ist auf dem Raspberry Pi installiert? Ein „OpenSSL nicht nur mit dem Raspberry Pi oder wie können Zertifikate selbst signiert werden mit eigener selbst-signierter Root-CA?“ weiterlesen

Java: Array von Dubletten und null entfernen mit HashSet und zurück

Gesund oder Krank - Impfbeginn in Deutschland

Ergebnis: „Java: Array von Dubletten und null entfernen mit HashSet und zurück“ weiterlesen

Dynamische Fuzzy-Suche mit Fuse.js in Json Daten mit React App TWArztSuche

Eine Suche in Datenbeständen ist keine einfache Sache! Mit Fuse.js ist ein Suche mit Fuzzylogik möglich. Fuse.js ist eine mächtige Lib ohne viele Abhängigkeiten.

Eine suche mit Fuzzylogik ist eine unscharfe Suche und wird z. B. in der Automatisierungstechnik, Medizintechnik, Unterhaltungselektronik, KI, Fahrzeugtechnik und anderen Bereichen der Regelungstechnik verwendet. Zum Beispiel suchen wir nach dem Ort: Hameln und es werden uns auch Ergebnisse aus Hannover angezeigt. Beide beginnen mit Ha.

Wir programmieren mal Beispielsweise eine Arztsuche mit einfache Gui, wie bei Google, mit nur einem Eingabefeld. So soll die Seite aussehen, und ein Eintrag ist auch gleich die Online-Hilfe:

Das Ergebnis, wenn wir z.B. nach Anästhesie suchen sieht dann so aus bei den 5 Beispiel Datensätzen: „Dynamische Fuzzy-Suche mit Fuse.js in Json Daten mit React App TWArztSuche“ weiterlesen

Onion Webseite mit Elliptische Kurve Curve25519 absichern

Hier nun noch ein Level von Sicherheit mit dem Raspberry Pi. Wie hier beschrieben kann eine Website leicht für jedermann mit eigener onion Domain im Darknet bereitgestellt werden. Die Seiten können nun aber auch noch mit einen Curve25519-Key gesichert werden, so das nur Nutzer die den Key haben auf die Seiten zugreifen können. Wenn man dann z.B. die Adresse

http://tokc2fifswouszmp4jy3ejizmchy4damvhmdug5crvkvfgmymbejkqqd.onion

aufruft, erscheint im Browser, oben links ein Schloß. Wenn man darauf klickt erscheint der Dialog:

Hier wird dann der private Schlüssel, den man vom Bereitsteller erhalten hat eingegeben. Für diese Seite ist es der Schlüssel:

JDSQ2RRI2SLYCN4SG6ZBP4DHE4TEHZG26EJS5R6FYBPH6AU3FVEA

Jeder der diesen privaten Schlüssel hat, kann nun auf die Seiten zugreifen. Wer das falsche Passwort eingibt, kann nicht auf die Seite zugreifen: „Onion Webseite mit Elliptische Kurve Curve25519 absichern“ weiterlesen

Watchdog für einen CO2-Ampel Server oder andere per NodeRed

Hier mal kurz noch ein Beispiel-Flow mit NodeRed um einen Server oder so zu überwachen und wenn er sich nicht in einen bestimmten Zeitraum meldet wird eine Pushover Nachricht an ein Handy versand. Bei mir wird ein CO2-Ampel-Server der auf einem anderen Raspberry Pi läuft damit überprüft. Der sendet jede Minute den CO2 Wert in ppm. Wenn nach 10 Minuten Timeout nichts kommt, wird die Meldung an mein Handy gesendet. Aber nur maximal nur einmal die Stunde, will ja wenn er ausfällt nicht alle 10 Minugen eine Meldung bekommen, das währe dann zuviel des guten.

Hier der Java-Script Flow zum kostenlosen Download:… „Watchdog für einen CO2-Ampel Server oder andere per NodeRed“ weiterlesen

Tip: Copyright-Anzeige nach SSH Login anpassen/löschen

Beim Anmelden mit SSH auf den Raspberry Pi wird jedes mal diese Meldung ausgegeben.

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Das Nervt! Die habe ich gelöscht und durch eine für mich sinnvolle Bezeichnung welches Gerät es ist angepasst. So kann ich beim anmelden leichter sehen, mit welchem Gerät ich mich verbunden haben. Dazu einfach mit

die Datei wie gewünscht bearbeiten.

Ich habe da z.B. nur eingetragen: Raspberry Pi Zero Nr. 18 😉

SSH Anmeldung an dem Raspberry Pi ohne Passwort mit Elliptische Kurve – ed25519 Key


Wenn man vom Mac (Windows geht natürlich auch) aus auf einen entfernten Raspberry Pi 4 B zugreifen will, kann man das auch ohne jedesmal ein Passwort eingeben zu müssen. Dafür kann das moderne ed25519 Key Verfahren verwendet werden.

Dazu muss auf dem Pi ein .ssh Verzeichnis mit einer authorized_keys Datei angelegt werden:

Dann in der /etc/ssh/sshd_config des Pi die folgenden Einträge setzen: … „SSH Anmeldung an dem Raspberry Pi ohne Passwort mit Elliptische Kurve – ed25519 Key“ weiterlesen

Webserver Sicherheit überprüfen mit nikto

Wer einen eigenen Webserver laufen hat, kann mit nikto einen Sicherheitscann ausführen.

Nikto ist ein in Perl geschriebener Open Source Web Server Scanner. Nikto testet Web Server auf über 7800 potentiell schädliche Dateien und Programme und prüft über 1250 Server-Versionen auf ihre Aktualität und weist bei über 270 Server-Versionen auf bekannte Sicherheitslücken hin. Der Scanner prüft Header und versucht ausserdem, ausnutzbare Fehler und Defaults in der Webserver-Konfiguration aufzudecken. Nikto schickt ca. 7800 GET-Requests an den Webserver, um auf das Vorhandensein unsicherer Inhalte zu prüfen, richtet also keinen Schaden an.

Der ist schnell auf dem Raspberry Pi installiert mit:

sudo apt-get install nikto

Es wir die v2.1.5 installiert. Das kann mit
nikto -Version überprüft werden. Es wird die ausgegeben: „Webserver Sicherheit überprüfen mit nikto“ weiterlesen

Kostenlos eine Webseite im Darknet mit Raspberry Pi bereitstellen über Onion Service


Wie kann kostenlos eine Webseite mit .onion Domain auf einen Raspberry Pi Zero bereitgestellt werden?

Man braucht keine kostenpflichtige Domain wie z.B. www.wenzlaff.info beantragen und bezahlen.

Die .onion Domain gibt es kostenlos. Wir brauchen nur tor und einen Webserver wie z.B. nginx.

Folgende Schritte sind auf dem Raspberry Pi nötig:

„Kostenlos eine Webseite im Darknet mit Raspberry Pi bereitstellen über Onion Service“ weiterlesen

Zum heutigen National Donut Day mit Curve25519 free private/public Key generieren für Hidden Onion-Services

Dank an Dr.Kleinhirn.eu für die Mindmap

Wenn man Wikipedia glauben will dann ist „Curve25519 … eine elliptische Kurve, die für asymmetrische Kryptosysteme genutzt wird. Sie wird üblicherweise für digitale Signaturen und Schlüsselaustauschprotokolle genutzt und gilt als besonders schnell. Sie ist von der IETF als RFC 7748 standardisiert.“
Aber sie wird auch für Onion-Services verwendet. Deshalb mal heute zur Entspannung für 10 Minuten einen public und privaten Key auf einem Raspberry Pi (Zero) generieren. Inkl. Hostnamen. Das geht so:

Hier mal der lauf auf meinem Pi: „Zum heutigen National Donut Day mit Curve25519 free private/public Key generieren für Hidden Onion-Services“ weiterlesen

TWHackSSH 1.0.5 nun auch auf Maven Central

TWHackSSH ist nun auch auf Maven Central erhältlich. Lange dort nichts mehr hochgeladen. Die habe jetzt auch eine schöne Übersichtsseite aller Abhängigkeiten mit Scann und mit E-Mail Benachrichtigung:

Jetzt geht der Download also auch darüber, wer das TWHackSSH haben will, kann über

https://search.maven.org/remotecontent?filepath=de/wenzlaff/twhackssh/de.wenzlaff.twhackssh/1.0.5/

gehen oder von diese Seite das Programm laden … „TWHackSSH 1.0.5 nun auch auf Maven Central“ weiterlesen

SSH Passwort Zugriff mit Brute-Force Script in 19 Sekunden oder „Versuch macht klug!“

Der Versuch macht klug und der Erfolg kommt schon mit dem Versuch und nicht erst wenn es klappt. Wer sein eigenes Passwort für den Raspberry Pi (oder auch jeden anderen Rechner) vergessen hat, kann es ja mal mit dem SSH Brute-Force Script von nmap versuchen. Und es ist auch erschreckend, wie schnell und einfach man ein passwortgeschützen Zugang hacken kann. Aber nur an eigenen Rechnern 😉

Wir habe hier mal, wie oben dargestellt zwei Raspberry Pi. Von dem pi oben links, machen wir mit der Brute-Force-Methode einen Scann des pi auf dem ein SSH Port Nr. 22 offen ist.

Dazu benutzen wir nmap. Das können wir installieren mit

sudo apt-get install nmap oder wie hier beschrieben selbst compilieren.

Nun checken wir, ob der SSH-Port Nr. 22 offen ist mit nmap: … „SSH Passwort Zugriff mit Brute-Force Script in 19 Sekunden oder „Versuch macht klug!““ weiterlesen

Architektur mit archunit validieren

Mit automatischer Architektur validierung mit JUnit 5 Annotation @ArchTest von archunit kann leicht die Architektur vorgaben überprüft werden. Aber es kann auch leicht verhindert werden, das man z.B. System.out oder System.err verwendet. Oder das verhindert wird, das das interne Java Logging verwendet wird.

Was für mich auch wichtig ist, das der Logger immer LOG heißt, und nicht log oder logger.


Einfach diese JUnit-Test Klasse in alle Projekte einbinden. „Architektur mit archunit validieren“ weiterlesen

Release 21.05 von rtl_433 für den Raspberry Pi veröffentlicht um Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. zu empfangen

Vor 3 Jahren hatte ich hier schon mal berichtet, wie man rtl_433 installieren und updaten kann. Und hier wie man die Daten per MQTT verteilt. Da vor ein 8 Tagen das neue Release 21.05 veröffentlicht wurde, ist es mal Zeit das zu installieren.


„Release 21.05 von rtl_433 für den Raspberry Pi veröffentlicht um Temperatursensoren und Luftruck von Autoreifen (TPMS) uä. zu empfangen“ weiterlesen

Betriebssystem abhängige Tests :-( – EnabledOnOs oder DisabledOnOs für JUnit 5

Seit JUnit 5.1 gibt es das OS Enum. Mit der können leicht Tests in Abhängigkeit des OS durchgeführt werden. Es werden die folgenden Betriebssysteme unterstüzt:

Also nur die Methode z.B. mit der @EnabledOnOs(OS.MAC) Annotation versehen, und der Test läuft nur auf dem Mac 🙂 oder nicht dann mit @DisabledOnOs(OS.MAC): … „Betriebssystem abhängige Tests 🙁 – EnabledOnOs oder DisabledOnOs für JUnit 5“ weiterlesen

Covid Inzidenz abfragen beim „Robert Koch Institute (RKI)“ und per Pushover auf das Handy versenden

Coronavirus: Zahl der täglichen Neuinfektionen geht weiter zurück (153). Wie lautet die Inzidenz für meine Stadt? Hier ein kleiner Flow, der täglich auf das Handy per Pushover (siehe Bild oben) die aktuelle Inzidenz Zahl vom RKI versendet. Dann braucht man nicht immer auf das Dashboard des RKI zu schauen…. „Covid Inzidenz abfragen beim „Robert Koch Institute (RKI)“ und per Pushover auf das Handy versenden“ weiterlesen