Passwörter verwalten mit KeePass

Ich hatte in Vergangenheit meine ganzen Kennwörter in Google Chrome mit einem Syncpass gesichert und Synchron gehalten.
In jüngster Vergangenheit habe ich aber festgestellt, dass die Synchronisierung nicht mehr so wirklich funktioniert hat und einige Kennwörter, die ich auf PC A geändert hatte, nicht auf PC B synchronisiert wurden.

In diesem Kontext habe ich mich mal mit einer Alternative beschäftigt, um auch die Passwortverwaltung in die eigene Nextcloud zu verschieben um einfach die Kontrolle zu behalten, man kennt ja Google.

Hier habe ich mich dann für eine KeePass Datenbank entschieden, da es zum einem Plattformunabhängig ist und zweitens, es eine Integration in Nextcloud gibt, dazu aber später mehr.

Ich habe nun also eine KeePass Datenbank auf meiner Nextcloud Instanz angelegt und diese via WebDAV in das KeeWeb-Plugin von Nextcloud integriert.
Hierfür ist noch ein kleiner Kunstgriff in Nextcloud nötig, damit die Datei einfach per Klick in dem Web-Plugin geladen werden kann:
sudo nano /var/www/html/nextcloud/config/mimetypemapping.json
mit folgendem Inhalt:
{
"kdbx": ["application/x-kdbx"]
}
Ich Anschluss muss zwingend ein Filescan angestoßen werden, da ansonsten die Änderung nicht wirksam ist!
sudo -u www-data php /var/www/html/nextcloud/occ files:scan --all

Wenn der File-Scan durchgelaufen ist, können die kdbx Dateien von KeePass einfach per Klick in Nextcloud geöffnet werden.

Um nun Geräteunabhängig auf diese Datenbanken zugreifen zu können, habe ich mich in Primärerer Weise nach Programmen umgeschaut, die eine WebDAV.
Folgende Programme verwende ich:

iOS: Strongbox (WebDAV Unterstützung)
Windows: KeePass (Offizielle Programm, WebDAV Unterstützung)
MacOSX: MacPass (WebDAV Unterstützung)
Chrome Browser: KeePass Tusk (WebDAV Unterstützung)

Im Anschluss bin ich mal auf beiden Hauptgeräten (Mac und Windows) die Passwortliste durchgegangen, da hier Abweichungen durch den oben genannten Synchronisationsaufall entstanden sind.

Mannomann was sich da an Zugangsdaten über die Zeit ansammelt ist wunderbar (NICHT!).
Beim durchgehen und übertragen in KeePass habe ich in erster Linie einmal alle Kennwörter geändert und in zweiter Linie, Accounts gelöscht bzw. löschen lassen, die ich eigentlich gar nicht mehr benutze.

Alles in allem, erkenne ich jetzt keinen großen Nachteil durch die Konstellation.
Durch das Chrome Plugin und WebDAV habe ich auf allen Geräten immer die neuste Datenbank-Datei und Kann die Kennwörter auch jederzeit überall ändern wie ich es brauche.

UPDATE:
Mit der iOS App Strongbox ist mir noch aufgefallen, dass man den Standart Passwortspeicher in den iOS Einstellungen umändern kann.
Finde ich mittlerweile sehr nützlich.
Hierfür unter iOS in die Einstellungen -> Passwörter & Accounts -> Automatisch ausfüllen und hier einfach die von iCloud-Schlüsselbund auf Strongbox ändern.

Der Rasperry-Pi 4

Heute ist mein Raspberry Pi 4 angekommen und ich musste ihn natürlich gleich aufbauen und testen.

Bestellt habe ich ihn bei Amazon in der 2 GB Variante (Konnte die 4 GB Variante irgendwie nicht vorrätig finden?).
Dazu ein Gehäuse + Netzteil: Link
Das Gehäuse war sehr interessant beim Zusammenbau aber es ging.
Ich habe mich für das Gehäuse entschieden, da hier Kühlkörper + externen Lüfter enthalten waren und ich vorab im Internet gelesen habe, dass hier eine definitive Empfehlung zu einem externen Lüfter geht.

Auf dem kleinen läuft nun ein Debian Buster und aktuell folgende Dienste:

Plex Media Server
Nextcloud (Apache 2.4 / PHP7.3)
PiHole

Meine Datenbank der Nextcloud habe ich auf meiner Synology gelassen, kann da ja ruhig drauf bleiben.

Zum Thema Nextcloud:
Nextcloud ist so installiert, dass sowohl das “data” Verzeichnis als auch die MariaDB SQL auf der Synology liegt.
Mit der Datenbank Verbindung hatte ich keine Probleme, hier habe ich auf der Synology einfach einen Remote Account angelegt, mit Vollzugriff auf die Nextcloud Datenbank, wie man es eben kennt.

CREATE USER 'nextcloud'@'10.9.40.70';
GRANT ALL PRIVILEGES ON cloud.* To 'nextcloud'@'10.9.40.70' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;

Mit dem Datenverzeichnis hatte ich da schon mehr Probleme.
Das Problem bei NFS, hier werden die Verzeichnisberechtigungen per UID bzw. GUID definiert, d.h. wenn mein “www-data” Account auf dem Pi die UID 25 hat und die Gruppe die GUID 26, über ls -l jedoch als Berechtigte UID bzw. GUID wie folgt aus sieht: 1024 / 1025 – bekommt der www-data Account keine Berechtigung auf dem Verzeichnis.
Einfachste Lösung hierfür war:
Remappen der UID bzw. GUID der www-data:

