staging.inyokaproject.org

1. März 2019

Alexa, Siri, Google, Cortana – Spracherkennung ist in aller Munde. Und in den festen Händen kommerzieller Anbieter. Nun hat Mozilla den weltweit größten öffentlichen Datensatz menschlicher Stimmen bereitgestellt – kostenlos und für jeden nutzbar.

Mozillas Arbeit auf dem Gebiet der Spracherkennung

Mozillas Arbeit im Gebiet der Spracherkennung kann neben der Arbeit an Firefox durchaus zu einem der wichtigsten Projekte der Not-for-Profit-Organisation Mozilla gezählt werden. Immer mehr Geräte sind miteinander vernetzt und lassen sich über Sprache steuern. Was vor Jahren noch nach Science Fiction geklungen hätte, ist mittlerweile für immer mehr Menschen Realiät. Der Erfolg eines Gerätes mit Spracherkennung steht und fällt dabei natürlich vor allem mit der Qualität der Spracherkennung

Der Markt für Spracherkennung wird von den ganz großen Namen kommerzieller Anbieter dominiert: Amazon, Apple, Google, Microsoft. Darum hat Mozilla das Projekt Common Voice gestartet. Mit Common Voice versucht Mozilla, eine kostenlose Alternative zu etablieren, zu der jeder beitragen kann und die jedem zur Verfügung steht, denn nach Ansicht von Mozilla sollte diese Technologie für jeden zugänglich sein und nicht den großen Anbietern vorbehalten sein. Common Voice ergänzt damit ein weiteres Projekt von Mozilla, nämlich ein Open Source Spracherkennungsmodell, welches unter dem Namen Deep Speech von Mozilla entwickelt wird.

Mozilla veröffentlicht Sprach-Datensatz

Was Mozilla nun kostenlos und zur freien Verfügung veröffentlicht hat, ist der weltweit bislang größte öffentliche Datensatz menschlicher Stimmen. Dieser setzt sich aus 18 verschiedenen Sprachen und knapp 1.400 Stunden aufgezeichneter Sprache zusammen, zu denen mehr als 42.000 Menschen beigetragen haben. Alle Datensätze stehen unter der Creative Commons-Lizenz CC0, befinden sich also in der sogenannten Public Domain.

Download Sprach-Datensatz von der Mozilla Common Voice Webseite

Mozillas Sprachtechnologie auf dem Vormarsch

Mozilla Common Voice ist in den acht Monaten seit dem Start weiterer Sprachen als Englisch bereits auf 22 Sprachen gewachsen – und 70 weitere Sprachen stehen schon in den Startlöchern. Erwähnenswert ist dabei auch, dass bei Common Voice nicht nur die populärsten Sprachen vertreten sind, sondern teilweise auch eher kleinere Sprachen dabei sind, welche von den großen kommerziellen Anbietern häufig vernachlässigt werden.

Aber auch DeepSpeech ist auf dem besten Weg. DeepSpeech sei nach Angaben von Mozilla bereits in der Lage, „Sprache mit menschlicher Genauigkeit und in Echtzeit in Text zu konvertieren – und zwar noch während der Ton gestreamt wird.“ DeepSpeech wird bereits in den Assistenten von Mycroft und Leon sowie im Telefonvermittlungssystem FusionPBX verwendet. In Zukunft soll DeepSpeech auch in Smartphones und In-Car-Systemen zum Einsatz kommen.

Dass Mozilla nun eine erste Version des Sprachdatensatzes bereitgestellt hat, heißt natürlich nicht, dass nicht weiter beigetragen werden sollte. Unter voice.mozilla.org kann nach wie vor jeder helfen.

Der Beitrag Mozilla stellt weltweit größten Sprach-Datensatz kostenlos zur Verfügung erschien zuerst auf soeren-hentzschel.at.

28. Februar 2019

Mozilla hat mit Firefox 65.0.2 ein außerplanmäßiges Update für Firefox 65 veröffentlicht.

Download Mozilla Firefox 65.0.2

Mozilla hat Firefox 65.0.2 für Windows veröffentlicht. Mit dem Update behebt Mozilla ein Problem mit der Geolocation-API, von welchem lediglich Windows-Nutzer betroffen waren. Weitere Änderungen bringt das Update nicht, dementsprechend gibt es für Nutzer von Apple macOS, Linux sowie Android auch kein Update.

Der Beitrag Mozilla veröffentlicht Firefox 65.0.2 erschien zuerst auf soeren-hentzschel.at.

Marius hat gestern in Braunschweig darüber gebloggt, dass Docker – Genauso schlimm wie befürchtet ist. Bis Marius zu seiner Analyse kommt, stimme ich ihm voll und ganz zu. Auch ich gehöre zu den ewig gestrigen, den Nörglern, Pessimisten und Schwarzsehern, welche es von Anfang an gesagt haben. Und unsere düstere Vorsehung ist eingetreten. Welch Überraschung.

Wo ich Marius nicht mehr zustimme, sind die Ergebnisse seiner Analyse, welche er in der zweiten Hälfte seines Artikels vornimmt. So schreibt er dort:

Der sicherere Ansatz ist und bleibt, daß jemand das OS vorgibt und sich die Apps an die Umgebung anpassen müssen. Damit sind die gezwungen Updates zu machen und das dient dann der allgemeinen Sicherheit.

URL: https://marius.bloggt-in-braunschweig.de/2019/02/27/docker-genauso-schlimm-wie-befuerchtet/

Diese Aussage ist in meinen Augen falsch. Denn niemand wird gezwungen, Updates für die in einem Betriebssystem installierten Anwendungen zu veröffentlichen. Folgende Beispiele sollen dies verdeutlichen.

Man nehme ein herkömmliches Betriebssystem, sagen wir Ubuntu oder Red Hat Enterprise Linux. Unter beiden Betriebssystemen kann ich mir nun eine Anwendung als DEB- bzw. RPM-Paket oder auch ganz klassisch als TAR-Archiv aus dem Internet herunterladen und auf meinem Betriebssystem installieren. Habe ich nun eine Garantie, dass ich Sicherheitsupdates für diese Software erhalte? Die Antwort lautet: Nein.

Verwendet man eine nach obigem Muster installierte Software und nutzt diese gemeinsame Bibliotheken, mag man das Glück haben, dass die Software nach der Aktualisierung eben dieser Bibliotheken nicht mehr funktioniert. Ob man dies als Sicherheitsgewinn wertet oder es doch nur ein Ärgernis ist, sei einmal dahingestellt.

Im Ubuntuversum soll die Paketquelle universe als abschreckendes Beispiel dienen. In dieser befindet sich so viel alte und nicht mehr gepflegte Software, dass man auch hier die Chance hat, Anwendungen mit ein oder mehreren Sicherheitslücken zu finden.

Zugegeben, mit einer zentralen Paketverwaltung ist es einfacher, sein System aktuell zu halten, um es vor Sicherheitslücken zu schützen. Eine Garantie ist es nicht und kein Sysadmin sollte sich darauf ausruhen.

Abzulehnen ist also alles, was eine App installiert, die mit eigener Umgebung kommt, sowas wie FlatPak, Docker und Snap.

URL: https://marius.bloggt-in-braunschweig.de/2019/02/27/docker-genauso-schlimm-wie-befuerchtet

Marius schließt seinen Beitrag mit obigem Satz. Dieser ist mir zu pauschal. Denn FlatPak, Docker und Snap sind nicht per Definition unsicher. Wer sich jedoch ohne lange nachzudenken, den erstbesten Container vom Docker Hub herunterlädt ist selber schuld.

Es gibt jedoch auch die Möglichkeit eine eigene Registry für Container aufzusetzen und zu betreiben, um nur Container zu verwenden, die man selbst geprüft bzw. gebaut hat. Oder man nutzt die Registries der Enterprise Distributionen wie z.B. Red Hat OpenShift, welche sich gegen Entgelt um die Bereitstellung geprüfter Container-Images kümmern. Auch dies ist keine Garantie für (absolute) Sicherheit und Aktualität. Doch hat hier wenigstens jemand den Sicherheitsaspekt im Auge und arbeitet an diesem Thema. Dies ist im Vergleich zur völlig freien, unkontrollierten und schwer prüfbaren Müllhalde ein großer Vorteil.

Ähnliches gilt für FlatPak und Snap. Letztlich stehen und fallen die kommerziellen Angebote damit, wie gut ihr Anbieter seinen Job macht. Auch hier wurden schon Pakete gefunden, die neben ihrer eigentlichen Aufgabe noch einen Zweitjob (Crypto currency mining) hatten.

Für pauschale bzw. absolute Aussagen ist es in meinen Augen noch zu früh. Wir werden noch eine Weile abwarten müssen, wie sich die einzelnen Projekte weiterentwickeln. Als Sysadmin sollte man weiterhin stets auf der Hut sein und seinen gesunden Menschenverstand benutzen.

27. Februar 2019

Die Nightly-Version von Firefox hat mit about:compat eine Übersicht über Kompatibilitäts-Anpassungen erhalten, welche von Firefox angewendet werden.

Normalerweise sind Webseiten selbst dafür verantwortlich, dass diese in jedem Browser korrekt funktionieren. In Ausnahmefällen hilft Firefox aber auch nach. So kann es sein, dass Firefox auf bestimmten Webseiten entweder vorgibt, ein anderer Browser zu sein, weil Firefox-Nutzer durch User-Agent-Sniffing ausgeschlossen werden, Firefox kann aber auch Probleme lösen, indem Code in eine Webseite injiziert wird.

Solche Maßnahmen sind Ausnahme und nicht die Regel und immer nur temporär angedacht, während das Ziel ist, dass das Problem seitens Webseite gelöst wird.

