Mattermost v6.0

Mi, 20. Oktober 2021, Lioh Möller

Die Slack-Alternative Mattermost ist in Version 6.0.1 erschienen. Die in den Programmiersprachen Go, React und JavaScript entwickelte Webapplikation steht unter der MIT-Lizenz zur Verfügung und unterstützt sowohl MySQL als auch PostgreSQL als Datenbank-Backend. Für die Suchfunktion kommt Elasticsearch zum Einsatz. Ergänzt wird dies durch Applikationen für Mobilgeräte sowie Electron-basierte Desktop-Clients für Linux, Windows und macOS.


Für die nun vorliegende Major-Version wurde eine neue Navigationsleiste implementiert, mit dessen Hilfe die Arbeit mit Kanälen, Checklisten (Playbooks), Projekten und Aufgaben deutlich erleichtert wird. Über die neue Leiste ist es ausserdem schneller möglich auf die Suchfunktion, gespeicherte Nachrichten, Erwähnungen, Einstellungen, und das Profil zugreifen.

Kanäle unterstützen nun Linkvorschau für Permalinks, wobei die eigentliche Nachricht unter der Vorschauansicht dargestellt wird.

Playbooks sind standardmässig aktiv und ermöglichen die Erstellung von Arbeitschecklisten. In der neu hinzugekommenen Vollbildansicht für Playbooks lassen sich neue Listen erstellen und bestehende Aufgaben sortieren. Die Darstellung des Arbeitsstandes wurde neu gestaltet und es wurde die Möglichkeit geschaffen, eine Zeit für das Versenden von Erinnerungen festzulegen.

Das Projekt- und Aufgabenmanagement (Boards) wird nun ebenfalls grundsätzlich geladen, sofern Plugins systemweit aktiviert sind.

Hinweis: E2EE Verschlüsselung ist bei Mattermost bisher nur über ein externes Plugin möglich:

Changelog: https://docs.mattermost.com/install/self-managed-changelog.html

Docker und ufw

Mi, 20. Oktober 2021, Lioh Möller

Unter Ubuntu und vielen anderen Linux-Distributionen kommt oftmals ufw (Uncomplicated Firewall) zum Einsatz, um das System abzusichern. Im Zusammenspiel mit Docker werden aber schnell einige Schwächen deutlich. Standardmässig erstellt Docker eigene Firewall Regeln für den Zugriff auf die Container. Diese werden allerdings vor den Regeln von ufw eingefügt, wodurch letztere nichtig werden.

Schränkt man beispielsweise mit ufw die Zugangsmöglichkeit auf einem in Docker laufenden Webserver auf ein bestimmtes Netzwerk ein, wäre dieser dennoch von überall her möglich.

Es folgt eine übliche Regel, um den Zugriff auf Port 443 nur aus dem lokalen Netz 192.168.0.0/24 zuzulassen:

sudo ufw allow from 192.168.0.0/24 to any port 443

Würde man nun versuchen vom Netz 192.168.100.0/24 auf Port 443 zuzugreifen, wäre dies weiterhin möglich. Als Administrator wägt man sich schnell in Sicherheit, denn das Regelwerk ist grundsätzlich richtig, Docker jedoch hebelt es wieder aus.

Einen erprobten Ansatz zur Lösung dieses Problems bietet der Entwickler Chai Feng. Im Gegensatz zum oftmals empfohlenen Vorgang, die iptables Funktionalität in Docker vollständig abzuschalten, wählt er einen nachhaltigeren Ansatz.

Zunächst muss sichergestellt werden, dass in der Datei /etc/docker/daemon.json nicht die Option "iptables": false gesetzt ist. In der Datei /etc/default/ufw muss ausserdem die folgende Option aktiviert sein, was standardmässig der Fall ist:

DEFAULT_FORWARD_POLICY="DROP"

Alle vorgängig gemachten und für Docker relevanten Einstellungen in der Datei /etc/ufw/after.rules müssen entfernt werden.

Daraufhin wird am Ende der Datei /etc/ufw/after.rules folgender Abschnitt eingefügt:

# BEGIN UFW AND DOCKER
*filter
:ufw-user-forward - [0:0]
:ufw-docker-logging-deny - [0:0]
:DOCKER-USER - [0:0]
-A DOCKER-USER -j ufw-user-forward

-A DOCKER-USER -j RETURN -s 10.0.0.0/8
-A DOCKER-USER -j RETURN -s 172.16.0.0/12
-A DOCKER-USER -j RETURN -s 192.168.0.0/16

-A DOCKER-USER -p udp -m udp --sport 53 --dport 1024:65535 -j RETURN

-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 192.168.0.0/16
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 10.0.0.0/8
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 172.16.0.0/12
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 192.168.0.0/16
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 10.0.0.0/8
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 172.16.0.0/12

-A DOCKER-USER -j RETURN

-A ufw-docker-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW DOCKER BLOCK] "
-A ufw-docker-logging-deny -j DROP

