Im Frontend ändert sich mein Blog nur noch marginal. Jedoch musste ich mich aufgrund von Änderungen im Sourcecode von WordPress für ein anderes Theme entscheiden. Zuvor hatte ich ein Theme von einem deutschen bekannten Entwicklerpaar gekauft, aber leider endet hier der Support doch recht schnell. Auch Bugfixes, welche ich einmal auf Github eingereicht hatte, wurden ... Weiterlesen
Ich habe nun das nächste Plugin aus WordPress entfernt. Auch habe ich mir nochmals Gedanken über dieses Plugin gemacht und es ist definitiv nicht Datenschutz konform, wenn ich Daten aus Github nachgeladen habe. Ich hatte zwar somit immer die neueste Version des Codes eingebunden, aber es war eigentlich eine Faulheit auf Kosten der Lesenden. Im ... Weiterlesen
Nachdem unsere Community-Cloud das vorab letzte Software-Upgrade und eine neue SSD erhalten hatte, wurde es nun Zeit auch die Hardware auf eine neue Stufe zu heben. Da wir der Meinung waren, dass hierzu ein Raspberry P4 4 Modell B mit 8GB völlig ausreicht, haben wir uns bewusst für dieses Gerät entschieden. Eingepackt in ein passiv gekühltes Metallgehäuse wird uns diese Kombination, so hoffe ich, die nächste Zeit zuverlässig begleiten.
Da ein Upgrade der installierten Software vom Raspberry Pi 3 auf den Raspberry Pi 4 wenig sinnvoll und auch fast unmöglich umzusetzen ist, war die Idee, die Datenbank und das Datenverzeichnis der Nextcloud in eine Neuinstallation (64-Bit) einzubinden.
Für den Wechsel auf 64-Bit hätte eigentlich parallel zum bestehenden System eine Neuinstallation auf dem erwähnten Raspberry Pi durchgeführt werden müssen. Hier konnte ich mir die Arbeit aber ein wenig erleichtern, indem ich die MicroSD meiner eigenen Cloud klonen konnte. Auf dem geklonten System waren so nur einige Anpassungen vorzunehmen, bevor das neue Gerät an Stelle des 32-Bit-Systems in Betrieb genommen werden konnte.
Aufnahme mit Wärmebildkamera (Raspberry Pi 4 – passive Kühlung)
Die aus dem Raspberry Pi 3 gesicherte Datenbank wurde in den Raspberry Pi 4 eingelesen und die Daten-SSD in die /etc/fstab eingebunden. Danach wurde der ddclient mit der DynDNS neu konfiguriert. Ein neues Zertifikat wurde erstellt und die automatische Upgrade-Routine hierzu angepasst. Zum Schluss mussten nur noch die Ports im Speedport-Router für die neue Hardware freigegeben werden.
Fazit
Der Aufwand hat sich in dem Sinne gelohnt, da dieses nun mittlerweile über fünfeinhalb Jahre existierende Projekt, zukunftssicher weiterbetrieben werden kann.
Nachdem nun unsere Community-Cloud endlich wieder lief, habe ich versucht innerhalb der Gemeinschaft unseren Cloud-Speicher etwas zu bewerben. Bei einigen Nutzern war dieser inzwischen etwas in Vergessenheit geraten, samt den nötigen Passwörtern.
Es kommt natürlich immer wieder vor, dass Zugangsdaten nicht richtig verwahrt werden oder gar ganze Passwörter nicht mehr auffindbar sind. Mehrfache fehlerhafte Eingaben können jedoch, wie im Fall der Nextcloud, dazu führen, dass Nutzer-IPs ausgesperrt bzw. blockiert werden. Diesen Schutz nennt man Bruteforce-Schutz.
Bruteforce-Schutz
Nextcloud bietet einen eingebauten Schutzmechanismus gegen Bruteforce-Angriffe, der dazu dient, das System vor potenziellen Angreifern zu sichern, die wiederholt verschiedene Passwörter ausprobieren. Diese Sicherheitsvorkehrung ist standardmäßig in Nextcloud aktiviert und trägt dazu bei, die Integrität der Daten zu wahren und unautorisierten Zugriff auf das System zu verhindern.
Wie es funktioniert
Die Funktionsweise des Bruteforce-Schutzes wird besonders deutlich, wenn man versucht, sich auf der Anmeldeseite mit einem ungültigen Benutzernamen und/oder Passwort anzumelden. Bei den ersten Versuchen mag es unauffällig erscheinen, doch nach mehreren wiederholten Fehlversuchen wird man feststellen, dass die Überprüfung des Logins mit zunehmender Häufigkeit länger dauert. An dieser Stelle tritt der Bruteforce-Schutz in Kraft, der eine maximale Verzögerung von 25 Sekunden für jeden Anmeldeversuch einführt. Nach erfolgreicher Anmeldung werden sämtliche fehlgeschlagenen Versuche automatisch gelöscht. Wichtig zu erwähnen ist, dass ein ordnungsgemäß authentifizierter Benutzer von dieser Verzögerung nicht mehr beeinträchtigt wird, was die Sicherheit des Systems und die Benutzerfreundlichkeit gleichermaßen gewährleistet.
Bruteforce-Schutz kurzzeitig aushebeln
Hat nun einmal die Falle zugeschnappt und ein Anwender wurde aus der Nextcloud ausgesperrt, so kann sich das Problem über die Zeit von selbst lösen. Es gibt aber auch die Möglichkeit die Datenbank entsprechend zurückzusetzen.
Zuerst wechselt man in das Nextcloud-Verzeichnis. Danach werden über den folgenden OCC-Befehl die Bruteforce-Einträge der Datenbank resetet.
cd /var/www/html/nextcloud/
sudo -u www-data php occ security:bruteforce:reset 0.0.0.0
Neue Bruteforce-Attacken werden natürlich danach wieder geloggt und verdächtige IPs ausgesperrt.
Des Öfteren erinnere ich Kollegen daran, doch bitte bei Upgrades in einer Remoteshell mit einem terminal mutliplexer zu arbeiten. Falls doch einmal die Verbindung abbricht, nicht ein halb installiertes, oder konfiguriertes Paket vorliegt. Das kann viel und sehr unangenehme Arbeit auslösen. Man glaubt es kaum, den Fakt habe ich bei meiner Firewall in meinem Homeoffice ... Weiterlesen
WP-Appbox ist ein wunderbares Plugin, welches vielfältige Darstellungsmöglichkeiten für die Verlinkung verschiedener Apps bietet. Das Plugin war bei mir seit 2013 in Benutzung. Ich habe es erstmals bei dem Blogbeitrag Ownstagram ein eigenes Instagram verwendet. Das Plugin bindet verschiedene Stores anhand eines Shortcodes ein und zieht sich hier die gewünschten Daten aus dem Shop. Ein ... Weiterlesen
Ich habe nun meine Bannermeldung nach dem Telekommunikation-Telemedien-Datenschutz-Gesetz (TTDSG) abgeschaltet. Siehe hierzu auch das Urteil des Bundesgerichtshofs vom 28. Mai 2020, Aktenzeichen I ZR 7/16.Ich betrieb meine Installation von Matomo schon so, dass seitens Matomo keine Cookies gesetzt wurden. Durch das Abschalten der Kommentarefunktion in WordPress konnten auch hier auf Cookies verzichtet werden. Den letzten Teil ... Weiterlesen
Nach über 14 Jahren Gebrauch ist WordPress eine Art von Hassliebe. Es ist nicht so, dass ich nicht andere Plattform für das Schreiben im Netz ausprobiert hatte. Ich startete mit WordPress, besuchte Drupal,Octopress und Serendpity, um am Ende doch wieder bei WordPress zu landen. Somit sitze ich im Moment vor meinem, doch in die Jahre ... Weiterlesen
Ich habe mich nach einer kleinen Testphase gegen GitKraken und für Fork als grafischen Client für Git unter macOS entschieden.Gitkraken mag ein hervorragendes Werkzeug sein, aber das Abomodell hat mich abgeschreckt. Ich möchte noch erwähnen, dass GitKraken ein Studenten- und Universitätspaket anbietet. Ich werde vielleicht GitKraken Kollegen:innen an meinem Arbeitsplatz für einen Test vorschlagen. Dann ... Weiterlesen
Es gibt wieder neue Sicherheitslücken in glibc. Dabei betrifft eine die syslog()-Funktion, die andere qsort(). Letztere Lücke existiert dabei seit glibc 1.04 und somit seit 1992. Entdeckt und beschrieben wurden die Lücken von der Threat Research Unit bei Qualys.
Die syslog-Lücke ist ab Version 2.37 seit 2022 enthalten und betrifft somit die eher die neuen Versionen von Linux-Distributionen wie Debian ab Version 12 oder Fedora ab Version 37. Hierbei handelt es sich um einen "heap-based buffer overflow" in Verbindung mit argv[0]. Somit ist zwar der Anwendungsvektor schwieriger auszunutzen, weil in wenigen Szenarien dieses Argument (der Programmname) dem Nutzer direkt überlassen wird, die Auswirkungen sind jedoch umso schwerwiegender. Mit der Lücke wird eine lokale Privilegienausweitung möglich. Die Lücke wird unter den CVE-Nummern 2023-6246, 2023-6779 und 2023-6780 geführt.
Bei der qsort-Lücke ist eine Memory Corruption möglich, da Speichergrenzen an einer Stelle nicht überprüft werden. Hierfür sind allerdings bestimmte Voraussetzungen nötig: die Anwendung muss qsort() mit einer nicht-transitiven Vergleichsfunktion nutzen (die allerdings auch nicht POSIX- und ISO-C-konform wären) und über eine große Menge an zu sortierenden Elementen verfügen, die vom Angreifer bestimmt werden. Dabei kann ein malloc-Aufruf gestört werden, der dann zu weiteren Angriffen führen kann. Das Besondere an dieser Lücke ist ihr Alter, da sie bereits im September 1992 ihren Weg in eine der ersten glibc-Versionen fand.
Bei der GNU C-Bibliothek (glibc) handelt es sich um eine freie Implementierung der C-Standard-Bibliothek. Sie wird seit 1987 entwickelt und ist aktuell in Version 2.38 verfügbar. Morgen, am 1. Februar, erscheint Version 2.39.
Heute möchte ich noch einmal ein Thema aus der Mottenkiste holen, welches ja eigentlich schon abgehakt sein sollte. Es geht um das Upgrade von Raspbian 10 auf das Raspberry Pi OS 11.
Anlass des Ganzen ist unsere Community-Cloud mit über 25 Nutzern. Diese Cloud wurde vor über fünfeinhalb Jahren zum Zwecke des Datenteilens ins Leben gerufen. Durch einen bedingten öfteren Standortwechsel verblieb das System auf einem Softwarestand von vor über zwei Jahren. Jetzt im neuen Zuhause stand dadurch ein gründlicher Tapetenwechsel an. D.h., dass im ersten Schritt das Betriebssystem auf Raspberry Pi OS 11 Bullsleye angehoben werden musste, bevor die Nextcloud von Version 22 auf 27 aktualisiert wurde. Weiterhin musste parallel PHP 7.3 auf Version 8.1 gezogen werden, um wieder in sicheres Fahrwasser zu gelangen. Bei der Hardware handelt es sich um einen Raspberry Pi 3 Model B. Auch dieses Gerät soll im laufe des Jahres noch ein Refresh erhalten.
Nun zum Upgrade auf das erwähnte Raspberry Pi OS 11.
Installation
Hilfreich bei der Installation war die Anleitung von linuxnews.de, die ich abschließend noch um zwei Punkte ergänzen musste. Hierbei konnte ich mich noch an mein erstes Upgrade dieser Art erinnern, dass es zu Unverträglichkeiten mit dem Desktop kam. Dieses Problem wird ganz am Ende des Artikels behandelt.
Zuerst wurde ein vollständiges Upgrade auf die aktuellste Version Raspbian 10 durchgeführt.
Danach wurden unnötige Pakete und verbliebene heruntergeladene Pakete entfernt.
sudo apt autoremove
sudo apt clean
Nun mussten noch die Kernelbased Mode-Setting (KMS) in der /boot/config.txt angepasst werden. Hierzu wurden folgende zwei Befehle ausgeführt:
sudo sed -i 's/dtoverlay=vc4-fkms-v3d/#dtoverlay=vc4-fkms-v3d/g' /boot/config.txt
sudo sed -i 's/\[all\]/\[all\]\ndtoverlay=vc4-kms-v3d/' /boot/config.txt
Desktop aufräumen
Nach dem Reboot mit angeschlossenem Monitor fiel auf, dass sich das Programm Parcellite in der Menüleiste verewigt hatte. Parcellite war vor dem Systemupgrade auf Raspberry Pi OS 11 Bullseye nicht an Bord. Aus diesem Grund konnte es auch ohne Bedenken gelöscht werden.
sudo apt remove parcellite
Weiterhin fiel auf, dass die ganze Menüleiste des Desktops etwas vermurkst aussah. Diese wurde auf die Grundeinstellungen mit
cd ~/
sudo rm -rf .cache
zurückgesetzt.
Nach einem erneuten Reboot läuft Raspberry Pi OS 11 wie gewünscht.
sudo reboot
Nextcloud 27 – Raspberry Pi Modell B Rev 1.2Nextcloud 27 – PHP 8.1
Fazit
Um unsere Community-Cloud wieder sicher zu machen, war ein wenig Wochenendarbeit nötig. Die so investierte Zeit hat sich aber durchaus gelohnt. Im nächsten Schritt erfolgt dann der Tausch des Raspberry Pi und ein Wechsel der Daten-SSD gegen ein größeres Modell.
Die Desktop-Version von Brave wurde auf Version 1.62 aktualisiert. Ab sofort benutzt der Browser Mixtral 8x7B als Standard-Language Model (LLM) im eigenen KI-Browserassistenten Leo. Mixtral 8x7B ist ein Open-Source-LLM, das von Mistral AI im vergangenen Dezember veröffentlicht wurde. Es ist schnell und dank der hohen Leistung hat es sich schnell verbreitet. Ferner haben die Entwickler die Benutzerfreundlichkeit von Leo verbessert, indem sie das Onboarding, die Kontextsteuerung, die Formatierung von Eingaben und Antworten und die allgemeine Benutzeroberfläche verbessert haben. Mixtral ab […]
Unter dem Motto „Zeichen setzen“ finden am 16. und 17. März 2024 wieder die Chemnitzer Linux-Tage statt. Die Veranstalter hoffen wieder auf einen großen Zuspruch im Hörsaalgebäude der TU Chemnitz an der Reichenhainer Straße.
Eintrittskarten zur Veranstaltung wird es im Vorverkauf geben. Da die Anzahl der Tickets aber begrenzt ist, wird es an der Tageskasse nur Restkarten geben.
Auch 2024 haben sich die Chemnitzer Linux-Tage einen Platz an einem März-Wochenende gesucht. Also Kalender gezückt und den 16. und 17. März 2024 dick einkreisen! Es lohnt sich bestimmt.
Wir freuen uns sehr, euch im März vor Ort in Chemnitz in gewohnter Umgebung wiederzusehen. Über unsere Pressemitteilungen, Social Media könnt ihr euch diesbezüglich auf dem Laufenden halten.
Ich habe mich entschlossen, die Kommentare in meinem Blog abzuschalten. Ursprung war wie immer der Frühjahrsputz in dem Blog. Hierzu habe ich eine Funktion genutzt, welche neben den Kommentaren auch die Trackbacks und Pings entfernt.Ein sehr großer Vorteil ist, dass ich die alten Kommentare hierdurch noch behalte. Früher übernahm das Plugin My Custom Functions von ... Weiterlesen
Im Januar 2023 hatte ich erklärt, wie ich mein Raspberry Pi OS 11 (basierend auf Debian 11 Bullseye), durch Einbinden einer Fremdquelle, von PHP7.4-fpm auf PHP8.1-fpm aktualisiert habe. Warum ich zu diesem Zeitpunkt die Version 8.1 installiert habe, ist recht einfach zu beantworten. Die aktuelle Version Nextcloud 25 war noch nicht kompatibel zu PHP 8.2. Erst mit Nextcloud 26 war ein Upgrade möglich.
Nun habe ich mich nach der Aktualisierung auf Nextcloud 28 entschieden auf PHP 8.2 zu wechseln. Da ich den FastCGI-Prozessmanager FPM bevorzuge, unterscheidet sich das Upgrade etwas von einer herkömmlichen PHP-Installation.
Nun wird via CLI die PHP-Version von 8.1 auf 8.2 mit
sudo update-alternatives --config php
umgestellt.
sudo update-alternatives --config php
Es gibt 5 Auswahlmöglichkeiten für die Alternative php (welche /usr/bin/php bereitstellen).
Auswahl Pfad Priorität Status
------------------------------------------------------------
0 /usr/bin/php.default 100 automatischer Modus
1 /usr/bin/php.default 100 manueller Modus
2 /usr/bin/php7.4 74 manueller Modus
* 3 /usr/bin/php8.1 81 manueller Modus
4 /usr/bin/php8.2 82 manueller Modus
5 /usr/bin/php8.3 83 manueller Modus
sudo update-alternatives --config php
Es gibt 5 Auswahlmöglichkeiten für die Alternative php (welche /usr/bin/php bereitstellen).
Auswahl Pfad Priorität Status
------------------------------------------------------------
0 /usr/bin/php.default 100 automatischer Modus
1 /usr/bin/php.default 100 manueller Modus
2 /usr/bin/php7.4 74 manueller Modus
3 /usr/bin/php8.1 81 manueller Modus
* 4 /usr/bin/php8.2 82 manueller Modus
5 /usr/bin/php8.3 83 manueller Modus
Ein abschließender Check zeigt die aktuelle Version.
php -v
PHP 8.2.14 (cli) (built: Dec 21 2023 20:18:00) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.14, Copyright (c) Zend Technologies
with Zend OPcache v8.2.14, Copyright (c), by Zend Technologies
Ist die Ausgabe korrekt, kann PHP8.1-fpm deaktiviert, PHP8.2-fpm installiert und aktiviert werden.
Der Restart des Webservers führt nun die Änderungen aus.
sudo service apache2 restart
Nextcloud-Konfiguration
Da in der Nextcloud nun wieder die bekannten Fehlermeldungen auftauchen, heißt es, diese schrittweise abzuarbeiten. Dazu wird die neue php.ini geöffnet
sudo nano /etc/php/8.2/fpm/php.ini
und die Werte für memory_limit sowie session_lifetime wie empfohlen angepasst.
Danach muss in der apcu.ini das Command Line Interface des PHP Cache noch aktiviert werden, indem
sudo nano /etc/php/8.2/mods-available/apcu.ini
folgende Zeile am Ende eingetragen wird.
apc.enable_cli=1
Ist dies geschehen, wird der Webserver ein letztes Mal neu gestartet.
sudo service apache2 restart
Fazit
Die Umstellung bringt zwar im Moment keine erkennbaren Vorteile, jedoch verschafft es wieder ein wenig Zeit und senkt den Druck das eigentliche Raspberry Pi OS 11 Bullseye durch die aktuelle Version 12 Bookworm zu ersetzen.
PHP-FPM (FastCGI Process Manager) ist eine leistungsstarke Erweiterung für den PHP-Interpreter, die die Ausführung von PHP-Skripten optimiert und verbessert. Entwickelt, um die Skalierbarkeit von PHP-basierten Webanwendungen zu erhöhen, spielt PHP-FPM eine entscheidende Rolle in modernen Webserver-Umgebungen.
Hintergrund
Traditionell wurde PHP als Modul für Webserver wie Apache bereitgestellt. Dieser Ansatz hatte jedoch seine Einschränkungen, insbesondere wenn es um die Verwaltung von Ressourcen und die Skalierung von Webanwendungen ging. PHP-FPM wurde als Lösung für diese Herausforderungen entwickelt, indem es die FastCGI-Protokollspezifikation implementiert und PHP-Skripte als separate Prozesse ausführt.
Vorteile von PHP-FPM
1. Ressourcenverwaltung:
PHP-FPM ermöglicht eine effiziente Verwaltung von Ressourcen, indem es separate Prozesse für jede Anforderung erstellt. Dadurch wird der Arbeitsspeicher besser genutzt und die Gesamtleistung der Webanwendung verbessert.
2. Skalierbarkeit:
Durch die Nutzung von PHP-FPM können Webentwickler ihre Anwendungen leichter skalieren, da sie die Anzahl der gleichzeitig ausgeführten PHP-Prozesse steuern können. Dies ist besonders wichtig in Umgebungen mit starkem Datenverkehr.
3. Isolierung von Anwendungen:
Jede PHP-Anwendung wird in ihrem eigenen Prozess isoliert, wodurch Konflikte zwischen verschiedenen Anwendungen vermieden werden. Dies trägt zur Stabilität des Gesamtsystems bei.
4. Anpassbare Konfiguration:
PHP-FPM bietet eine umfangreiche Konfiguration, die es Administratoren ermöglicht, Parameter wie Prozessprioritäten, Anzahl der Kinderprozesse und andere Einstellungen zu optimieren.
Konfiguration und Verwendung
Die Konfiguration von PHP-FPM erfolgt über die php-fpm.conf-Datei und optionale Pool-Konfigurationsdateien. Administratoren können Parameter anpassen, um die Leistung und Ressourcennutzung nach den Anforderungen ihrer Anwendung zu optimieren.
Die Integration von PHP-FPM in Webserver wie Nginx oder Apache erfolgt durch die Konfiguration von FastCGI-Servern. Dies ermöglicht eine reibungslose Kommunikation zwischen dem Webserver und PHP-FPM.
Fazit
PHP-FPM hat sich als wesentliches Werkzeug für die Verwaltung von PHP-Anwendungen in produktiven Umgebungen etabliert. Durch die Bereitstellung von effizienter Ressourcennutzung, Skalierbarkeit und Anwendungsisolierung spielt PHP-FPM eine Schlüsselrolle bei der Gewährleistung der Leistungsfähigkeit von PHP-Webanwendungen. Bei der Entwicklung und Verwaltung von Webanwendungen ist es wichtig, die Vorteile von PHP-FPM zu verstehen und richtig zu konfigurieren, um eine optimale Leistung zu gewährleisten.
Das Interessante an den Open-Source-Modellen ist ja, dass sie das umsetzen, was bei den proprietären Modellen gemunkelt wird, aber nicht nachgewiesen werden kann. Mein aktuelles Highlight: Mixture of Experts (MoE).
Im Sommer kamen Behauptungen auf, dass OpenAIs GPT-4 eigentlich aus acht kleineren Modellen besteht, die zusammengeschaltet werden. Dieses Verfahren nennt man auch Ensemble Learning.
Das klassische Beispiel dafür ist Random Forest, wo mehrere Decision Trees parallel zu so einem Ensemble zusammengeschaltet werden. Soll das Ensemble dann eine Klassifikation vornehmen, nimmt jeder Decision Tree mit seinen eigenen Gewichten die Klassifikation vor. Anschließend entscheidet die Mehrheit der Decision Trees im Ensemble, wie das Gesamtmodell nun klassifizieren soll. Analog würde auch eine Regression umgesetzt werden können, als Aggregierungsfunktion kommt dann statt Mehrheitswahl eben sowas wie Mittelwert o. ä. zum Einsatz. Das besondere ist, dass mit Random Forest üblicherweise bessere Vorhersagen erzielt werden können, als mit einem einfachen Decision Tree.
MoE funktioniert in den groben Zügen ähnlich. Es gibt "Experten" (ähnlich wie die Decision Trees bei Random Forest), die dann gewichtet aggregiert werden (Gating). Die Technik ist eigentlich recht alt und viele waren überrascht, dass OpenAI genau so etwas einsetzen soll.
Umso besser, dass Mistral als das europäische LLM-Startup sich der Sache angenommen hat. Anfang des Wochenendes schwirrte schon ein Torrent durchs Netz, heute gibt es dann auch eine offizielle Pressemitteilung zu Mixtral 8x7B. Hierbei handelt es sich um ein "Sparse Mixture of Experts"-Modell (SMoE). Die Gewichte sind wieder offen und unter der Apache 2.0 lizenziert.
Kurz zu den Eckdaten: 32k Token Kontextlänge können verarbeitet werden. Dabei spricht das Modell Englisch, Französisch, Italienisch, Deutsch und Spanisch und wurde auch auf Codegenerierung optimiert. Fine-tuning ist ebenfalls möglich - so wurde bereits eine instruction-following-Variante trainiert.
Im Vergleich zu Llama 2 70B soll es in einer Vielzahl von Benchmarks bessere Ergebnisse abliefern und dabei schneller arbeiten. Die einzelnen Ergebnisse können der Pressemitteilung entnommen werden.
Einen klassischen Downloadlink konnte ich auf die schnelle nicht finden, das Twitter-Profil verweist nur auf die Torrents. Parallel kündigt das Start-up an, einen eigenen Dienst für API-Endpoints anzubieten, sodass ein Deployment auf eigener Infrastruktur nicht mehr zwangsläufig notwendig ist.
Der Black Friday ist für den Einzelhandel ein willkommenes Datum, um Waren an den Mann bzw. die Frau zu bringen. In dieser Zeit wird Lagerware abverkauft, um Platz für Neues zu schaffen. Der Endverbraucher profitiert meist durch Rabatte und Nachlässe auf interessante Artikel.
Angelockt durch solch ein Angebot, habe ich mir eine externe 2TB-SSD zugelegt, um den Speicher meiner Nextcloud zu erweitern. Im Vorfeld hatte ich mir hierzu schon einige Gedanken gemacht, wie ich die alte 500GB SSD durch das neue und größere Speichermedium ersetze.
Raspberry Pi mit SanDisk SSD
Die perfekte Lösung für mich war das Duplizieren der Quelle mit Clonezilla. Hierbei wurden beide Festplatten an den Rechner angeschlossen, Clonezilla gestartet und mit device-device ein Duplikat erstellt. Bei diesem musste dann nur noch die Partition vergrößert werden. Da der Zielfestplatte die selbe UUID vergeben wurde, waren im Anschluss keine weiteren Maßnahmen erforderlich.
Kurz notiert: Nextcloud (Dateispeicher) und Roundcube (Webmail) gehen eine Partnerschaft ein. Wie heute das Nextcloud-Team in einer Blogmitteilung bekannt gab, wird Roundcube in die "Nextcloud family" aufgenommen. Dabei lässt sich die Kooperation in erster Linie strategisch verstehen, wird aber bereits kurzfristige Auswirkungen haben, da das Entwicklerteam des bekannten Webmail-Clients vergrößert werden kann.
Die wichtigste Information bei der Nachricht ist, dass Roundcube nach aktuellem Stand weiterhin als eigenes Produkt erhalten bleibt. Es handelt sich somit nicht um eine "Verschmelzung" bzw. "Übernahme" des Produkts.
Die Nachricht sendet allerdings ein positives Signal für produktiv eingesetzte Open-Source-Systeme aus: Nextcloud als ein in Unternehmensumgebungen weit verbreiter Cloud-Dienst (Dateispeicher, Kalender, etc.) ermöglicht anderen Büroprogrammen, sich weiterzuentwickeln und auf dem technisch aktuellen Stand zu bleiben. Dies meine ich dabei besonders im Sicherheitskontext. Zero-Days können immer auftreten, aber mit viel Entwicklungsressourcen kann die Wahrscheinlichkeit proaktiv gesenkt werden.
Nextcloud möchte somit auch einen attraktiven Gegenpol für klassische proprietäre Anwendungen aufbauen. Wir können also gespannt sein, was sich aus der Partnerschaft entwickelt.
Heute möchte ich zeigen, wie ich meine Nextcloud mit dem Virenscanner ClamAV ausgerüstet habe. Da eine Cloud ja ein guter Verteiler von Daten ist, kann es schnell vorkommen, dass man mit einer Synchronisation viele Endgeräte unbeabsichtigt mit einem Virus infiziert. Um dies zu verhindern, bietet Nextcloud die App Antivirus for files aus dem hauseigenen App store an. Zur Nutzung der App sind jedoch ein paar Vorbereitungen auf dem Server nötig.
Da ich im privaten Alltag ausschließlich mit Linux arbeite, mache ich mir i.d.R. kaum wirkliche Sorgen um Viren, Trojaner und Co. Trotzdem möchte ich meine Cloud im höchsten Maße absichern und das System weiter härten.
Diese Anleitung bezieht sich auf eine Nextcloud-Instanz, welche auf einem Raspberry Pi mit Rasberry Pi OS gehostet ist und zeigt einen guten Ansatz, um die Verteilung von Viren zu verhindern.
Installation
Zuerst installiert man die Pakete clamav, clamav-freshclam und clamav-daemon mit folgendem Befehl.
Im Anschluss muss der Dienst clamav-freshclam nochmals gestoppt werden, um die Virus-Datenbank aufzufrischen. Danach wird der Service erneut gestartet.
sudo service clamav-freshclam stop
sudo freshclam
sudo service clamav-freshclam start
Die Abfrage der Datenbank wird per Standard nun 12 Mal pro Tag automatisch ausgeführt.
Ein Check via
sudo service clamav-freshclam status
zeigt, ob der Dienst ordnungsgemäß läuft. Die Ausgabe sollte wie im Screenshot aussehen.
Service clamav-freshclam
Ein weiterer Test gibt Aufschluss, ob der clamav-daemon ebenfalls korrekt arbeitet.
sudo service clamav-daemon status
Service clamav-daemon
Da dies bei mir nicht auf Anhieb funktionierte, musste ich diesen Service nochmals neu starten.
Dies erledigt man mit dem Befehl:
sudo service clamav-daemon restart
Natürlich sollte jetzt noch einmal der Status, wie zuvor erwähnt, abgefragt werden. Wenn beide Dienste fehlerfrei durchlaufen, kann man sich nun der Konfiguration der zuvor erwähnten App in der Nextcloud widmen.
Konfiguration
Nachdem beide Dienste korrekt arbeiten, installiert man die App Antivirus for files (Antivirus für Dateien). Unter Verwaltung -> Sicherheit wählt man folgende Einstellungen. Im Feld „Wenn infizierte Dateien während eines Hintergrund-Scans gefunden werden“ kann zwischen „Nur loggen“ oder „Datei löschen“ gewählt werden, wie mit einer infizierten Datei umgegangen werden soll.
Einstellungen – Antivirus for files
Das Abspeichern der Einstellungen sollte mit einem grünen „Gespeichert“ protokolliert werden. Wer das Ganze testen möchte, kann sich hierzu (Vorsicht: auf eigene Gefahr) einen Testvirus von eicar.org herunterladen und diesen in die Nextcloud hochladen.
Auf Windows-Systemen ist äußerste Vorsicht geboten, da man hier schnell vom eigenen Virenscanner in Quarantäne gesetzt wird. Diesen Test sollten nur Experten durchführen!
Vor kurzem ist der neue Firefox 120 erschienen, er bringt eine nützliche Cookiedialog Blockfunktion mit.
Du kennst nervige Pop-ups zur Genüge, diese haben in den vergangenen Jahren das Internet zu einem Klicknet gemacht.
Praktischerweise bringt der neue Firefox eine Funktion mit, um diese automatisch abzulehnen. Heißt, sie werden nicht einfach ausgeblendet, sondern sie werden beantwortet.
Leider ist diese Funktion bisher nur deutschen Nutzer und dem privaten Modus vorbehalten. Das kannst du allerdings einfach über about:config ändern.
Du musst lediglich nach den Variablen cookiebanners.service.mode suchen und die Werte auf 1 setzen.
Sollten Cookie-Banner weiterhin nicht verschwinden, kannst du auch den Wert 2 setzen. Dieser sorgt dafür, dass Cookie Dialoge, die nicht abgelehnt werden können, automatisch akzeptiert werden.
0 Cookie-Banner Blocker deaktiviert
1 Cookie-Banner Blocker lehnt ab, sofern möglich
2 Cookie-Banner Blocker lehnt ab, sofern möglich und akzeptiert den Rest
Kontrollieren kannst du die Funktion in den Privacy Einstellungen about:preferences#privacy.
Natürlich kannst du die neue Surffreude ebenfalls auf Webseiten mit Cookie-Banner testen, so etwas wie chip.de oder dergleichen. Hier hat bei mir das Ablehnen nicht funktioniert, sondern nur Wert 2 mit Ablehnen, wenn möglich, und den Rest akzeptieren.
Fingerabdruck ade
Eine weitere praktische Funktion, um den Fingerabdruck beim Surfen zu reduzieren, bietet der neue Fingerprinting-Schutz in der Canvas API, welcher allerdings auch nur im privaten Modus aktiv ist.
Links ohne Tracking kopieren
Eine ebenfalls hervorragende neue Funktion ist das Kopieren eines Links über das Kontextmenü ohne Trackinginformationen.
Alle weiteren Neuerungen von Firefox 120 findest du bei Mozilla.
Heute möchte ich über ein sinnvolles und relativ schnell nachzurüstendes Feature zur Nextcloud berichten. Der zeitliche Aufwand beträgt nur wenige Minuten, ist aber zum Schutz der eigenen Daten eine gut investierte Zeit.
Ab und zu kam es vor, dass ich mich aus meiner Cloud nicht richtig abgemeldet, sondern nur den Browser geschlossen hatte. Beim nächsten Aufruf meiner Nextcloud stellte ich fest, dass ich plötzlich im Datenbereich bin, ohne mich vorher eingeloggt zu haben.
Mein Gedanke: Was würde passieren, wenn ein Unberechtigter so Zugriff auf alle in einer Cloud abgelegten Daten bekommt? Nicht auszudenken, der Schaden wäre wohl immens.
Damit dies nicht vorkommt, ist es sinnvoll ein Auto Logout einzurichten. Hierzu öffnet man als Erstes die config.php der Nextcloud
Eine Session wird auf 30 Minuten sowie die Lebensdauer des Login-Cookies auf 15 Tage begrenzt. Diese Werte können natürlich den eigenen Wünschen und Gegebenheiten angepasst werden.
Dabei gilt zu beachten, dass die session.gc_maxlifetime in der php.ini >= der eingestellten session_lifetime sein muss. Dazu öffne ich die php.ini von PHP 8.1 FPM
sudo nano /etc/php/8.1/fpm/php.ini
und setze den Wert auf 3600.
session.gc_maxlifetime = 3600
Nun muss PHP bzw. der Webserver neu gestartet werden, um die Änderungen wirksam umzusetzen.
sudo service php8.1-fpm restart
Ein geschlossener Browser führt nun, wie gewünscht, zu einem Auto Logout.
Mit Hub 4 integriert Nextcloud die künstliche Intelligenz auf ethische Weise. So heißt es zumindest in der damaligen Vorstellung von Frank Karlitschek, CEO und Gründer der Nextcloud GmbH.
Nextcloud Hub 4 ist die erste Kollaborationsplattform, die intelligente Funktionen umfassend in ihre Anwendungen integriert und gleichzeitig die mit KI-Technologien einhergehenden Herausforderungen in Bezug auf Datenschutz und Kontrolle bewältigt. … Nextcloud Hub bietet fortschrittliche, KI-basierte Funktionen, von intelligenten Datei- oder Freigabe-Empfehlungen bis hin zur Erkennung verdächtiger Logins über neuronale Netzwerke und vieles mehr. Diese Version verbessert die bestehenden intelligenten Funktionen wie den intelligenten Posteingang in Mail und die Standortverwaltung mit Fotos und führt gleichzeitig die Dateiklassifizierung, die on-premises Übersetzung, die Umwandlung von Sprache in Text, Bilderstellung via Stable Diffusion und Dall-e, ChatGPT-basierte Texterzeugung, DeepL-Übersetzungen und mehr ein.
nextcloud.com
Diese intelligenten Funktionen findet man im Smart Picker. Hierüber wird es möglich, u.a. Links und Inhalte einzufügen. Weitere Optionen sind:
Aufgaben von Deck
Orte von Open Street Map
Wissensdatenbankeinträge von Collectives
Videos von YouTube und PeerTube
GIF-Dateien von Giphy
Vordefinierte Textausschnitte
Filme, Serien und Personen aus The Movie Database (TMDB)
Stable Diffusion (on-premises) oder Dall-E (online) generierte Bilder
ChatGPT generierter Text
Tabellen und mehr.
Den Smart Picker wählt man in der entsprechenden Anwendung (z.B. Text) aus, indem man ein „/“ eintippt. Dort öffnet sich ein Kontextmenü und die Anwendung kann ausgewählt werden.
Um jedoch auch Funktionen von OpenAI, wie ChatGPT, speech-to-text oder AI image nutzen zu können, muss zusätzlich die App OpenAI and LocalAI integration installiert werden. Hierzu benötigt man eine API, welche einen OpenAI-Account voraussetzt.