Mit about:compat bietet die Nightly-Version von Firefox nun eine Übersicht über aktive Kompatibilitäts-Anpassungen an, die von Firefox vorgenommen werden. Dabei sind die Anpassungen in die zwei Kategorien User-Agent-Überschreibungen sowie Interventionen, also Code-Anpassungen, aufgeteilt. Neben der Nennung der betroffenen Domain ist immer auch das dazugehörige Ticket in Mozillas Bugtracking-System verlinkt, außerdem kann über diese Seite jede Anpassung einzeln deaktiviert und wieder aktiviert werden.

about:compat in Firefox

Der Beitrag Firefox Nightly: Übersicht über Kompatibilitäts-Anpassungen erschien zuerst auf soeren-hentzschel.at.

26. Februar 2019

Die Tage bin ich auf ein nettes Script gestossen, dass die Verbindungen von Clients mit meinem Webserver anzeigen.

 

#!/bin/bash
# to repeatetly show the connections use watch -n1 -t bash show_connetcions.sh (to loop and show every second)
echo 'HTTP Connections'
netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

 

Wie im Kommentar zu lesen ist , kann man das Script mit watch aufrufen und so aktualisiert sich die Ansicht jede Sekunde. Natürlich muss das Script auch entsprechend im Kommentar benannt werden, möchte man es genauso aufrufen. ;)

watch -n1 -t bash show_connetcions.sh

 

Ich habe dann gleich noch für SSH

#!/bin/bash
# to repeatetly show the connections use watch -n1 -t bash show_ssh_connections.sh (every second)
echo 'SSH Connections'
netstat -tn 2>/dev/null | grep :22 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

 

für SMTP

#!/bin/bash
# to repeatetly show the connections use watch -n1 -t bash show_smtp_connections.sh (every second)
echo 'SMTP Connections'
netstat -tn 2>/dev/null | grep :25 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

 

und für IMAP erstellt

#!/bin/bash
# to repeatetly show the connections use watch -n1 -t bash show_imap_connections.sh (every second)
echo 'IMAP Connections'
netstat -tn 2>/dev/null | grep :143 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

 

Läßt man die Scripte nebeneinander in einer tmux Session laufen und hat in dem Fenster darunter das fail2ban log laufen ist das interessant anzuschauen. Man kann die Scripte natürlich auch in eine Datei kopieren und dann nur einmal aufrufen. Aber ich habe es lieber einzeln.

 

 

 

25. Februar 2019

Das sogenannte Anheften von Tabs ist ein praktisches Feature von Firefox, welches bislang nur über das Kontextmenü erreicht werden kann. In Firefox 67 wird dieses Feature auch über die Adressleiste zugänglich.

Per Rechtsklick auf einen Tab und „Tab anheften“ kann ein Tab in Firefox angeheftet werden, das heißt, dass der Tab am linken Rand der Tableiste positioniert wird, platzsparend nur mit Favicon und ohne Seitentitel angezeigt wird sowie vor versehentlichem Schließen geschützt ist. Außerdem werden angeheftete Tabs nach dem Start von Firefox umgehend geladen und müssen, anders als reguläre Tabs, nicht erst angeklickt werden, ehe sie aktiviert werden. Praktisch ist dieses Feature vor allem für Tabs, die man permanent geöffnet haben möchte, beispielsweise das E-Mail-Postfach, einen Kalender oder ein soziales Netzwerk.

Dadurch, dass diese Funktion bisher nur durch einen Rechtklick auf einen Tab erreicht werden kann, ist dieses Feature nicht unbedingt jedem Nutzer bekannt. Ab Firefox 67 befindet sich eine entsprechende Option auch in dem Menü, welches bei Klick auf das Symbol mit den drei Punkten in der Adressleiste erscheint.

Tabs anheften in Firefox 67

Und wem das noch nicht weit genug geht, der kann per Rechtsklick auf diesen neuen Menüeintrag das Symbol direkt in der Adressleiste von Firefox platzieren und damit jederzeit Tabs mit nur einem einzigen Klick anheften und wieder lösen.

Tabs anheften in Firefox 67

Der Beitrag Firefox 67: Anheften von Tabs wird prominenter erschien zuerst auf soeren-hentzschel.at.

24. Februar 2019

Um sich mit einem Rechner per SSH zu verbinden, kann ein Passwort oder ein kryptografisches Schlüsselpaar genutzt werden. Aus Gründen der Sicherheit sollte ein Login über SSH per Passwort im Normalfall nicht möglich sein. Stattdessen sollte sich immer über das Schlüsselpaar identifiziert werden. Dazu wird ein privater und ein öffentlicher Schlüssel generiert. Der öffentliche Schlüssel wird beim Zielserver in der Datei:

.ssh/authorized_keys

hinterlegt. Für die nötigen kryptografischen Operationen wird schließlich der private Schlüssel genutzt, welcher auf dem eigenen Rechner verbleibt. Normalerweise wird so nur ein Schlüsselpaar genutzt. Allerdings kann es durchaus vorkommen, das nicht nur ein Schlüssel, sondern mehrere unterschiedliche Schlüssel für die Verbindung zu unterschiedlichen Servern verwendet werden soll. Diese müssen dann auf dem eigenen Rechner vorgehalten werden. In diesem Fall muss der SSH-Client darüber informiert werden mit welchem Schlüssel die Anmeldung erfolgen soll. Normalerweise würde der Client wie folgt genutzt werden:

ssh root@example.com

In diesem Fall würde der Standardschlüssel aus dem ~/.ssh/-Verzeichnis genutzt werden. Soll nun ein bestimmter Schlüssel genutzt werden so muss der Parameter -i angegeben werden:

ssh -i .ssh/otherkey root@example.org

Damit kann der Schlüssel spezifiziert werden, welcher für die Verbindung genutzt werden soll. Eine andere Möglichkeit ist es für die einzelnen Server eine Konfiguration in der Datei ~/.ssh/config zu hinterlegen.

Host example.com
IdentityFile ~/.ssh/id_rsa

Host example.org
IdentityFile ~/.ssh/otherkey

So können unterschiedliche Schlüssel für unterschiedliche Server genutzt werden.

21. Februar 2019

Vor längerer Zeit hatte ich das große Vergnügen mich mit den verschiedenen Linux Partitionierungstools zu beschäftigen. Die getestete Auswahl beschränkte sich dabei auf:

  • GNU Parted
  • fdisk
  • gdisk

Und bevor gefragt wird: Alle Versionen waren auf dem aktuellen Stand, Arch Linux sei Dank. Generell lässt sich die Erkenntnis aus diesem Artikel aber auch auf andere Distributionen oder Versionen übertragen.

Ausgangslage

Es wurden die Daten von einer SSD mit 256GB auf eine mit 250GB kopiert, das Dateisystem wurde vorher natürlich entsprechend verkleinert, sodass alle nützlichen Daten auch zur neuen Plattengröße passen.

Kurzfassung:

sudo -i
e2fsck -f /dev/sda3
resize2fs /dev/sda3 200G
dd if=/dev/sda of=/dev/sdb

Der naive Ansatz war jetzt einfach die Zielplatte bei der Partitionierung etwas anzupassen, doch hier hatten die unterschiedlichen Partitionierungsprogramme verschiedene Meinungen.

fdisk

Der erste Versuch war fdisk, dieser ging ordentlich in die Hose. Denn bedingt durch GPT wurde nur eine pseudo Partition erkannt, welche die komplette Platte umfasst.

An dieser Stelle möchte ich erwähnen: Das gute alte fdisk ist mittlerweile ein gefährliches Werkzeug geworden, es kann mit GPT Partitionstabellen die man heute (denkt hier an UEFI) oft vorfindet, nicht richtig umgehen. Wer hier an dem was er damit findet, rumspielt gefährdet somit seine Daten. Je nach fdisk Version kann das Ergebnis hier sehr unterschiedlich ausfallen.

Achtung: Auch cfdisk ist hier keine gute Idee, also Finger weg von Tools, die kein GPT kennen oder damit nicht richtig umgehen können.

parted

Auch parted wollte mit der Kopie der Platte nicht wirklich arbeiten, denn natürlich ging die GPT der alten Platte von einer anderen Plattengröße aus. Das brachte parted, welches ja als Allround Tool konzipiert ist, durcheinander.

gdisk

Das, wenn auch altmodische, da sehr fdisk ähnlich, gdisk macht seinen Job wie gewünscht. Unter Angabe der richtigen Zielplatte aufgerufen hat es sofort erkannt, was Sache ist. Konkret passte die GPT-Größe nicht mehr zur Plattengröße und die letzte Partition ragte etwas über das Ende der Platte hinaus.

Beides konnte gut behoben werden, anschließend die Änderungen speichern und alles ist wieder gut.

Fazit

Wer heute partitioniert, will mindestens parted, da dort zumindest (manchmal auch nur theoretisch) die Chance besteht, eine Partitionstabelle unabhängig vom Typ zu bearbeiten. Es fällt nicht sofort bei GPT auf die Nase und ist dank diverser Frontends recht frustrationsfrei benutzbar. Es lohnt sich bei Problemen mit der Partitionierung auch mal einen Blick auf andere Tools zu riskieren, vor allem wenn einem die Ausgabe komisch vorkommt.

Abgesehen davon warnt parted auch sehr brauchbar vor Partition misalignment, was für die Performance gerade bei SSDs sehr hilfreich ist.

Zuletzt gilt das alte Leitmotto: Das richtige Werkzeug für die richtige Arbeit, wer also GPT verwenden möchte, nimmt dafür auch bevorzugt gdisk, das spart Ärger, Zeit und rettet im Zweifelsfall deine Daten ;)

Vor längerer Zeit hatte ich das große Vergnügen mich mit den verschiedenen Linux Partitionierungstools zu beschäftigen. Die getestete Auswahl beschränkte sich dabei auf:

  • GNU Parted
  • fdisk
  • gdisk
Und bevor gefragt wird: Alle Versionen waren auf dem aktuellen Stand, Arch Linux sei Dank. Generell lässt sich die Erkenntnis aus diesem Artikel aber auch auf andere Distributionen oder Versionen übertragen.

Ausgangslage