COMMIT
# END UFW AND DOCKER

Zur Aktivierung der Änderungen muss ufw mithilfe von sudo ufw reload neu gestartet werden.

Um nun den Zugriff auf einem im Container auf Port 443 laufenden Webserver aus dem Netz 192.168.0.0/24 zu erlauben, kann folgende Regel erstellt werden:

ufw route allow proto tcp from 192.168.0.0/24 to any port 443

Wichtig ist dabei, dass immer der Container-Port angegeben wird. In vielen Fällen wird dieser auf einen abweichenden Host-Port publiziert. Die Docker Option -p 8080:80 beispielsweise veröffentlicht den Container-Port 80 auf den Host-Port 8080. In diesem Falle müsste in der obigen Regel der Container-Port 80 angegeben werden.

In einer docker-compose.yml werden Ports im folgenden Format angegeben:

   ports:
      - "8080:80"

Wobei hier 80 der Port im Container wäre und 8080 der auf dem Host publizierte Port.

Zu beachten ist ausserdem, dass von nun an zum Zugriff auf Docker Container Forward-Regeln in der Form ufw route und keine Allow-Regeln wie eingangs aufgeführt erstellt werden müssen.

Weitere Informationen finden sich auf im ufw-docker Git-Repository

Neue Version von Freetube

Mi, 20. Oktober 2021, Daniel Schär

Von der beliebten freien Youtube-Alternative Freetube (wir berichteten) ist vorgestern die Version 0.15.0beta erschienen, mit folgenden Änderungen: 

  • Neugestaltung der Einstellungsseite und neues Dracula-Thema und Dracula-Farboptionen
  • Die Vorwärts-/Rückwärtspfeile sind jetzt ausgegraut, wenn angebracht
  • Beschriftungsoptionen werden jetzt nach den Spracheinstellungen des Benutzers sortiert
  • Visuelle Verbesserungen an den Trending- und Channel-Seiten
  • Hinzufügen einer Schaltfläche zur Suchleiste, die das Suchfeld löscht
  • Das Suchfilter-Popup verschwindet jetzt beim Seitenwechsel
  • Der Theatermodus kann nun mit der T-Taste umgeschaltet werden

und Fehlerkorrekturen:

  • Es wurde ein Fehler behoben, bei dem das Öffnen eines neuen Videos mit der mittleren Maustaste zu einem leeren Bildschirm führte
  • Ein Fehler wurde behoben, bei dem die Schaltflächen zur Mediensteuerung nicht funktionierten
  • Die Video-Thumbnails haben jetzt die richtige Breite
  • Kommentare werden jetzt richtig formatiert
  • Visuelle Probleme mit Dropdown- und Suchauswahlen bei nicht standardmässigen Themen behoben
  • Fehler behoben, bei dem Menüs auf dem Mediaplayer nicht navigiert werden konnten
  • Links zu FreeTubes veraltetem GitHub-Wiki wurden durch https://docs.freetubeapp.io/-Links ersetzt und die README mit Links zu Weblate und der FreeTube-Dokumentation aktualisiert 
  • Korrekte Benachrichtigung beim Kopieren von Links in eine Wiedergabeliste hinzugefügt
  • Ein Fehler wurde behoben, bei dem beobachtete Videos gelegentlich nicht zum Verlauf hinzugefügt wurden
  • Ein Problem wurde behoben, bei dem die Invidious-API DASH-Videos nicht richtig abspielen konnte
  • Videos, die in Form eines Gitters angezeigt werden, skalieren nun proportional zur Fenstergrösse

Weiterlesen

Kleiner HTTP-Server für Testzwecke

Mi, 20. Oktober 2021, Ralf Hersel

Ab und zu braucht man einen einfachen HTTP-Server, um lokale Webseiten zu testen oder um Dateien freizugeben. Wer keinen eigenen Webserver betreibt oder einen solchen bei einem Hoster laufen hat, kann sich mit einem Handgriff schnell einen solchen starten, ohne mit Apache- oder Nginx-Konfigurationen zu kämpfen.

Für diese Anforderung bietet die eierlegende Wollmilchsau Python eine Lösung in Form des Moduls 'http.server'. Mit einem Kommando lässt sich ein lokaler Webserver starten:

Weiterlesen

Software Freedom Conservancy klagt gegen Fernsehhersteller

Mi, 20. Oktober 2021, Ralf Hersel

In der Klage wird behauptet, dass die auf dem SmartCast-System basierenden TV-Produkte von Vizio Software enthalten, die sich Vizio auf unlautere Weise von einer Gemeinschaft von Entwicklern angeeignet hat, die den Verbrauchern ganz bestimmte Rechte einräumen wollten, um modifizierte Versionen der Software zu verändern, zu verbessern, weiterzugeben und neu zu installieren.