usermod -u 1024 www-data
groupmod -g 1025 www-data


Danach ging auch der Schreibzugriff auf das Cloud-Daten Verzeichnisses.

Zum Thema Performance brauch sich der Pi 4 hier nicht Verstecken.
Auf meiner Instanz sind aktuell 5 Users Aktiv (Familie) und ich muss sagen, sowohl der Seitenaufbau über den Browser, als auch der automatische Kamera-Upload funktionieren wesentlich schneller, als auf der Synology Box, ich kann hier nur einen minimalen Unterschied feststellen, zu der Geschwindigkeit, als die Instanz noch auf meinem vServer gelaufen ist, also die Ladezeit kann hier meiner Meinung nach mit dem virtuellen Server im Internet locker mithalten.

Zum Thema Plex:
Das funktioniert natürlich auch wunderbar, ich habe meine Mediathek mal komplett auf *.MP4-Dateien konvertiert, da diese zum Direct Play geeignet sind und kein Transcoding stattfindet, von daher kann ich zur Transcoding-Performance keine Aussage treffen.

Zum Thema Temperatur:
Wie am Anfang schon geschrieben, hat der Raspberry Pi 4 wohl bei höherer Auslastung auch entsprechend eine höhere CPU Temperatur, mit dem Externen Lüftern und den Kühlkörpern des Gehäuses, dass ich mir dazu gekauft habe, scheint das aber kein Thema zu sein.
Ich habe das während der Installation mal Beobachtet und die höchste von mir gemessene CPU Temp waren 55,0° – also Lauwarm.
Jetzt wo er fertig ist und nur noch Rumdümpelt, liegt die Temp bei 49,0°

~# sudo vcgencmd measure_temp
temp=49.0'C

Also alles in allem, ist der Pi 4 eine deutliche Verbesserung zum 3er Model und die Anschaffung kann sich durchaus lohnen.

Home Assistant vs. Homematic – Teil 2

Meine Umstellung von Home Assistant auf Homematic bzw. auf einen Raspberrymatic ist nun soweit abgeschlossen.
Ich habe weiterhin auch meine Geräte konsolidiert.

D.h.:
Statt Laptop mit 2 Externen Festplatten (1 x Daten, 1 x Datensicherung) und diversen VM’s läuft nun als Speicherherz eine Synology DS218j mit 2 x 3 TB Platten (Wird ggf. auf 2 x 6 TB erhöht, wenn jetzt beim PrimeDay mal was dabei ist).
Auf dieser NAS habe ich nun folgende Dienste laufen

  1. Nextcloud (Apache 2.4, PHP 7.2, MariaDB 10)
  2. openVPN
  3. Samba-Server (Dateifreigaben)
  4. Backup auf Externe (via Hyper Backup)
  5. Surveillance Station (mit aktuell 4 Kameras, Tendenz steigend)

Bei der Nextcloud Instanz war ich mir anfangs nicht sicher, wie sich die Performance auf der Synology DS218j anfühlt aber für meine Zwecke (etwas Datenfreigeben, Bildersync usw.) ist es völlig okay, klar kann das nicht mit einem richtigen Server mithalten, aber es kommt immer drauf an, was man erwartet.

Als SmartHome-Herz läuft nun ein Raspberrymatic mit dem RPI-RF-MOD Modul für das Homematic bzw. auch Homematic IP Protokoll.
Darauf habe ich mir gleich den CuXD installiert, damit ich meine diversen TP-Link HS100 bzw. auch die HS110 einbinden kann.
Für die Alexa Anbindung habe ich einen zweiten Raspberry Pi installiert mit IOBroker und dem Homematic Adapter und dem Cloud-Adapter.

Eins noch, da ich dazu keine Lösung im Internet gefunden hatte, habe ich mir eine Lösung selbst gebaut.

Ich habe einen Samsung Smart-TV und diesen habe ich immer via samsungctl über Home Assistant gesteuert (Jugenschutz-Pin bzw. ausschalten).
Das ganze konnte ich auch in Homematic integrieren, dafür habe ich Python3 + samsungctl auf dem IOBroker Raspberry installiert, über ssh-copy-id eine Passwortlose Authentifizierung eingerichtet (auf dem Raspberrymatic muss dafür das Addon “SSH-keydir” installiert sein, damit der Key auch sicher gespeichert ist) und danach über CuXD bzw. Script die Ausführung von Samsungctl über den zweiten Pi Richtung Samsung-TV.
Für das Ein bzw. Ausschalten sieht das in der CuXD wie folgt aus:

Ausschalten:
SWITCH-FALSE CMD_SHORT(/usr/bin/ssh root@10.9.40.70 /root/homematic/Samsung_Off.sh)

Anschalten:
SWITCH-TRUE CMD_LONG(/usr/sbin/ether-wake 9C:8C:6E:52:F3:E6)

Auf dem IOBroker-Pi habe ich unter root einen Ordner angelegt “homematic” und da als Script jeweils die auszuführende Aktion, z.B.:

samsungctl --host 10.9.40.37 --port 8002 --method websocket KEY_RED
sleep 1
samsungctl --host 10.9.40.37 --port 8002 --method websocket KEY_POWER

der KEY_RED ist zum Verbindungsaufbau der Websocket connection, falls die mal nicht aufgebaut ist.