Es wurden die Daten von einer SSD mit 256GB auf eine mit 250GB kopiert, das Dateisystem wurde vorher natürlich entsprechend verkleinert, sodass alle nützlichen Daten auch zur neuen Plattengröße passen.

Kurzfassung:

sudo -i
e2fsck -f /dev/sda3
resize2fs /dev/sda3 200G
dd if=/dev/sda of=/dev/sdb
Der naive Ansatz war jetzt einfach die Zielplatte bei der Partitionierung etwas anzupassen, doch hier hatten die unterschiedlichen Partitionierungsprogramme verschiedene Meinungen.

fdisk

Der erste Versuch war fdisk, dieser ging ordentlich in die Hose. Denn bedingt durch GPT wurde nur eine pseudo Partition erkannt, welche die komplette Platte umfasst.

An dieser Stelle möchte ich erwähnen: Das gute alte fdisk ist mittlerweile ein gefährliches Werkzeug geworden, es kann mit GPT Partitionstabellen die man heute (denkt hier an UEFI) oft vorfindet, nicht richtig umgehen. Wer hier an dem was er damit findet, rumspielt gefährdet somit seine Daten. Je nach fdisk Version kann das Ergebnis hier sehr unterschiedlich ausfallen.

Achtung: Auch cfdisk ist hier keine gute Idee, also Finger weg von Tools, die kein GPT kennen oder damit nicht richtig umgehen können.

parted

Auch parted wollte mit der Kopie der Platte nicht wirklich arbeiten, denn natürlich ging die GPT der alten Platte von einer anderen Plattengröße aus. Das brachte parted, welches ja als Allround Tool konzipiert ist, durcheinander.

gdisk

Das, wenn auch altmodische, da sehr fdisk ähnlich, gdisk macht seinen Job wie gewünscht. Unter Angabe der richtigen Zielplatte aufgerufen hat es sofort erkannt, was Sache ist. Konkret passte die GPT-Größe nicht mehr zur Plattengröße und die letzte Partition ragte etwas über das Ende der Platte hinaus.

Beides konnte gut behoben werden, anschließend die Änderungen speichern und alles ist wieder gut.

Fazit

Wer heute partitioniert, will mindestens parted, da dort zumindest (manchmal auch nur theoretisch) die Chance besteht, eine Partitionstabelle unabhängig vom Typ zu bearbeiten. Es fällt nicht sofort bei GPT auf die Nase und ist dank diverser Frontends recht frustrationsfrei benutzbar. Es lohnt sich bei Problemen mit der Partitionierung auch mal einen Blick auf andere Tools zu riskieren, vor allem wenn einem die Ausgabe komisch vorkommt.

Abgesehen davon warnt parted auch sehr brauchbar vor Partition misalignment, was für die Performance gerade bei SSDs sehr hilfreich ist.

Zuletzt gilt das alte Leitmotto: Das richtige Werkzeug für die richtige Arbeit, wer also GPT verwenden möchte, nimmt dafür auch bevorzugt gdisk, das spart Ärger, Zeit und rettet im Zweifelsfall deine Daten ;)

18. Februar 2019

Der Add-on Manager ist eine wichtige Komponente von Firefox, da über diesen sämtliche Erweiterungen, Themes und Sprachpakete verwaltet werden. Mozilla arbeitet an einer Neu-Implementierung des Add-on Managers mit Webtechnologie und neuen Funktionen.

Es ist noch nicht lange her, genauer gesagt in Firefox 64, da hat der Add-on Manager von Firefox sichtbare Änderungen erfahren. Bereits damals war hier auf dem Blog zu lesen, dass dies nur ein erster Schritt ist, ehe in diesem Jahr größere Änderungen anstehen. Mockups zeigen nun, worauf sich Nutzer freuen dürfen.

Wie immer bei Mockups sei erwähnt, dass diese nicht zwangsläufig das finale Produkt repräsentieren müssen – weder, was das Design betrifft, noch funktional.

Das Wichtigste zuerst: Ähnlich wie about:config, was in Firefox 67 komplett neu in HTML und JavaScript sowie ohne XUL und XBL implementiert worden ist, steht dieser Schritt auch für about:addons an. Neben der Entfernung proprietärer Technologie soll dies auch die Implementierung neuer Features vereinfachen. Nutzer einer Nightly-Version von Firefox können bereits jetzt extensions.htmlaboutaddons.enabled über about:config auf true schalten, um die neue Implementierung zu testen. Diese befindet sich allerdings noch recht am Anfang und ist zu diesem Zeitpunkt daher noch nicht besonders interessant, um einen Eindruck zu erhalten.

Im neuen Listen-Design, welches auf den ersten Blick nur leicht verändert ist, bleibt mehr Platz für die Beschreibungen, weil die Buttons zugunsten eines Drei-Punkte-Menüs verschwunden sind, wie es bereits an anderen Stellen von Firefox vorkommt. Deaktivierte Erweiterungen werden von aktivierten Erweiterungen durch eine Überschrift klarer voneinander getrennt.

Firefox Add-on Manager Redesign 2019

Statt einzelner Detail-Seiten sollen die Details zukünftig direkt in der Listen-Ansicht ausgeklappt werden. Interessant hierbei ist die Aufteilung in drei Tabs: Details, Einstellungen und Berechtigungen.

Im Abschnitt Details gibt es die ausführliche Beschreibung des Add-ons zu sehen sowie Informationen wie den Entwickler oder Bewertungen.

Firefox Add-on Manager Redesign 2019

Unter Einstellungen findet sich die Einstellung zwecks automatischer Updates, aber auch zwei neue Einstellungen: So lässt sich hier einstellen, ob die Erweiterung auch im Privaten Modus aktiviert sein soll – diese Einstellung wird voraussichtlich ab Firefox 67 ausgeliefert werden. Und auch, ob ein Symbol in der Toolbar angezeigt werden soll oder nicht, hat auf diesem Bildschirm eine Einstellung.

Firefox Add-on Manager Redesign 2019

Schließlich werden unter Berechtigungen sämtliche Berechtigungen angezeigt, welche von einer Erweiterung benötigt werden. Ob die Berechtigungen jeweils einzeln entzogen werden können, geht aus dem Mockup nicht eindeutig hervor, da zwar neben jeder Berechtigung Umschalt-Buttons zu sehen sind, dies aber verblasst und damit inaktiv dargestellt werden und damit auch als rein visuelles Mittel genutzt werden könnten.

Firefox Add-on Manager Redesign 2019

Nach dem Entfernen einer Erweiterung führt ein Button in der Bestätigungs-Meldung zu der Option, andere Erweiterungen zur Installation zu suchen.

Firefox Add-on Manager Redesign 2019

In welcher Firefox-Version der neue Add-on Manager implementiert sein wird, kann zu diesem Zeitpunkt noch nicht gesagt werden.

Der Beitrag Vorschau auf den neuen Add-on Manager von Firefox erschien zuerst auf soeren-hentzschel.at.

17. Februar 2019

Über die Konfigurationsoberfläche about:config ist es Firefox-Nutzern möglich, zahlreiche versteckte Einstellungen vorzunehmen. In Firefox 67 hat Mozilla about:config komplett neu implementiert.

Firefox bietet beinahe unzählige Anpassungsmöglichkeiten für den Nutzer. Die für den Nutzer in den Einstellungen sichtbaren Einstellungen decken dabei nur einen geringen Teil ab. Über about:config findet man zahlreiche weitere versteckte Einstellungen

about:config in Firefox 66

Ab Firefox 67 zeigt sich about:config in komplett neuem Glanz. Die bisherige Oberfläche, welche auf der Mozilla-eigenen Oberflächen-Sprache XUL basierte, ist einer neuen Implementierung gewichen, welche komplett auf den Webstandards HTML und JavaScript basiert.

about:config in Firefox 67

Die neue Oberfläche sieht nicht nur anders aus und entspricht mehr der Photon-Designsprache von Firefox Quantum. Aus der HTML-Implementierung ergeben sich auch natürliche Vorteile in der Bedienung.

So können in about:config nun wie auf jeder Webseite Inhalte per Ziehen mit gedrückter Maustaste oder Dreifachklick markiert werden. Auch ist es möglich, mehrere Einstellungen gleichzeitig zu kopieren. Lange Werte werden nicht länger abgeschnitten, sondern nun mehrzeilig angezeigt. Und die ganz normale Textsuche für Webseiten funktioniert auch im neuen about:config. Auch das Kontextmenü entspricht nun dem normalen Kontextmenü von Webseiten, was beispielsweise eine schnelle Suche nach Schaltern in der Suchmaschine seiner Wahl ermöglicht.

Statt wie bisher auf eine Zeile doppelt zu klicken, um diese zu bearbeiten, oder einen Schalter per Kontextmenü auf seinen Standard-Wert zurückzusetzen, gibt es dafür nun sichtbare Schaltflächen, womit diese Funktionen offensichtlicher zugänglich sind als bisher.

Auch um eine neue Einstellung hinzuzufügen, wird nicht länger das Kontextmenü verwendet. Hierfür gibt man in das Suchfeld einfach den gewünschten Einstellungsnamen ein und kann dann den passenden Options-Typ auswählen und die Hinzufügen-Schaltfläche anklicken.

about:config - Neue Einstellung in Firefox 67

Alle Funktionen des bisherigen about:config wurden bewusst nicht umgesetzt, um die Implementierung möglichst einfach zu halten und damit die Wartbarkeit für Mozilla zu verbessern. Dabei hat man sich vor allem danach gerichtet, welche Funktionen im alten about:config gemäß Telemetrie-Daten kaum genutzt worden sind. Dafür sind andere Verbesserungen für die Zukunft angedacht, wie eine Liste von Favoriten oder eine Anzeige kürzlich veränderter Einstellungen. An weiteren Verbesserungen wird Mozilla aber erst aktiv arbeiten, wenn das neue about:config die finale Version von Firefox 67 erreicht hat.