Die Software Freedom Conservancy ist eine gemeinnützige Organisation, die sich auf ethische Technologie konzentriert, reicht die Klage als Käufer eines Produkts ein, das Copyleft-Code enthält. Damit ist dies der erste Rechtsfall, der sich auf die Rechte einzelner Verbraucher als Drittbegünstigte der GPL konzentriert.

Weiterlesen

EU-Ökodesign-Richtlinie gegen Obsoleszenz

Di, 19. Oktober 2021, Daniel Schär

Als Beitrag zur Überarbeitung der EU-Ökodesign-Richtlinie und um die Auswirkungen der Software-Obsoleszenz zu verstehen, veröffentlichte die FSFE (Free Sofware Foundation Europe) eine Studie über die Nachhaltigkeit von Software (wir haben berichtet).

In der Europäischen Union gibt es derzeit ein starkes Bestreben, die Digitalisierung nachhaltiger zu gestalten, wobei die Europäische Kommission darauf abzielt, Produkte ressourceneffizienter zu machen und Methoden der Kreislaufwirtschaft anzuwenden. Die Ökodesign-Richtlinie aus dem Jahr 2009 soll mit der Initiative für nachhaltige Produkte" (SPI) aktualisiert werden. Diese zielt darauf ab, Produkte, die in der EU in Umlauf gebracht werden, nachhaltiger zu machen". Die SPI wird dann als Hauptinstrument der europäischen Produktpolitik dienen.

Quelle: FSFE.org, Icons von Freepik.com

Weiterlesen

Mehr Nachhaltigkeit durch Freie Software

Di, 19. Oktober 2021, Lioh Möller

In einer aktuellen Studie beschäftigt sich die FSFE mit Nachhaltigkeit von Software. Klassische Güter wie beispielsweise Holz sind endlich, das heisst nur in einer begrenzten Menge verfügbar. Ein verantwortungsvoller Umgang damit sollte offensichtlich sein, um auch den nachkommenden Generationen einen Zugriff darauf zu ermöglichen.

Bei Software ist dies gefühlt erst einmal anders. Programmcode lässt sich beliebig oft replizieren und nutzen, sofern dies die Lizenz erlaubt. Damit wird ein grundlegendes Problem bereits sichtbar, denn unfreie Lizenzen schränken diese grundsätzlich unbegrenzte Nutzung bereits ein. Noch deutlicher wird dies nach Ablauf der vom Hersteller definierten Lebenszeit einer Software. Sofern diese nicht unter einer Freien Lizenz zur Verfügung steht, ist eine Weiternutzung nur noch beschränkt möglich. In den allermeisten Fällen werden keine Sicherheitsaktualisierungen mehr bereitgestellt, bei einigen Anwendungen wird darüber hinaus die Funktionalität eingeschränkt, was einer geplanten Obsoleszenz gleichkommt.

Im Ergebnis der Studie und angelehnt an die Initiative Public Money, Public Code, fordert die FSFE eine Freigabe des Quellcodes von Applikationen, deren Lebenszeit überschritten ist. So wäre es möglich, dass die Community und Drittanbieter weiterhin Aktualisierungen für das Produkt anbieten können.

Quelle: https://fsfe.org/freesoftware/sustainability/sustainability.en.html

Einfacher Tippen mit ibus-typing-booster

Di, 19. Oktober 2021, Lioh Möller

Einige Anwendungen bringen bereits von Hause aus eine Wortvervollständigung mit. Um diese Funktion Systemweit nutzen zu können eignet sich ibus-typing-booster. Die Installation erfolgt in wenigen Schritten und wird auf der Webseite des Projektes ausführlich beschrieben. Unter Debian GNU/Linux lautet der Befehl dazu:

sudo apt install ibus-typing-booster


Nach der Paketinstallation muss die Anwendung aktiviert und eingerichtet werden. Dazu wählt man beispielsweise unter GNOME in den Einstellungen den Punkt Region und Sprache und fügt bei Eingabequellen über das + Symbol und daraufhin über die drei Punkte / Weitere die Eingabemethode Sonstige (Typing Booster) hinzu.


Daraufhin kann diese über die Tastaturauswahl am oberen rechten Bildschirmrand aktiviert werden. Alternativ lässt sich mittels Super + Space zwischen einzelnen Layouts umschalten.

Sobald der Typing Booster aktiviert wurde, werden im Pull-down-Menü der Tastaturauswahl weitere Menüpunkte angezeigt, unter anderem auch die Einstellungen. Dort kann im Bereich Optionen der Punkt Vorschläge auch für Unicode Symbole und Emoji aktiviert werden, um beispielsweise auch Smilies zu vervollständigen.

Standardmässig werden Wörter aus dem Hunspell Dictionary verwendet, die Applikation lernt allerdings selbstständig dazu. Alternativ können auch Textdateien zum Anlernen angegeben werden.

In der Dokumentation des Projektes finden sich weitere hilfreiche Tipps. Beispielsweise lässt sich in den Optionen die Inline Vervollständigung aktivieren.