Firefox 67 wird nach aktueller Planung am 14. Mai 2019 erscheinen.

Der Beitrag Firefox 67 mit neuem about:config erschien zuerst auf soeren-hentzschel.at.

16. Februar 2019

Für die Entwicklung von Firefox nutzt Mozilla in Zukunft Clever-Commit von Spieleentwickler Ubisoft – damit reduziert Mozilla die Anzahl von Programmierfehlern, noch bevor diese im Code landen, mit Hilfe Künstlicher Intelligenz.

Mit Clever-Commit von Spieleentwickler Ubisoft soll die Entwicklung von Firefox noch effizienter werden. Mozilla schreibt dazu Folgendes:

Das Firefox-Engineering-Team setzt Clever-Commit künftig in verschiedenen Phasen ein, die der Code durchläuft; vom Schreiben über das Testen bis hin zum Release. Außerdem setzen wir das Tool zunächst während der Code-Reviewphase ein und, wenn uns die Ergebnisse überzeugen, auch in anderen Phasen des Code-Schreibprozesses, insbesondere bei der Automatisierung. Wir rechnen damit, dass uns dies hunderte Stunden bei der Risikoanalyse und -erkennung von Bugs einspart. Letztendlich könnte es uns die Integration von Clever-Commit in den vollständigen Firefox-Entwickler-Workflow sogar ermöglichen, drei bis vier von insgesamt fünf Bugs zu erkennen, noch bevor sie in den Code eingefügt werden.

Clever-Commit nutzt künstliche Intelligenz, um Muster von Programmierfehlern basierend auf der Entwicklungschronik der Software zu erkennen. Dazu kombiniert das Tool Daten aus dem Bug-Tracking-System und dem Versionskontrollsystem (Änderungen in der Codebasis). So können wir Bugs bereits in einer Phase des Entwicklungsprozesses fixen, in der sie viel günstiger und weniger zeitaufwändig zu beheben sind als zum Release.

Mozilla

Umgekehrt wird Mozilla auch sein Know-How an Ubisoft weitergeben, um Clever-Commit besser zu machen.

Der Beitrag Firefox: Weniger Fehler durch Künstliche Intelligenz von Ubisoft erschien zuerst auf soeren-hentzschel.at.

13. Februar 2019

Seit Firefox 56 wird der Mozilla-Browser mit einer eingebauten Screenshot-Funktion ausgeliefert. Bisher konnten die Screenshots online in der Mozilla-Cloud gespeichert werden. In Firefox 67 entfernt Mozilla die Upload-Funktion.

Firefox Screenshots ist ein seit Firefox 56 in Firefox integriertes Werkzeug zur Aufnahme von Bildschirmfotos, welches erlaubt, entweder nur den sichtbaren Bereich einer Webseite, die komplette Webseite oder einen beliebigen Ausschnitt abzubilden. Die Screenshots können entweder in die Zwischenablage kopiert oder auf dem Computer gespeichert werden. Außerdem ist es bislang möglich, die Bilder online auf screenshots.firefox.com zu speichern.

Nachdem Mozilla bereits vergangenen Monat angekündigt hat, den Online-Service trotz des Erfolges abzuschalten, fehlt die entsprechende Upload-Möglichkeit ab Firefox 67. Die Screenshot-Funktion selbst bleibt aber in Firefox. Mit Strg + Umschalt + S (macOS: Cmd + Umschalt + S) erhält die Screenshot-Funktion sogar eine neue Tastenkombination, um diese zu starten. Bis Firefox 65 war diese Tastenkombination für den Debugger der Entwicklerwerkzeuge reserviert.

Der Button zum Download der Screenshots auf die eigene Festplatte ist in Zukunft außerdem eindeutig beschriftet. Die missverständliche Beschriftung der Buttons führte in der Vergangenheit bei manchen Nutzern zu Kritik: So war der Upload-Button mit „Speichern“ beschriftet, während der Download-Button gar keine Beschriftung, sondern nur ein Symbol hatte.

Mit dem Wegfall der Upload-Möglichkeit fällt auch die Schaltfläche weg, die eigenen Screenshots aufzurufen, ebenfalls die Bildbearbeitungsmöglichkeiten, da diese nur für die online gehosteten Bilder zur Verfügung standen.

Firefox 67 wird nach aktueller Planung am 14. Mai 2019 erscheinen.

Der Beitrag Firefox 67: Screenshot-Upload entfernt erschien zuerst auf soeren-hentzschel.at.

In diesem Artikel geht es um die ersten beiden Teile meiner Videoreihe zur Rust-Einführung: hier werden wir die Toolchain für die Programmiersprache installieren sowie ein "Hello world"-Programm schreiben.

In meinem Eingangsartikel zu Rust bekam ich im Feedback mit, dass kurze Ausflüge in die Welt dieser - doch in der Bedienung etwas unüblichen Programmiersprache - begrüßt werden. Ich werde dies allerdings anfangs noch ein wenig kompakter halten und multimedial fahren: den Kern gibt es innerhalb eines Videotutorials und hier werde ich ergänzende Anmerkungen geben. Den Einstieg machen zwei Videos zu jeweils der Installation und dem Hello world-Example samt Kurzeinführung in die Variablen.

Installation

https://www.youtube.com/watch?v=kOrzA4LoeZM

Im Video habe ich die Variante über rustup gezeigt. Die Entwickler wollen wohl zwei Probleme angehen: die Einstiegshürde bei der Installation nehmen und die Fragmentierung (die Versionsstände in eingeschlägigen Distros hängen oft aus Stabilitäts- und Komptaiblitätsgründen durchaus hinterher) verhindern. Der Installer erstellt hierbei im Benutzerverzeichnis Verzeichnisse samt der entsprechenden Binaries und sorgt durch Ergänzung des PATHs für die Erreichbarkeit der Kommandos im Terminal.

Ich bin normalerweise kein Freund von "führ diesen x-beliebigen Code aus dem Internet direkt in deiner Shell aus". Klar, es wird hier nur im Userverzeichnis gearbeitet, aber trotzdem gibt es dabei genug Angriffsvektoren. Und leider wird  auch nicht auf ein Debian-Paketrepository zur Installation zurückgegriffen. Ich selber greife bei der Entwicklung übrigens dank Arch Linux dann doch auf ein Paketmanager-Binary zurück. Das heißt aber nicht, dass Debian Rust gar nicht im Repository hat: hier sind rustc und cargo in Version 1.24 resp. 0.25 verfügbar - so benötigt allerdings actix-web, eine Python Flask-ähnliches Webframework teilweise Version 1.26.

Hello world! / Variablen

https://www.youtube.com/watch?v=sBFMoYGGfh8

fn main() {
    let x = 42;
    println!("Hello world! x is {}", x);
}

Den Kern habe ich in diesem Video bereits umrissen. Vielleicht sei zu ergänzen, dass natürlich die erwähnte Typinferenz auch auf die Funktionen angewandt wird und aus diesem Grund die Angabe eines Returntypes optional ist. Funktionen haben allerdings einige Besonderheiten bezüglich der Rückgabe, auf die ich zukünftig noch eingehen werde.

Leider machen wir den Einstieg mit einer Eigenheit von Rust, denn im Gegensatz zu C mit printf() aus der stdlib.h oder Python mit print() als built-in function läuft die Standardausgabe in Rust über ein Makro ab. Diese sehen aus wie Funktionen, nur endet hierbei der identifier mit einem Ausrufezeichen. Makros sind unter Rust ähnlich wie unter C, werden vor der Analyse im Präprozessor ausgewertet und sollen die durch die statische Typisierung entstehenden Nachteile als "Shortcuts" kompensieren. Sie ermöglichen somit eine "Sprache in der Sprache" und können wirklich je nach Einsatzzweck sinnvoll sein.

Variablen sind standardmäßig immutable und können per keyword mut mutable, also veränderlich, gemacht werden. Aushebeln lässt sich dies über eine Mehrfachdefinition, die nicht nur möglich, sondern auch als best practise in "The Book", dem Referenzhandbuch von Rust, beschrieben wird. Ziel hierbei soll sauberer Code sein, um im Verlauf des Parsens einer Eingabe einen eindeutigen Namen zu erhalten.

Ausblick

Im nächsten Video soll es insbesondere um Ownership und Lifetime, das Kernfeature und Knackpunkt von Rust, gehen. Auf weitere Videowünsche bezüglich dieser Serie kann ich, wenn umsetzbar, auch eingehen.

12. Februar 2019

Mozilla hat mit Firefox 65.0.1 das erste außerplanmäßige Update für Firefox 65 veröffentlicht. Firefox 65.0.1 behebt mehrere Sicherheitslücken sowie zahlreiche Probleme.

Download Mozilla Firefox 65.0.1

Mit dem Update auf Firefox 65.0.1 hat Mozilla ein erstes außerplanmäßiges Update für Firefox 65 veröffentlicht. Das Update ist für jeden Nutzer dringend empfohlen, da Mozilla mit diesem Update gleich drei Sicherheitslücken behebt, deren Risiko jeweils mit hoch bewertet wird. Zwei Sicherheitslücken befinden sich in der von Google entwickelten Grafikbibliothek Skia, bei der dritten Sicherheitslücke handelt es sich um eine mögliche Verletzung der Same-Origin-Policy in Verbindung mit dem canvas-Element.

Weiter hat Mozilla mit dem Update eine versehentlich an addons.mozilla.org gesendete Anfrage unterbunden, welche bei der Anzeige von Erweiterungs-Empfehlungen ausgeführt worden ist, noch bevor der Nutzer den Button zur Installation geklickt hat.

Der Dialog zum Löschen der Chronik konnte unter Umständen abgeschnitten sein, was diesen nicht benutzbar machte.

Ein Problem bei der Wiedergabe von Netflix-Videos wurde behoben, ebenso Verzögerungen bei Kommunikation über WebRTC. Außerdem wurden mögliche Darstellungsprobleme in WebRTC-Videogesprächen behoben.

Probleme gab es auch bei der Verwendung von WebSockets über HTTP/2 hinter einem Proxy-Server, was mit dem Update der Vergangenheit angehören sollte.

In Firefox 64 wurde der Responsive Design Modus (RDM) von Firefox verbessert, indem der Viewport-Tag nun berücksichtigt wird. Aufgrund von Problemen damit wurde diese Änderung hinter einen Schalter in about:config gesetzt und zunächst wieder deaktiviert. Der neue Schaltername ist devtools.responsive.metaViewport.enabled.

Für Nutzer von Apple macOS wurde das nicht mehr funktionierende Farbmanagement behoben. Nutzer mancher Linux-Distributionen beklagten, dass die Enter-Taste in Passwort-Feldern nicht mehr funktionierte, was ebenfalls behoben worden ist.

Auch Firefox 65.0.1 für Android wurde veröffentlicht. Das Android-Update beinhaltet dieselben Sicherheits- und WebSockets-Fixes wie die Desktop-Version.

Der Beitrag Mozilla veröffentlicht Sicherheits- und Bugfix-Update Firefox 65.0.1 erschien zuerst auf soeren-hentzschel.at.

11. Februar 2019

Mozilla hat in Firefox 67 gleich mehrere Verbesserungen des integrierten Passwort-Managers vorgenommen.

Eine praktische Funktion von Firefox ist es, sich Passwörter merken zu können, damit man diese auf Webseiten nicht immer wieder neu eingeben muss. Eben jene Komponente erfährt in Firefox 67 mehrere Verbesserungen.

Die auffälligste Neuerung ist, dass Benutzernamen- und Passwortfelder, welche von Firefox vervollständigt worden sind, nun farblich hinterlegt werden. Das ist konsistent zur Vervollständigung von Formularfeldern, einer anderen Funktion von Firefox. Auch dabei werden von Firefox vervollständigte Felder in dieser Farbe hinterlegt.

Passwort-Manager Firefox 67

Ist für eine Webseite nur ein Passwort gespeichert, füllt Firefox dieses bei Besuch bisher standardmäßig automatisch aus. In den Firefox-Einstellungen wurde nun eine sichtbare Option implementiert, um dieses Verhalten abzuschalten.

Passwort-Manager Firefox 67

Eine weitere Neuerung betrifft private Fenster. In diesen erlaubt es Firefox bisher nicht, Passwörter zu speichern. Ab Firefox 67 kann Firefox auch in privaten Fenstern Passwörter von Webseiten speichern. Der Unterschied zu regulären Fenstern ist, dass der Speichern-Dialog in privaten Fenstern nicht automatisch aufploppt, sondern der Nutzer dafür zunächst das Schlüsselsymbol in der Adressleiste anklicken muss. Wem das nicht gefällt, der kann diese Neuerung über about:config deaktivieren, indem der Schalter signon.privateBrowsingCapture.enabled auf false gesetzt wird.

Passwort-Manager Firefox 67

Firefox 67 wird nach aktueller Planung am 14. Mai 2019 erscheinen.

Der Beitrag Firefox 67: Verbesserungen des Passwort-Managers erschien zuerst auf soeren-hentzschel.at.

Wenn Cronjobs auf einem Linux-System angelegt werden sollen, so geschieht dies meist mit dem Befehl:

crontab -e

Damit wird die Crontab-Datei des aktuellen Nutzern in einem Editor geöffnet. Leider verschleiert der Befehl den Ort an dem die eigentlichen Crontab-Dateien liegen. Dies ist z.B. dann interessant wenn ein Backup der Cronjobs eingespielt werden soll. Die entsprechenden Crontab-Dateien befinden sich hierbei im Ordner:

/var/spool/cron/crontabs

Für jeden Nutzer existiert dort eine Datei mit dem entsprechenden Nutzernamen, in welchem die Cronjobs hinterlegt sind. Meistens wird ein solches Backup nach dem Befehl:

crontab -r

benötigt werden. Dieses Befehl löscht die Crontab-Datei des aktuellen Nutzers. Leider ist die E-Taste ein direkter Nachbar der R-Taste. Dies führt dazu das die Crontab-Datei beim Versuch sie zu bearbeiten, bedingt durch einen kleinen Vertipper, ohne Rückfrage gelöscht wird.

7. Februar 2019

Die meisten unserer Webanwendungen laufen in LXD Containern. Nicht ohne Grund ist LXD für mich eines der wichtigsten Features von Ubuntu Server. Es gibt viele Wege um von außen auf eine Webanwendung in einem LXD Container zuzugreifen. So kann man z.B. einen Reverse Proxy nehmen und darüber die Zugriff auf die Container regeln (hier hatte ich schon mal davon berichtet). Eine andere Möglichkeit ist die Einrichtung einer Netzwerkbrücke, sodass sich die Container im gleichen Netz wie der Containerhost (Ubuntu Server) befinden. In diesem Artikel möchte ich kurz beschreiben, wie man eine Netzwerkbrücke für LXD Container einrichtet.

Netzwerkbrücke für LXD Container

Um eine Netzwerkbrücke unter Ubuntu einzurichten, muss man die bridge-utils installieren:

$ apt install bridge-utils

Danach kann man die Netzwerkbrücke einrichten.

bis Ubuntu 16.04

Bis Ubuntu 16.04 nutzt Ubuntu ifupdown um Einstellungen für die Netzwerkverbindungen festzulegen. Die Konfiguration nimmt man in den Dateien unter /etc/network/ vor. Eine einfache Netzwerkbrücke, um die Container in das Host-Netzwerk zu bekommen, könnte so aussehen:

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The main Bridge
auto br0
iface br0 inet dhcp
    bridge-ifaces enp4s0
    bridge-ports enp4s0
    up ip link set enp4s0 up

# The primary network interface
iface enp4s0 inet manual

Hier bekommt die Brücke ihre Adresse vom DHCP-Server mitgeteilt. Die reale Netzwerkkarte enp4s0 wird in den manuellen Modus gesetzt und der Brücke zugewiesen.

ab Ubuntu 18.04

Ab Ubuntu 18.04 wird Netplan für die Konfiguration der Netzwerkverbindungen verwendet. Die Konfigurationsdateien befinden sich unter /etc/netplan/. Eine Definition für die Brücke könnte folgendermaßen aussehen:

$ cat /etc/netplan/50-cloud-init.yaml 
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp3s0:
            dhcp4: no
    version: 2
    bridges:
        br0:
            dhcp4: no
            addresses:
            - 10.10.10.5/24
            gateway4: 10.10.10.254
            nameservers:
                addresses:
                - 10.10.10.254
            interfaces:
            - enp3s0

Im oberen Teil konfiguriert man die reale Netzwerkkarte (enp3s0) und weißt ihr keine Adresse zu. Danach folgt die Definition der Netzwerkbrücke. Sie wird wie eine statische Netzwerkverbindung eingerichtet und enthält zusätzlich den Punkt interfaces. Dort legt man fest, welche reale Netzwerkkarte „überbrückt“ werden soll. Weitere (komplexere) Beispiele zu Netzwerkbrücken gibt es auf der offiziellen Website.

Nun werden mit dem folgenden Befehl die Änderungen an den Netzwerkeinstellungen angewendet:

$ netplan apply  --debug

Netzwerkbrücke zuweisen

Hat man die Netzwerkbrücke fertig eingerichtet und bekommt sie auch die richtige IP-Adresse, muss man dem LXD Container noch mitteilen, dass er seine IP-Adresse über die Netzwerkbrücke beziehen soll. Das erledigt man mit folgendem Befehl:

$ lxc config device add containername eth0 nic nictype=bridged parent=br0 name=eth0

Mit name=eth0 legt man fest, unter welchen Namen man die Netzwerkkarte im Container findet. Nun kann man im Container eth0 nach Belieben konfigurieren. Ab sofort sollte der Container eine IP-Adresse aus dem Host-Netzwerk bekommen.

Fazit

Eine einfache Netzwerkbrücke lässt sich schnell einrichten und man kann sie ohne Probleme einem Container zuweisen. Andere Benutzer im Netzwerk können so ohne die Einrichtungen eines Reverse-Proxys auf eine Webanwendung zugreifen. Auch komplexere Szenarien sind denkbar (VLANs, mehrere Brücken, um die Container in verschiedene Netz zu bekommen etc.), doch das würde den Rahmen dieses kurzen Artikels sprengen.

3 Kommentare

Der Beitrag Netzwerkbrücke für LXD Container einrichten erschien zuerst auf .:zefanjas:..

6. Februar 2019

HTML-Mails sind eine schlechte Idee. Warum, wurde an anderer Stelle bereits ausführlich erklärt. In aller kürze Zusammengefasst: Sie machen es Angreifer*innen, Spammern und Werbenetzwerken sehr viel einfacher euch mit Werbung zu versorgen und gleichzeitig ein Profil von euch anzulegen. Darüber hinaus bieten sich dank JavaScript und VBS Möglichkeiten Schadsoftware auf euren Rechnern zu hinterlassen und schwächen PGP-Kryptografie ab. Dennoch komme ich um die Anzeige von HTML-Mails manchmal nicht herum.

Eines der größten Probleme sind für mich Mails, die mit dem Programm Apple Mail verfasst wurden. Apple hält sich, was Mail-Anhänge angeht, leider nicht an die gängigen Konventionen, was dazu führt, dass Mail-Anhänge bei mir als Empfänger in Thunderbird im „Reiner Text“-Modus nicht angezeigt werden. Auch manche Airlines oder Online-Shops liefern ihre Mails derart HTML-optimiert aus, dass ich, um die Inhalte anzeigen zu können, kurz die HTML-Anzeige zulassen muss.

Ein umständliches „Menü -> Ansicht -> Nachrichteninhalt -> vereinfachtes HTML“ macht dann die Anhänge von Apple-Mail sichtbar und lässt mich auch die Inhalte von Shops und Buchungsportalen wieder sehen. Leider schaltet Thunderbird den HTML-Modus für alle Konten an und so musste ich bisher jedes mal manuell wieder über „Menü -> Ansicht -> Nachrichteninhalt -> Reiner Text“ auf den sicheren „Nur-Text-Modus“ zurück schalten.

Abhilfe dagegen schafft das Plugin Allow HTML Temp, dass sich über „Menü -> Add-ons -> Add-ons“ nach kurzer Suche installieren lässt. Es gibt euch die Möglichkeit auf Knopfdruck temporär den Anzeigemodus nur für die angezeigte Mail zu ändern. Was konkret angezeigt werden soll, lässt sich in den übersichtlich gestalteten Einstellungen des Plugins konfigurieren. Ich empfehle folgende Einstellungen:

Sollte bei euch nach der Installation keine Schaltfläche zu finden sein (siehe hellblaue Hervorhebung im Screenshot), dann hilft ein Klick mit der rechten Maustaste in den Bereich zwischen Absender-Adresse und Schaltflächen zum Antworten, Weiterleiten, usw. Dort lässt sich dann über „Anpassen“ die entsprechende Schaltfläche per „drag and drop“ hinzufügen.

Abschließend lohnt sich ein Besuch auf der Add-on-Seite, denn dort gibt es jede Menge weiterer sinnvoller Tips und Tricks wie Tastenkürzel und andere mögliche Anzeige-Orte für die Schaltflächen.

4. Februar 2019

Mit Firefox 67 wird Mozilla die nächste Privatsphäre-Verbesserung ausliefern. Dann nämlich wird der Content-Blocker von Firefox um ein Blockieren von Cryptomining sowie Finterprinting erweitert.

Mozilla arbeitet in diesen Monaten intensiv an der Implementierung verbesserter Privatsphäre-Features von Firefox. In der gerade veröffentlichten Version Firefox 65 wurden die Content-Blocking-Einstellungen erst überarbeitet und noch in diesem Monat wird Mozilla mit einem Teil der Nutzer das standardmäßige Blockieren von Drittanbieter-Cookies testen.

Eben jene Content-Blocking-Einstellungen, welche bisher den Tracking-Schutz sowie die Drittanbieter-Cookie-Einstellungen beinhalten, sollen in Firefox 67 zwei weitere Kategorien dazubekommen, nämlich Cryptomining sowie Fingerprinting.

Cryptomining-Blocker Firefox 67

Natürlich werden beide neuen Kategorien ebenso auch in den Dialog integriert, welcher bei Klick auf das Info-Symbol in der Adressleiste erscheint. Wie bei Trackern und Cookies erhält der Nutzer auch hier bei Klick auf die entsprechende Kategorie Information zu entdeckten Elementen auf der aktiven Webseite.

Cryptomining-Blocker Firefox 67

Firefox 67 wird nach aktueller Planung am 14. Mai 2019 erscheinen.

Der Beitrag Firefox 67 bekommt Cryptomining- und Fingerprinting-Blocker erschien zuerst auf soeren-hentzschel.at.

Rust ist eine vor knapp 10 Jahren bei Mozilla Research ins Leben gerufene Sprache, die bekannte Probleme von z.B. C hinsichtlich der Speicherverwaltung angeht. In den nächsten Wochen beschäftige ich mich genauer mit dem Newcomer.

Es ist, wie auch in "The Passionate Programmer" empfohlen, sinnvoll, sich von Zeit zu Zeit eine komplett neue Programmiersprache anzueignen. Ich habe in den letzten Jahren viel mit Python sowie in letzter Zeit mit C(++) gearbeitet und suchte daher in den letzten Wochen eine Programmiersprache, die viele Konzepte beider Sprachen vereint. Darunter sollten folgende Eigenschaften sein:

  • statische Typisierung (wie in C)
  • modern und entwicklerfreundlich, mit z.B. einer guten Paketverwaltung (wie in Python)
  • intermediate-level-Ausrichtung (wie in C)

Die Wahl fiel auf Rust. Ich habe aus dem Augenwinkel bereits in den letzten Jahren die Entwicklung der von Mozilla vorangetriebenen Sprache verfolgt und möchte in der nächsten Zeit dort ein wenig mehr durchsteigen.

Rust hat viele Konzepte, welche die Sprache so interessant wie auch anspruchsvoll gestalten. Die Sprache legt einen besonderen Wert auf sichere Programmierung, insbesondere hinsichtlich des Speichermanagements, und möchte beispielsweise Null- wie auch Dangling-Pointer konzeptionell vermeiden. Der Sprachstil orientiert sich hieran und sorgt beim Entwickeln dafür, dass man sich öfter auf Low-Level-Ebene Gedanken um das Programmverhalten und die Auswirkungen auf der Maschine macht.

Es paar charakterisierende Beispiele Rusts: Variablen können nicht Null annehmen, dafür gibt es jedoch den Option-Typ. Es gibt keine Exceptions, wohl jedoch einen Result-Typ. Die (zwingende) Behandlung dieses Typs führt dazu, dass man sich am Entstehungsort mit den verschiedenen Szenarien einer Rückgabe beschäftigt und diese bereits verarbeitet. Alle Variablen sind per default immutable (unveränderbar) und private. Ein besonderes Konzept zur Lifetime und Ownership von Variablen macht einen Garbage Collector überflüssig. Klassen exisiteren nicht, wohl aber structs, impls und traits. Hier ist das Motto: Daten und ihre Verarbeitung voneinander entkoppeln sowie die Komposition der Vererbung vorziehen.

Darüberhinaus ist der Compiler rustc entsprechend streng. Der Code weist, wenn man idiomatisch (also vereinfacht gesagt: nah an den best-practises) entwickelt, eine hohe Qualität auf. Hier haben wir eines der Merkmale von Rust: ein Großteil von typischen Fehlern kann bereits zur Compile-Time erkannt werden. Entsprechend oft fällt Code auch durch den Compiler - der allerdings sinnvolle Hilfestellungen liefert: ein Compiler, der sagt "hey, das kann ich so nicht stehen lassen, aber wenn du rustc --explain ... eingibst, zeige ich dir Beispiele, wie das passiert und wie das vermieden werden kann" habe ich bisher noch nicht in der Form gesehen. Soetwas finde ich aber für Ein- und Umsteiger sehr sinnvoll.

Ebenso sinnvoll sind die drei Nachschlagewerke Rusts: das Rust Book, Rust by Example (besonders gut für Umsteiger, da hier gezeigt wird, wie bestehende Muster in Rust umgesetzt werden) sowie die API Referenz.

Ehrlich gesagt lässt sich viel über Rust schreiben. Ich werde euch an meinem Einstieg in die Sprache die nächsten Wochen auch ein wenig teilhaben lassen. Was denkt ihr über Rust? Wünscht ihr weitere Artikel zu der Programmiersprache?

3. Februar 2019

Quelloffener Code ist grundsätzlich ein gewichtiges Argument in jeder Sicherheitsdebatte. Jeder kann den Code ansehen und überprüfen und im Idealfall führt dieses Mehr-Augen-Prinzip zu einer größeren Sicherheit, als geschlossener Code je erreichen kann. Es gibt aber kaum Betriebssysteme, die ausschließlich auf quelloffenem Code basieren. Die Argumentation ist dadurch oft durch Vorentscheidungen beeinflusst.

Die Problematik der nicht gänzlich quelloffenen Betriebssysteme ist bei weitem kein Geheimnis. Im Linux-Umfeld sind vor allem unfreie so genannte "Firmware-Blobs" immer wieder ein Thema, weshalb die FSF auch eine Liste der wirklich freien Linux Distributionen pflegt. Das Ausmaß das Problems zeigt das Missverhältnis zwischen dieser Liste und der z. B. auf Distrowatch geführten Liste aller aktiv entwickelten Linux Distributionen.

Nun kann man sicherlich argumentieren, dass dies im Linux-Bereich lediglich ein Luxusproblem darstellt. Die Positionen der FSF sind innerhalb der Community auch alles andere als unumstritten und gemeinhin herrscht die vertretbare Auffassung vor, dass die meisten Linux Distributionen guten Gewissens als freie Software klassifiziert werden können. Immerhin ist der ganz überwiegende Bereich der Software Open Source und auch bei den Hardwaretreibern kann man Fortschritte verzeichnen. 

Wirklich interessant sind daher die Systeme, bei denen freie und unfreie Software gemischt werden. Besonders bekannt ist hier natürlich Android, aber auch macOS oder ein Nischensystem wie SailfishOS gehören dazu. Hier offenbart sich eine interessante Schlagseite in der Argumentation vieler Open Source Enthusiasten. Diese soll im folgenden am Beispiel Android und macOS / iOS verdeutlicht werden.

Android

Android ist eine Mischung aus quelloffener Software, die im so genannten AOSP (Android Open Source Project) von der Open Handset Alliance entwickelt wird. Hört sich schön kooperativ an, steht aber letztlich für eine direkte Entwicklung durch Google. Kein im Handel verfügbares Endgerät nutzt ein reines AOSP-System. Zum einen weil die Hersteller vertraglich durch Google verpflichtet werden die proprietären Google Apps zu installieren (dies ist Thema in den laufenden Auseinandersetzungen mit der EU, siehe auch: Kommentar: Strafe gegen Google - Chancen für freiere Systeme & Kommentar: Googles neue Lizenzpolitik - Eine letzte Chance für Android) und zum anderen weil viele Hersteller zusätzlich noch eigene Dienste und Modifikationen zur Abgrenzung von der Konkurrenz etablieren.

Der Kunde muss für ein vollständig freies System auf so genannte Custom ROMs ausweichen. Die AOSP-Entwickler legen hier der Community aber immerhin keine größeren Steine in den Weg. Die bekannteste Variante firmierte früher als CyanogenMOD und nun als LineageOS. Gegenwärtig hat man nach eigener Zählung bei LineageOS ca. 1,7 Mio. aktive Installation. Gemessen an der Gesamtzahl der aktiven Android-Smartphones von über 2,5 Milliarden ist das sehr wenig. Hinzu kommt, dass mutmaßlich viele dieser Installationen die proprietären GApps nachinstalliert haben und somit kein vollständig freies System sind.

Trotzdem wird für Android von vielen Experten Quelloffenheit als Argument für Android angeführt.

macOS / iOS

Die beiden Betriebssysteme von Apple teilen sich die gleiche Basis und können daher hier zusammen behandelt werden. Das System wird ausschließlich von Apple für die Apple-Hardware (iMac, Mac pro, MacBook, iPhone, Apple TV und iPad) entwickelt. MacOS und dessen Derivat iOS basieren dabei auf Darwin, einem freien Unix-Betriebssystem, das Apple als Basis beständig weiterentwickelt. Darwin spielt faktisch keine relevante Rolle, da alle im Handel verfügbaren Geräte direkt mit macOS oder iOS ausgeliefert werden und Versuche Darwin als eigenständiges Betriebssystem weiter zu entwickeln seit ca. 2012 als endgültig gescheitert angesehen werden müssen. Apple hatte entsprechende Community-Ambitionen auch nie wirklich unterstützt.

Trotz der freien Basis gilt macOS / iOS als proprietäres System und wird gerne als hochgradig geschlossen beschrieben.

Argumentationsmuster

Natürlich soll hier nicht argumentiert werden, dass macOS oder iOS freie Software wären. Allerdings unterscheiden sich Android und die beiden Apple-Systeme strukturell gar nicht so sehr von einander. Sowohl Android, als auch iOS basieren auf einem Kern freier Software (mehr oder minder selbstständig funktionstüchtig) und werden in der Realität durch proprietäre Bestandteile ergänzt an die Endkunden verteilt.

Wenn man trotzdem Android als freie Software hoch schreibt und iOS als proprietäre Software verdammt, dann nicht, weil die Argumente das hergeben, sondern weil man dies von vornherein als Argumentationsziel erreichen wollte. So etwas nennt man teleologische Argumentationsführung. Seriös und sachdienlich ist das nicht!

Fakt ist: Es gibt keine freien mobilen Betriebssysteme - ob man Android oder iOS nimmt ist einerlei. Selbst das in der OSS-Szene beliebte Sailfish OS ist nicht komplett quelloffen. Lediglich Ubuntu Phone und demnächst vielleicht die angepasste PureOS-Variante für das Librem 5 heben sich da positiv ab.


Bilder:
Einleitungs- und Beitragsbild von Siez18 via pixabay

"

2. Februar 2019

Mozilla hat Firefox 65 veröffentlicht. Auch Firefox 65 ist wieder randvoll gefüllt mit Neuerungen. Dieser Artikel fast die wichtigsten Neuerungen zusammen.

Download Mozilla Firefox für Microsoft Windows, Apple macOS und Linux

Mehr Sicherheit für Firefox-Nutzer

Geschlossene Sicherheitslücken

Auch in Firefox 65 hat Mozilla wieder zahlreiche Sicherheitslücken geschlossen, worunter auch einige sind, welche von Mozilla als besonders schwerwiegend eingestuft werden. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 65 daher für alle Nutzer dringend empfohlen.

Verbesserter Schutz vor Stack Smashing

Mozilla hat den Schutz vor Stack Smashing für Nutzer von Apple macOS und Linux verbessert. Dabei handelt es sich um eine häufige Angriffsart, über welche der Angreifer Zugriff auf nicht genehmigte Speicherbereiche erhalten möchte.

Mehr Privatsphäre für Firefox-Nutzer

Verbesserte Content Blocking-Einstellungen

Mozilla hat die Content Blocking-Einstellungen von Firefox überarbeitet. Der Nutzer hat nun eine einfache Möglichkeit, zwischen den zwei vordefinierten Sets „Standard“ und „Streng“ auszuwählen und kann über die dritte Option „Benutzerdefiniert“ die Einstellungen wie zuvor im Detail ändern. Die Content-Blocking-Einstellungen fassen derzeit die Einstellungen zum Tracking-Schutz („Schutz vor Aktivitätenverfolgung“) sowie zum Blockieren von Drittanbieter-Cookies zusammen. Im Firefox-Menü wird die entsprechende Auswahl jetzt außerdem ebenfalls angezeigt.

Firefox 65

Firefox 65

Verbesserte Content Blocking-Informationen für Webseiten

Per Klick auf das Info-Symbol in der Adressleiste erhält der Nutzer auf einen Blick Informationen über erkannte Tracking-Elemente sowie Cookies.

Firefox 65

Studie: Cookie-Restriktionen für neue Nutzer

Im Laufe der kommenden Wochen wird Mozilla mit einem Teil neuer (nicht bestehender) Nutzer mit geänderten Cookie-Einstellungen experimentieren, indem Tracking-Cookies standardmäßig blockiert werden, um die Privatsphäre der Nutzer zu verbessern.

Zusätzliche Sprachen direkt über Firefox installieren

Die Installation zusätzlicher Sprachen für Firefox war bislang etwas komplizierter, da dies die Installation eines Sprachpaketes über addons.mozilla.org plus das Setzen des korrekten Sprachcodes per about:config sowie einen manuellen Browser-Neustart erforderte. Mit Firefox 65 wird dies wesentlich einfacher. Nun können andere Sprachen über eine sichtbare Oberfläche direkt aus Firefox heraus heruntergeladen und ausgewählt werden. Um Neustart des Browsers bittet Firefox per entsprechender Schaltfläche. Außerdem lädt Firefox dabei auch automatisch auch die Rechtschreibkorrektur in der passenden Sprache herunter.

Firefox 65

Firefox 65

Firefox 65

Verbesserungen für Firefox-Erweiterungen (WebExtensions)

Natürlich gab es auch in Firefox 65 wieder diverse Verbesserungen für Firefox-Erweiterungen. Unter anderem kann mittels Tabs API nun auch kontrolliert werden, welcher Tab fokussiert wird, wenn der aktive Tab geschlossen wird.

Alle Neuerungen an der WebExtension-Front werden hier beschrieben.

Verbesserungen der Webplattform

Unterstützung für Bildformat WebP

WebP ist ein Bildformat, welches geringere Dateigrößen als PNG und JPG verspricht und sowohl Transparenz als auch Animationen unterstützt. Wurde das Bildformat bislang lediglich von Chrome und darauf basierenden Browsern unterstützt, folgte kürzlich die Unterstützung in Microsoft Edge 18 und jetzt in Firefox 65. Für Nutzer bedeutet dies in erster Linie schnellere Ladezeiten auf Webseiten, welche das WebP-Bildformat verwenden.

Unterstützung für Videoformat AV1

Einen vergleichbaren Vorteil für die Wiedergabe von Videos bringt die Unterstützung des neuen Videoformats AV1 der Alliance for Open Media (AOMedia), zu deren Gründungsmitgliedern auch Mozilla zählt. Dabei läuft das AV1-Decoding in einem eigenen Prozess. Zunächst gibt es die AV1-Unterstützung allerdings nur für Nutzer von Windows. Nutzer von Apple macOS und Linux müssen noch etwas warten.

Eine der wichtigsten Eigenschaften von AV1 ist sicher die Tatsache, dass es sich dabei um einen Open Source Codec handelt, der frei von jeglichen Lizenzgebühr-Ansprüchen ist. Nach Angaben von Mozilla kommt in 80 Prozent aller Videos, die wir uns im Web ansehen, patentierte Technologie zum Einsatz. Was vielen nicht klar ist: die Wiedergabe von Videos kostet Geld. Selbst wenn wir für die Wiedergabe von Videos nichts zahlen: sobald patentierte Technologie zum Einsatz kommt, muss jemand bezahlen. Jedes Jahr werden von vielen Firmen viele Millionen nur dafür bezahlt, dass wir kostenlos Videos in hoher Qualität konsumieren können. Ein patentfreier Codec, welcher qualitativ allen bisherigen Codecs auch noch überlegen ist, ist daher ein riesiger Schritt. Und genau das trifft auf AV1 zu.

Die technische Überlegenheit von AV1 gegenüber H.264 lässt sich ganz gut in Zahlen ausdrücken, indem man sagt, dass mit AV1 die gleiche Qualität bei etwa der halben Dateigröße wie bei H.264 erreicht werden kann. Das heißt also auch hier wieder: Schnellere Ladezeiten für Nutzer bei entsprechender Nutzung durch die Webseiten.

AV1 Kompression

Nicht mehr mehrere Pop-up-Fenster gleichzeitig

Webseiten ist es nicht länger möglich, Nutzer mit dem gleichzeitigen Öffnen mehrer Pop-ups zu nerven.

Sonstige Verbesserungen der Webplattform

Firefox 65 hat die Unterstützung für CSS Umgebungsvariablen erhalten und Firefox unterstützt für verbesserte Webkompatibilität mehr Werte für die -webkit-appearance-Eigenschaft. Eine neue JavaScript Storage Access API wurde hinzugefügt, Readable Streams werden unterstützt und über Intl.RelativeTimeFormat stehen an sofort relative Zeitangaben wie „in 2 Tagen“ zur Verfügung.

Weitere Informationen zu Verbesserungen der Webplattform in Firefox 64 finden sich in den MDN web docs.

Neuerungen für Webentwickler

Neuer Flexbox-Inspektor

Mozilla ist bekannt für innovative Entwickler-Werkzeuge, die es in anderen Browsern nicht gibt, wie den CSS Grid Inspektor, den Font Editor oder auch den Shape Path Editor. Mit dem Flex Inspektor kommt nun ein weiteres Werkzeug hinzu. Webentwicklern, welche mit dem Flexbox-Standard arbeiten, wird das Leben damit deutlich vereinfacht. Weitere Informationen zur Verwendung gibt es hier.

Firefox 65

Übersicht über lokale CSS-Änderungen

Die Entwickler-Werkzeuge von Firefox bieten die Möglichkeit, das CSS einer Webseite live zu bearbeiten, um Änderungen zu testen. Was bisher gefehlt hat, war eine Zusammenfassung aller Änderungen. Dafür hat Mozilla in Firefox 65 ein neues Panel zum Inspektor hinzugefügt.

Firefox 65

Suche nach vorherigen Konsolen-Eingaben

Mittels F9 (Windows und Linux) respektive Ctrl + R (macOS) kann ein Suchmodus in der Webkonsole aktiviert werden, bei welchem während der Eingabe in die Kommandozeile vorherige Eingaben angezeigt werden, welche die eingegebene Zeichenkette beinhalten

Weitere Informationen zu Änderungen für Webentwickler in Firefox 65 finden sich in den MDN web docs.

Enterprise Features

MSI-Installer

Um System-Administratoren im Unternehmen das Anpassen und Verteilen von Firefox einfacher zu machen, bietet Mozilla ab sofort anpassbare MSI-Installer für Firefox auf Windows 7 und höher an. Wie bei den konventionellen Installationspaketen gibt es auch hier unterschiedliche Installer pro Sprache, CPU-Architektur (32-Bit oder 64-Bit) und Release-Kanal.

MSI-Installer erlauben die Anpassung über eine MST-Datei und können über die auf Windows üblichen Deployment-Tools wie Active Directory oder Microsoft System Center Configuration Manager verteilt werden. Mozilla hat eine Dokumentation zu den MSI-Installern veröffentlicht.

Tipp: Mit dem Enterprise Policy Generator wird die Konfiguration von Firefox zum Kinderspiel. Die aktuelle Version 4.3 ist bereits für Firefox 65 sowie Firefox ESR 60.5 angepasst.

Optionale Features

Implizites rel=noopener bei target=_blank

Jeder Webentwickler kennt das target-Attribut mit seinem Wert _blank, um vom Benutzer geklickte Links auf Webseiten standardmäßig in einem neuen Tab statt im gleichen Tab aufrufen zu lassen. Was aber nur die Wenigsten wissen: es handelt sich dabei um eine Sicherheitslücke, welche Phishing ermöglicht. Die Lösung für Webseitenbetreiber ist einfach: Wird target=“_blank“ verwendet, ist gleichzeitig auch noch rel=“noopener“ zu verwenden. Bonuspunkt: Die Verwendung von rel=“noopener“ liefert gleichzeitig auch noch einen Performance-Vorteil gegenüber dem Weglassen.

Wird über about:config der Schalter dom.targetBlankNoOpener.enabled auf true gesetzt, dann nimmt Firefox automatisch ein rel=“noopener“ an, wenn das rel-Attribut fehlt.

Sonstige Neuerungen in Firefox 65

Entkoppelung von Sitzungswiederherstellung und Warnung beim Schließen

Beim Schließen von Firefox per Tastatur fragt Firefox vor dem Schließen bereits nach – sofern die automatische Sitzungswiederherstellung nicht aktiviert ist. Ab Firefox 65 kann Firefox auch bei aktivierter Sitzungswiederherstellung nachfragen. In den Einstellungen wurde eine sichtbare Option implementiert, welche das Verhalten konfigurierbar macht.

Firefox 65

Speicherverbrauch von Webseiten und Erweiterungen

Wer sich dafür interessiert, welche Webseiten und Erweiterungen den Browser besonders beanspruchen, findet seit Firefox 64 einen integrierten Task-Manager im Mozilla-Browser. Dieser kann über das Firefox-Menü (unter Sonstiges) oder per Eingabe von about:performance in die Adressleiste erreicht werden.

Der Task-Manager zeigt den Energieverbrauch von Webseiten und Erweiterungen an. Neben einem Zahlenwert vereinfacht eine Kategorisierung wie beispielsweise „Niedrig“, „Mittel“ oder „Hoch“ die Einordnung dieses Wertes in einer Weise, wie sie für jeden Nutzer verständlich ist. In Firefox 65 kommt eine weitere Spalte dazu, welche den Speicherverbrauch der jeweiligen Webseite respektive Erweiterung anzeigt.

Firefox 65

Apple macOS: Handoff-Unterstützung

Firefox für macOS unterstützt nun das Handoff-Feature von Apple, welches es erlaubt, angefangene Aufgaben von Firefox oder Safari für Apple iOS auf dem Mac-Computer fortzusetzen.

Sonstige Neuerungen

Unter Windows wurde das Update-Verzeichnis nach %ProgramData% verschoben. Darin befindet sich nun auch die Update-Einstellung, welche nicht länger im Profil gespeichert wird. Unter Windows 10 respektiert Firefox jetzt auch mit dunklem Theme die eingestellte Akzentfarbe des Betriebssystems.

Den Schalter browser.urlbar.autocomplete.enabled in about:config zum Deaktivieren des Adressleisten-Popups existiert nicht länger. Außerdem wurde das Button-Design in den Einstellungen überarbeitet. Ist die separate Suchleiste deaktiviert, fügt Firefox bei Druck von Strg + K (macOS: Cmd + K) nun ein „?“ an den Beginn der Adressleiste ein – mit diesem Steuerzeichen wird Firefox angewiesen, lediglich die Standard-Suchmaschine für die Sucheingabe zu verwenden und nicht Chronik oder Lesezeichen zu durchsuchen.

Der Beitrag Mozilla veröffentlicht Firefox 65 – die Neuerungen erschien zuerst auf soeren-hentzschel.at.

Nextcloud ist eine umfangreiche Lösung, die sich mit Addons vielfältig einsetzen lässt. Bereits die Grundeinstellungen sind allerdings umfangreich und einige Sicherheitsmaßnahmen sollte man vornehmen. Die Möglichkeiten hängen von der Art der Installation ab.

Linux bietet in einer vernetzten Welt keinen Komfort - wohl aber verschiedene Werkzeuge um einen hohen Grad an Vernetzung zu erreichen. In der Serie "Cloud unter Kontrolle" wird genau diese Vernetzung Thema sein. Das Ziel ist eine Lösung, die in etwa dem umfassenden Angebot entspricht, wie es Apple mit den iCloud-Diensten oder Google mit seinen Lösungen bietet. Allerdings unter Kontrolle des Nutzers.


Serie:

  1. Cloud in Eigenregie I: Vorbemerkungen
  2. Cloud in Eigenregie II: Basis für Nextcloud wählen
  3. Cloud in Eigenregie III: Nextcloud einrichten
  4. Cloud in Eigenregie IV: Dateien über die Cloud verwalten
  5. Cloud in Eigenregie V: Integration in GNOME
  6. Cloud in Eigenregie VI: Kontakte synchronisieren
  7. Cloud in Eigenregie VII: Kalender und Aufgaben verwalten
  8. Cloud in Eigenregie VIII: RSS Feeds lesen und synchronisieren
  9. Cloud in Eigenregie IX: Baustelle Podcasts
  10. Cloud in Eigenregie X: Notizen

Die Einrichtung geschieht unabhängig davon, ob die Installation auf einem Home-Server, NAS oder Webspace erfolgt. Lediglich die Möglichkeiten einen PHP Cache einzurichten oder andere administrative Maßnahmen sind auf einem Webspace ein wenig eingeschränkt.

Addons

Nextcloud richtet standardmäßig eine Vielzahl an Addons ein. Jedes Addon ist ein potenzielles Sicherheitsrisiko weshalb ein Einsatz ohne überflüssige Addins ratsam ist. In einem ersten Schritt sollte man daher alles was man nicht braucht deaktivieren oder gleich deinstallieren.

Übrig bleiben dann einige wichtige Erweiterungen.

Hier sei aber der Hinweis erlaubt, dass einige dieser Addons durch die Protokolle einen Eingriff in die Privatsphäre der Anwender ermöglicht. Im vorliegenden Beispiel gehe ich aber davon aus, dass die Nextcloud-Instanz nur ein Anwender nutzt und dies daher kein Problem darstellt.

Nextcloud unterscheidet zwischen offiziellen Apps und solchen von Drittanbietern. Die Standardinstallation enthält im Idealfall nur offizielle Apps, da die Sicherheit und Qualität hier gewährleistet sind.

Zwei-Faktor-Authentizifierung

Wenn die Nextcloud-Instanz öffentlich erreichbar ist - sei es durch eine Installation auf einem Webspace oder Portweiterleitung des Routers (siehe: Externer Zugriff auf den Server) - sollte der Account mittels einer Zwei Faktor Authentifizierung abgesichert werden. Dazu installiert man ein passendes offizielles Addon. Sofern man keinen YubiKey nutzt ist dies meist "Two Factor TOTP Provider"

Die anschließende Einrichtung geschieht in den Einstellungen im Persönlichen Bereich unter Sicherheit. In einem ersten Schritt generiert man Backup-Codes, die an einem sicheren Ort zu speichern sind. Anschließend aktiviert man das Addon, was mittels Kennwort legitimiert werden muss. Grundsätzlich kann jede 2FA-Apps verwendet werden, entweder per QR-Code oder per TOTP-Token. Die erfolgreiche Einrichtung bestätigt man anschließend die die Eingabe des generierten sechsstelligen TOTP-Schlüssels.

Bei einer Anmeldung fragt die Nextcloud-Instanz nach Benutzername und Kennwort in einem zweiten Schritt den TOTP-Schlüssel ab.

Ist das Endgerät gerade nicht zur Hand kann man wahlweise auch einen der generieren Backup-Code nutzen.

Sonstiges

In den Einstellungen lässt sich optional natürlich noch das Profil vervollständigen. Zudem kann man Die Cron-Art bestimmen und Uploadgrößen festlegen. Was und ob man hier Änderungen vornehmen möchte und kann liegt ganz erheblich an der Installationsart. Grundsätzlich ist insbesondere bei größeren Installationen natürlich ein richtiger Cronjob zu befürworten.


Bilder:
Einleitungs- und Beitragsbild von IO-Images via pixabay

"