staging.inyokaproject.org

28. Januar 2018

In diesem Beitrag möchte ich festhalten, wie ich mit dem ExifTool von Phil Harvey [1] ein wenig Ordnung in meine Fotosammlung brachte.

Meine Frau und ich verwenden verschiedene Geräte wie z.B. Smartphones, Tablets und Digitalkameras, um Fotos aufzunehmen. Dabei speichern diese Geräte die aufgenommenen Bilder nach folgenden Namensmustern:

  • IMG_1234.JPG
  • IMG_&ltYYYYMMDD>_&lthhmmss&gt.jpg

Die so benannten Bilder landen nach Themen sortiert in Verzeichnissen auf einem NAS. Um sie in eine chronologische Reihenfolge zu bringen, möchte ich sie einheitlich nach folgendem Muster benennen:

  • &ltYYYY-MM-DD&gtT&lthhmmss>_img.jpg

Dazu lese ich das Aufnahmedatum mit dem ExifTool aus den EXIF-Daten [2] der Fotos aus und verwende dies, um die Dateien nach dem gewünschten Muster umzubenennen. Der dazu genutzt Befehl sieht wie folgt aus:

exiftool '-filename&ltDateTimeOriginal' -d "/Pfad/zum/Zielverzeichnis/%Y-%m-%dT%H%M%S_img%%-c.jpg" Quellverzeichnis/

Mit dem obigen Kommando werden die Dateien aus dem Quellverzeichnis wie gewünscht umbenannt und in das Zielverzeichnis verschoben. Sollte dort bereits eine Datei mit gleichem Namen existieren, wird durch die Option „%%-c“ ein Index angehängt und hochgezählt.

[1] ExifTool by Phil Harvey {en}
[2] Exchangeable Image File Format {de}

27. Januar 2018

Mein altes Smartphone erfreut sich eines zweiten Lebens als Touchscreen für die Stereo-Anlage. Doppelseitiges Klebeband und zwei Apps machen es möglich.

Ich hätte mein Nexus 4 noch länger benutzt. Nach der Kopfhörer-Buchse hat aber irgendwann auch noch das Mikrofon aufgegeben. Als Telefon war es damit nicht mehr zu gebrauchen. Weil es aber ansonsten noch vollkommen intakt war, konnte ich es nicht einfach so entsorgen. Eine Anschlussverwendung musste her.

Nun habe ich auf einem meiner Raspberry Pis Volumio als Musik-Player laufen. Das kann man mit einer Web-Oberfläche von jedem Gerät mit einem Browser steuern. Aber so eine Steuerung direkt an dem Gerät, ist schon praktisch. Also hab ich das Telefon mit doppelseitigem Klebeband an die Klappe des Tape-Decks gepappt. Das hält jetzt seit einen viertel Jahr.

Als Stromversorgung habe ich das ehemalige Telefon per USB an den Raspberry Pi angeschlossen. Die Stromversorgung über den USB-Port reicht allemal für ein Telefon, das so gut wie nichts macht.

Ich hab mir dann die Volumio-App installiert. Die sucht sich eigenständig die IP des Rapsberry Pis und verbindet sich mit der Web-Oberfläche, die dann im Vollbildmodus angezeigt mir. Das ist nur wenig besser als die Web-Oberfläche per Lesezeichen im Browser aufzurufen – aber für meinen Geschmack eleganter.

Mein OnePlus 2 wacht auf, wenn ich zweimal auf das Display tipp. Solche Gesten scheint die Android-Version des Nexus noch nicht zu können. Soweit ich das herausfinden konnte, schaltet es das Display nur dann an, wenn man den Einschalter drückt. Das ist allerdings ziemlich friemelig mit dem festgeklebten Telefon.

Deswegen habe ich mir die App WaveUp installiert. Mit der reicht es, einmal direkt vor dem Telefon zu winken und das Display schaltet sich ein. Wenn man dann PIN, Muster usw. ausgeschaltet hat, kommt man nach dem Winken direkt auf die Oberfläche um Volumio zu steuern. Ich hab mein Display so eingestellt, dass es sich nach einer Minute wieder ausschaltet. Man kann sich aber natürlich auch die ganze Zeit anzeigen lassen, was der Player gerade abspielt.

Für mich funktioniert diese Lösung ziemlich gut und ich freu mich, dass ich das alte Telefon noch sinnvoll einsetzen kann. Was machst Du mit deinen alten Smartphones?

Zweites Leben für mein altes Smartphone

Und schon wieder ist eine Woche um. In dieser Woche war es aus meiner Sicht leider nicht leicht, ein Top-Thema zu finden. Deswegen diesmal eine Zusammenstellung von vielen Dingen, die in der OSS-Welt diese Woche passiert sind.

Wochengeschehen

Schon seit Anfang des Monats schlagen wir uns mit den CPU-Bugs Meltdown und Spectre herum. Nachdem Intel nun auch mehrere Microcode-Updates für Prozessoren zurückzieht und es weiterhin keine finalen Patches gibt, drückt Linus Torvalds in gewohnter Weise seinen Unmut in der LKML aus. Mal schauen, wie lange uns das Thema weiterhin begleiten wird. Den frisch veröffentlichten Quartalszahlen scheint das Debakel scheinbar übrigens nicht zu schaden, diese konnte Intel sogar die Schätzungen nach oben revidieren.

Das Internet wird bisher immer zentralisierter. Um dem entgegenzuwirken, gibt es einige Projekte wie z.B. Diaspora*, StatusNet, MediaGoblin oder GNU Social, deren Ziel es ist, ihr gesamtes soziales Netzwerk auf mehrere Anbieter/Pods/Nodes/… zu verteilen, die dann untereinander kommunizieren (M2M) und dem Nutzer, der sich auf einer der verschiedenen Nodes anmeldet, das ganze Netzwerk präsentieren. NextCloud hat auch ein solches Federation-System, durch das der Endanwender Dateien mit anderen NextCloud-Instanzen teilen kann. Um dieses Verfahren u.a. zu vereinheitlichen und so größtmögliche Kompatibilität zu schaffen, wurde vom W3C das Protokoll ActivityPub als offizieller Standard verabschiedet. Es regelt die Kommunikation mehrerer Server untereinander und zum Client. Christopher Lemmer Webber, einer der Entwickler des Standards, beschreibt im FSF-Blog die Hintergründe.

Firefox 58 wurde veröffentlicht. Version 58 baut den bekannten freien Internetbrowser aus, der mit Quantum im November 2017 sein bisher größtes Update erhielt. Es wurde weiter an der Performance verbessert und Sicherheitslücken geschlossen. Neu ist ein Schutz gegen Canvas-Fingerprinting. Zertifikaten von StartCom und WoSign wird nicht mehr vertraut, von Symantec-Zertifikaten wird sich aufgrund des Vertrauensverlustes ebenfalls weiter schrittweise distanziert.

Im Schnelldurchlauf

Artikeltipps

Bild von TeroVesalainen via pixabay / Lizenz: CC0 Creative Commons

Im Ausblick auf die aktuelle Entwicklung von Kubuntu (siehe: Kubuntu 18.04 LTS - Ein Ausblick) wurde die Frage gestellt, ob KDE neon nicht eigentlich die bessere Alternative zu Kubuntu wäre. Die Antwort sprengt den Sinn einer Kommentarspalte und bildet die Grundlage dieses Artikels.

KDE neon ist Kind der Krise von Kubuntu, man könnte auch sagen, es ist die Grundlage der Krise von Kubuntu. Rund um den Jahreswechsel 2015/2016 beendeten die bisherigen Hauptentwickler von Kubuntu ihre Tätigkeit für das Ubuntu-Derivat und zogen unter dem Dach von KDE eine eigene Distribution auf (siehe: Kubuntu ist tot, lange lebe KDE Neon). Das Projekt ist inzwischen fast zwei Jahre alt und man kann daher ein wenig bilanzieren.

Die technische Dimension

KDE neon ist eine Kombination aus den Entwicklungsmodellen Rolling Release und stabiler LTS-Versionen. Die Basis bildete eine Ubuntu-LTS Version - zur Zeit 16.04 - auf die eine jeweils aktuelle Version von KDE Plasma und Software aufgesetzt wird.

Weil das insbesondere bei fortgeschrittenem Alter der Basis nicht mehr hinreichend funktioniert, aktualisieren die Entwickler von KDE neon auch Bibliotheken wie Qt.

Insgesamt bringt das keine vertrauenswürdige Basis hervor. Ubuntu ist bereits intern gespalten in einen unterstützten main-Bereich und eine Müllkippe mit dem Namen universe, in dem der volle Umfang der Paketquellen von Debian vor sich hin gammelt. KDE neon aktualisiert hier nun einige Bibliotheken und die KDE Software, legt aber nicht exakt fest um welche Bereiche genau es sich kümmert.

Das hat in den letzten zwei Jahren - gemessen an der kruden Idee dieses Entwicklungsmodells - zwar erstaunlich gut funktioniert, ist aber etwas grundlegend anderes als das stabile LTS-Modell von Kubuntu.

Hinsichtlich der technischen Dimension ist KDE neon daher eher eine Ergänzung, denn ein Ersatz zu Kubuntu.

Die ideelle Dimension

KDE neon steht für vieles was gerade schief läuft in der Linux Community. Einige wenige Entwickler (wir reden hier von ca. 5 Leuten) sind unzufrieden mit der Entwicklung ihres Projekts und spalten sich kurzerhand ab. Man kann ihnen lediglich zu Gute halten, dass sie vorher wirklich versucht haben die Entwicklungsrichtung des Hauptprojekts zu ändern. Parasitär bedienen sie sich dennoch an der Basis, ohne dies prominent kenntlich zu machen. KDE neon könnte ohne Ubuntu so wenig funktionieren, wie Mint oder elementaryOS. Zwar ist richtig, dass Ubuntu auch Debian braucht, aber in main liegt eine vollständige Distribution, die auch ohne Debian beschränkt lebensfähig wäre.

Gleichzeitig steht KDE neon für eine ungesunde Vermischung der Rolle von Upstream-Projekt und Downstream-Distribution. Indem KDE selbst eine Distribution herausgibt werden alle anderen Distributionen vor den Kopf gestoßen und in die zweite Reihe zurück gesetzt. Das KDE-Projekt weicht damit dem Dauerproblem aus, dass es Rücksicht auf den Distributor und seine Releasezyklen nehmen muss und kann daher noch ungehinderter undurchdachte und realitätsferne Entwicklungsschritte durchziehen.

Zusammengefasst

KDE neon bietet ein Schlaglicht auf die aktuelle KDE-Entwicklung. Es ermöglicht einen unverstellten Blick auf das aktuelle Portfolio des KDE Projekts und genau hier liegt seine Stärke.

Technisch ist es aber bestenfalls ein funktionales Stückwerk und keinesfalls geeignet in Produktivumgebungen eingesetzt zu werden, was bisher durchaus der Anspruch von Kubuntu war - trotz der Schwierigkeiten mit Version 16.04.

Ideell ist KDE neon ein Paradebeispiel für egogetriebene Zersplitterung und rücksichtslose Projektinteressen. Solche Projekte halten Linux in der Nische, in der es sich befindet. Eine Marke wie Kubuntu wird geschwächt zu Gunsten einer Neuentwicklung, die niemand kennt.

Letzteres wird zum Glück so bleiben. Die öffentliche Resonanz von KDE neon ist gering. Bestenfalls KDE-Enthusiasten und Kubuntu-Nutzer kennen das Projekt.

26. Januar 2018

25. Januar 2018

Hallo,
heute möchte ich mal ein sehr spannendes Thema angehen was zur Zeit durch die
Computerwelt geistert…
Nun könnte ich dazu schreiben was ich weiß und denke, aber genau genommen ist es
überflüssig. Es gibt zwei sehr gute Artikel, die alles genau Erklären:

https://insights.ubuntu.com/2018/01/24/meltdown-spectre-and-ubuntu-what-you-need-to-know/

https://ikhaya.ubuntuusers.de/2018/01/08/meltdown-und-spectre/

In diesen sehr gut geschriebenen Artikel sind die Details für Ubuntu Nutzer
hervorragend erklärt.

Die Sicherheit einer Webseite ist ein sehr wichtiges Thema. Man muss sich stets darum kümmern, auch wenn es lästig sein kann. Wer seine Webseite mit WordPress betriebt hat es auf der einen Seite sehr einfach, auf der anderen Seite aber auch wieder schwierig.

Die Sicherheitsvorteile, die WordPress mit sich bringt

WordPress ist sehr weit verbreitet. Millionen von Webseite laufen über diese Software. Die Entwicklung findet in einer sehr aktiven Community statt. Darin sind viele Sicherheitsexperten, die sich um das Beheben von Sicherheitslücken kümmern. Da diese Software so stark entwickelt wird, bleiben Sicherheitslücken nicht lange offen sondern werden zeitnah geschlossen.

Durch die Popularität von WordPress wird es für Angreifer aber auch wieder attraktiv, die Software zu knacken. Denn hat man einmal eine Lücke gefunden, kann man sie bei vielen Webseiten verwenden. Und schon sind wir beim typischen Katz-und-Maus-Spiel zwischen Hackern und Sicherheitsexperten.

Die Sicherheit von WordPress erhöhen

Mit den folgenden Artikeln habe ich Möglichkeiten gezeigt, wie man typische Eintrittstore von WordPress ausfindig macht und wie man wieder schließen kann. Die Goldene Regel der Sicherheit für jegliche Software lautet: Updates installieren, Updates installieren und Updates installieren. Alles weitere habe ich in einzelnen Artikeln zusammengefasst.

WordPress sichern mit .htaccess

htaccess mit FTP hochladen Mit der Datei .htaccess auf dem Webserver kann man WordPress serverseitig absichern. Die Angreifer möchten mit ihren Botnetzen das Passwort der Benutzer erraten. Wenn wir unsere Anmeldeseite von WordPress einfach hinter die abschließbare Tür unseres Servers packen, erhöhen wir die Eintrittshürde für Angreifer erheblich. Wie das geht und wie man das ganz genau Installiert, habe ich in einer Schritt-für-Schritt-Anleitung zusammengefasst.

WordPress: xmlrpc.php deaktivieren

xmlrpc in WordPress deaktivierenBei Softwareentwicklern und auch bei Angreifern ist die xmlrpc.php von WordPress sehr beliebt. Sie ist eine Schnittstelle für die Entwickler, worüber sie auf viele Funktionen von WordPress zurückgreifen können. Für Hacker ist das ein gefundenes fressen, denn sie können die Datei verwenden, um massenhaft Passwortanfragen zu stellen. In dieser Anleitung erkläre ich, warum die xmlrpc.php so gefährlich ist und wie man sie deaktivieren kann.

WordPress Sicherheitslücken finden mit wpscan

Die Goldene Regel der Sicherheit lautet Updates, Updates, Updates. Doch manchmal verliert man den Überblick über die Software, die in WordPress so eingebunden wird. Dazu zählen natürlich die Plugins, aber auch die Themes von WordPress. Man kann nicht nur im Backend von WordPress erkennen, welche Softwareversion die Plugins haben. Auch über das Frontend bzw. Schnittstellen vom Server kann man die Softwareversionen, und damit den Sicherheitsstatus, erkennen. Was man mit dem Programm wpscan so alles sieht und wie man es verwendet, wird in dieser Anleitung erklärt.

The post WordPress Sicherheit erhöhen: Schritt für Schritt first appeared on bejonet.

24. Januar 2018

Wir verwenden Koha für unsere Bibliothek, eine sehr mächtige und tolle Open Source Software. Auf Mailingliste des Projekts hatte ich bereits vom „Koha auto increment“ – Problem gelesen und hoffte, dass es uns nicht betraf. Doch vor einigen Wochen kam einer unserer Mitarbeiter der Schulbibliothek zu mir und gab mir ein Buch, dass sich nicht zurückgeben ließ. Jedes mal, wenn man versuchte, das besagte Buch zurückzugeben, bekam man folgende Fehlermeldung:

Koha auto increment error

Unter Mehr → Über Koha im Reiter „Systeminformationen“ konnte ich dann sehen, dass einige Bücher von diesem Problem betroffen waren.

Koha Systeminformationen

Doch worin liegt eigentlich das Problem? Wie konnte es dazu kommen?

Das Problem

Im Koha Wiki gibt es zu diesem Datenbankproblem eine eigene Wiki-Seite. Koha verschiebt Einträge zwischen Datenbanktabellen, wenn man z.B. einen Benutzer oder ein Buch löscht. Das gleiche passiert mit Ausleihen. Die Einträge in diesen Tabellen haben eine eindeutige ID, welche normalerweise automatisch hochgezählt wird (auto increment). Das Problem ist allerdings, dass MySQL diese Zähler nur im Arbeitsspeicher speichert und nicht auf der Festplatte. Dies tritt nur auf, wenn Einträge gelöscht werden. Ein Beispiel:

  • Ich erstelle einen neuen bibliographischen Eintrag (z.B. ein Buch). Es wird u.a. in der Tabelle biblio gespeichert. Der Eintrag bekommt die ID 1. Der nächste Wert für die ID müsste also 2 sein.
  • Jetzt lösche ich dieses Buch wieder. Der Eintrag wird in die Tabelle deletedbiblio verschoben. In der Tabelle biblio gibt es jetzt keinen Eintrag mehr.
  • Ich starte den MySQL-Server neu. Dadurch wird der interne Zähler für die IDs zurückgesetzt.
  • Nun lege ich ein neues Buch an. Es bekommt nicht die ID 2, sondern 1, weil es ja keinen Eintrag mehr in der Tabelle biblio gibt.
  • Wenn ich jetzt dieses Buch lösche, wird es zwar aus der Tabelle gelöscht, aber nicht in die Tabelle deletedbiblio verschoben, da es dort schon einen Eintrag mit dieser ID gibt. Die Folge ist, dass in diesem Fall mein Eintrag für immer verloren ist.

Das passiert wie gesagt nicht nur mit bibliographischen Einträgen, sondern auch mit Ausleihen, Benutzern etc. Aus diesem Grund warnt Koha in den aktuellen Versionen vor dem Problem. Damit ist es aber noch nicht behoben.

Das Koha „auto increment“ Problem reparieren

Um zukünftig einen Datenverlust zu vermeiden, bringen wir MySQL bei, die IDs nicht zurückzusetzen, v.a. nicht auf einen Wert, den wir schon einmal verwendet haben. Dazu öffnen wir die Datei /etc/mysql/my.cnf oder /etc/mysql/mariadb.conf.d/50-server.cnf (wir verwenden einen Ubuntu 16.04 LXD Container mit MariaDB) und ergänzen im Abschnitt [mysqld] folgende Zeile:

init-file=/var/lib/mysql/init-file_koha.sql

Dann erstellen wir eben diese Datei mit

$ sudo nano /var/lib/mysql/init-file_koha.sql

und kopieren den folgenden Inhalt in die Datei:

USE koha_DB_Name;
 
SET @new_AI_borrowers = ( SELECT GREATEST( IFNULL( ( SELECT MAX(borrowernumber) FROM borrowers ), 0 ), IFNULL( ( SELECT MAX(borrowernumber) FROM deletedborrowers ), 0 ) ) + 1 );
SET @sql = CONCAT( 'ALTER TABLE borrowers AUTO_INCREMENT = ', @new_AI_borrowers );
PREPARE st FROM @sql;
EXECUTE st;
 
SET @new_AI_biblio = ( SELECT GREATEST( IFNULL( ( SELECT MAX(biblionumber) FROM biblio ), 0 ), IFNULL( ( SELECT MAX(biblionumber) FROM deletedbiblio ), 0 ) ) + 1 );
SET @sql = CONCAT( 'ALTER TABLE biblio AUTO_INCREMENT = ', @new_AI_biblio );
PREPARE st FROM @sql;
EXECUTE st;
 
SET @new_AI_biblioitems = ( SELECT GREATEST( IFNULL( ( SELECT MAX(biblioitemnumber) FROM biblioitems ), 0 ), IFNULL( ( SELECT MAX(biblioitemnumber) FROM deletedbiblioitems ), 0 ) ) + 1 );
SET @sql = CONCAT( 'ALTER TABLE biblioitems AUTO_INCREMENT = ', @new_AI_biblioitems );
PREPARE st FROM @sql;
EXECUTE st;
 
SET @new_AI_items = ( SELECT GREATEST( IFNULL( ( SELECT MAX(itemnumber) FROM items ), 0 ), IFNULL( ( SELECT MAX(itemnumber) FROM deleteditems ), 0 ) ) + 1 );
SET @sql = CONCAT( 'ALTER TABLE items AUTO_INCREMENT = ', @new_AI_items );
PREPARE st FROM @sql;
EXECUTE st;
 
SET @new_AI_issues = ( SELECT GREATEST( IFNULL( ( SELECT MAX(issue_id) FROM issues ), 0 ), IFNULL( ( SELECT MAX(issue_id) FROM old_issues ), 0 ) ) + 1 );
SET @sql = CONCAT( 'ALTER TABLE issues AUTO_INCREMENT = ', @new_AI_issues );
PREPARE st FROM @sql;
EXECUTE st;
 
SET @new_AI_reserves = ( SELECT GREATEST( IFNULL( ( SELECT MAX(reserve_id) FROM reserves ), 0 ), IFNULL( ( SELECT MAX(reserve_id) FROM old_reserves ), 0 ) ) + 1 );
SET @sql = CONCAT( 'ALTER TABLE reserves AUTO_INCREMENT = ', @new_AI_reserves );
PREPARE st FROM @sql;
EXECUTE st;

Wichtig: In der ersten Zeile müssen wir unbedingt koha_DB_Name mit dem Datenbanknamen unserer Koha-Installation ersetzen. In der Regel ist das koha_name_der_koha_instanz, also z.B. koha_library.

Zum Schluss starten wir noch MySQL bzw. MariaDB neu:

$ sudo service mysql restart

Fehlerhafte Datensätze aufräumen

Nun haben wir zwar verhindert, dass das Problem wieder auftritt, aber es sind immer noch unserer alten Datensätze vorhanden. Ein Weg ist, die entsprechenden Einträge aus den deleted* Tabellen zu löschen. Damit verliert man vielleicht ein paar statistische Informationen, aber auf die können wir in unserer kleinen Schulbibliothek verzichten. Sonst haben wir bisher keine negativen Auswirkungen feststellen können.

Um die „fehlerhaften“ Datensätze zu löschen, müssen wir uns zuerst an unserem Koha-Server anmelden. Dann loggen wir uns in die MySQL-Konsole ein mit

$ sudo mysql -p koha_datenbankname
Enter password: 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 115
Server version: MariaDB Ubuntu 16.04

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [koha_datenbankname]>

Oben im Screenshot sieht man, dass unsere fehlerhaften Datensätzen in den Tabellen biblio und deletedbiblio sind. Die IDs sind doppelt und wir löschen die IDs aus einer der beiden Tabellen, konkret aus deletedbiblio. Wir überprüfen zuerst, welche Datensätze betroffen sind:

MariaDB [koha_datenbankname]> SELECT * FROM deletedbiblio WHERE biblionumber IN (*hier die IDs aus dem Webinterface kopieren*);

Wenn wir die Datensätze wirklich löschen wollen ändern wir den Befehl leicht ab:

MariaDB [koha_datenbankname]> DELETE FROM deletedbiblio WHERE biblionumber IN (*hier die IDs aus dem Webinterface kopieren*);

Falls es z.B. auch problematische Datensätze mit den Ausleihen gibt, würde der Befehl so lauten:

MariaDB [koha_datenbankname]> DELETE FROM old_issues WHERE issue_id IN (*hier die IDs aus dem Webinterface kopieren);

Nun zeigt Koha keine fehlerhaften Datensätze mehr an:

Koha Info

Fazit

Wenn man dieses Problem in seiner Koha-Installation hat, ist es sehr ratsam dieses Problem zu lösen. Allerdings gibt es verschiedene Ansätze. Der oben beschriebene Weg ist ein schneller Fix, der aber unter Umständen nicht für jede Installation in Frage kommt. Seitens Koha wird noch an einem Skript gearbeitet, dass das Problem später automatisch beheben soll. Trotz diesem Datenbankproblem haben wir den Umstieg auf Koha bisher nicht bereut. Es ist und bleibt eine tolle Software, die sicher ihre Einarbeitungszeit braucht, aber der Gewinn, die Flexibilität und die damit gewonnen Freiheiten sind scheinbar grenzenlos.

Setzt du Koha ein? Welche Erfahrungen hast du bisher gemacht?

3 Kommentare

Der Beitrag Wie man das Koha „auto increment“ Problem lösen kann erschien zuerst auf .:zefanjas:..

Mozilla hat Firefox 58 und damit den ersten Feature-Release nach Firefox Quantum, dem größten Firefox-Release aller Zeiten, veröffentlicht. Auch Firefox 58 bringt wieder wichtige Performance-Verbesserungen sowie weitere Neuerungen.

Am 14. November 2017 hatte Mozilla Firefox Quantum veröffentlicht, den wohl größten und wichtigsten Firefox-Release der vergangenen Jahre. Firefox wurde mit dieser Version auf praktisch allen Ebenen modernisiert. Sämtliche Neuerungen, die Firefox Quantum brachte, lassen sich hier nachlesen. Auf dieser Grundlage aufbauend hat Mozilla nun Firefox 58 veröffentlicht.

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

Mehr Sicherheit für Firefox-Nutzer

Geschlossene Sicherheitslücken

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

Top-Level Navigationen zu data:-URIs werden blockiert

Firefox erlaubt nicht länger das Öffnen von data:-URIs via window.open(), window.location oder via HTML-Link, ebenfalls werden entsprechende Weiterleitungen sowie der Versuch externer Anwendungen (z.B. Thunderbird), data:-URIs im Browser zu öffnen, blockiert. Damit wird ein Angriffs-Vektor für Phishing verhindert.

Warnung bei Symantec-Zertifikaten

Auf Webseiten, welche ein Sicherheits-Zertifikat von Symantec verwenden, loggt die Webkonsole nun eine Warnung. Ab Firefox 60 wird Firefox keine Symantec-Zertifikate mehr akzeptieren, welche vor dem 01.06.2016 ausgestellt worden sind. Ab Firefox 63 wird Firefox überhaupt keine Symantec-Zertifikate mehr akzeptieren. Dies betrifft ebenfalls die zu Symantec gehörenden CAs Thawte, VeriSign, Equifax, GeoTrust sowie RapidSSL. Symantec hatte aufgrund verschiedener Vorfälle das Vertrauen der Browserhersteller verloren.

Root-Zertifikate von StartCom und WoSign entfernt

Vorfälle gab es ebenfalls bei WoSign und StartCom (Betreiber von StartSSL), weswegen Firefox deren Zertifkate, sofern diese nach dem 21. Oktober 2016 ausgestellt worden sind, bereits seit einem Jahr und dem Erscheinen von Firefox 51 misstraut. Mit Firefox 58 vertraut Firefox keinem Zertifikat von StartCom und WoSign mehr.

Verhindern des Tab-Schließens erschwert

Es gibt unseriöse Webseiten, die verursachen in einer Weise immer wieder Dialoge, so dass Firefox nicht dazu in der Lage ist, den Tab mit der entsprechenden Webseite zu schließen. Eine Art dieses Stör-Verhaltens konnte Mozilla in Firefox 58 beheben, so dass ein Schließen des Tabs wieder möglich ist.

Versteckte Einstellung für mehr Cookie-Sicherheit

Mit network.cookie.thirdparty.nonsecureSessionOnly hat Firefox eine neue versteckte Einstellung erhalten, welche über about:config aktiviert werden kann. Wird dieser Schalter auf true gesetzt, werden Drittanbieter-Cookies, welche nicht über HTTPS übertragen werden, als Session-Cookies behandelt, womit Firefox diese vergisst, sobald Firefox beendet wird, auch wenn diese eigentlich eine längere Lebensdauer besitzen.

Versteckte Einstellung für Schutz gegen Canvas-Fingerprinting

Firefox 58 ist der  erste große Browser, welcher eine Schutz-Maßnahme gegen sogenanntes Canvas-Fingerprinting implementiert hat. Diese Funktion sollte noch mit Bedacht aktiviert werden. Weitere Informationen dazu gibt es in einem gesonderten Artikel.

Noch mehr Performance

Firefox Quantum wurde vollkommen zurecht mit signifikanten Performance-Verbesserungen beworben. Doch wer glaubt, dass Mozilla damit bereits sein Pulver verschossen hätte, wird eines Besseren belehrt. Auf der Grundlage von Firefox 57 aufbauend wird Mozilla die Performance im Laufe des Jahres weiter steigern. Bereits in Firefox 58 folgen weitere nennenswerte Geschwindigkeits-Vorteile.

Deutlich beschleunigter neuer Tab

Die Seite, die beim Öffnen eines neuen Tabs erscheint, wurde in Firefox 57 durch eine komplett neue Seite mit mehr Funktionen und mehr Anpassbarkeit ersetzt. Dessen Performance konnte in Firefox 58 deutlich gesteigert werden, wie das folgende Video zeigt, welches zur Veranschaulichung um den Faktor 5 verlangsamt worden ist.

Original-Video aufrufen

Performanteres Maus-Scrolling durch Tabs

Beschleunigt wurde auch das Scrollen durch die Tabs mit dem Mausrad. Dies sollte nun flüssiger als bisher funktionieren.

JavaScript Startup Byte Cache beschleunigt Ladezeit von Webseiten

Der JavaScript Startup Bytecode Cache (JSBC) ist eine Optimierung der JavaScript-Engine. Technisch Interessierte finden hier ausführliche Erläuterungen in englischer Sprache. Für den Endanwender relevant ist in erster Linie das Ergebnis: in Tests konnte die Ladegeschwindigkeit von Webseiten im Durchschnitt dadurch um 43ms gesteigert werden.

JavaScript Startup Bytecode Cache (JSBC)

Mehr Bilder pro Sekunde dank Off-Main-Thread Painting (nur Windows)

Off-Main-Thread Painting (OMTP) ist eine Verbesserung, welche das Grafik-Rendering betrifft. Technische Details dazu lassen sich hier nachlesen. OMTP wurde in Firefox 58 zunächst für Windows aktiviert.

Um das Ruckeln zu reduzieren, haben wir in dieser aktualisierten Version von Firefox Quantum eine verbesserte Engine integriert, die Inhalte effektiver lädt – mithilfe eines speziell dafür vorgesehenen CPU Thread. Diese Verbesserung sorgt dafür, dass Firefox Quantum nun noch schneller ist und auf bestimmten Webseiten gleichmäßiger läuft. Woher wir das wissen? Unsere Ingenieure haben einen Test entwickelt, der die Durchführung von schwerem JavaScript simuliert. Während dieses Tests hat sich gezeigt, dass sich die Bildwiederholungsrate von Firefox um 30% verbessert hat (von 31 auf 40 Frames pro Sekunde). – Mozilla Presse

Firefox 58 FPS

Mehr Leistung für aktiven Tab: Background Tab Throttling

Firefox 58 reduziert die CPU-Last durch eine Drosselung der Timer, speziell in den setTimeout()- und setInterval()-Methoden, in Hintergrund-Tabs. Damit steht mehr Rechen-Leistung für den gerade aktiven Tab zur Verfügung.

Signifikante Performance-Verbesserungen für Nutzer von a11y-Werkzeugen

Bedeutende Verbesserungen gab es vor allem für Nutzer, welche Werkzeuge für Barrierefreiheit (a11y) nutzen. Dies meint insbesondere Nutzer von Screenreadern. Firefox 57 hatte zwar große Performance-Verbesserungen für die Allgemeinheit gebracht, die Änderungen unter der Haube, insbesondere die Multiprozess-Architektur, verursachten allerdings größere Performance-Defizite, wenn a11y-Werkzeuge involviert waren. Darum hatte Mozilla bei Veröffentlichung von Firefox 57 Nutzern solcher Tools auch geraten, zunächst Firefox ESR 52 statt Firefox 57 einzusetzen.

Mit Firefox 58 hat Mozilla die größten Peformance-Flaschenhälse für Nutzer des NVDA-Screenreaders behoben, so dass entsprechende Nutzer nun Firefox 57 nutzen und ebenfalls von der Performance von Firefox Quantum profitieren können. Darüber hinaus gab es Verbesserungen, die zusammen mit dem NVDA-Update auf Version 2018.1, welches im Februar erscheinen wird, die Performance noch weiter verbessern werden.

Mit Firefox 59 wird es weitere Verbesserungen an dieser Front geben. Während es in Firefox 58 grundsätzlich auch eine bessere Performance für Nutzer eines JAWS-Screenreaders gibt, ist hierfür, sowohl von Mozilla als auch von den Machern von JAWS, noch etwas mehr zu tun, um auf das gleiche Performance-Niveau zu kommen.

Beeindruckende WebAssembly-Performance

WebAssembly, oder kurz: wasm, ist ein neues Binärformat für das Web, entwickelt von Mozilla, Google, Microsoft und Apple in einer W3C Community Group. Ähnlich wie bei Mozillas asm.js oder Googles PNaCl handelt es sich dabei um das Resultat kompilierten Codes und soll die Performance von Webanwendungen beinahe auf das Niveau nativer Anwendungen heben.

Firefox war nicht nur der erste Browser mit WebAssembly-Unterstützung, Mozilla hat auch bei der Performance von WebAssembly eine Vorreiter-Rolle. In Firefox 58 hat Mozilla einen neuen Streaming und Tiering Compiler implementiert (technische Details hier), welcher den Code 10 bis 15 mal schneller als der bisherige Compiler kompiliert.

Sonstige Performance-Verbesserungen

Mozilla hat das Löschen von Downloads aus der Download-Übersicht per Kontextmenü beschleunigt. Außerdem wurde die durch die Animation des Tab-Throbbers verursachte CPU-Last optimiert.

Webseiten das Überschreiben von Tastenkombinationen verbieten

Mozilla hat eine neue seitenspezifische Berechtigung eingeführt, welche es erlaubt, Webseiten das Überschreiben von Tastenkombinationen zu verbieten, die normalerweise vom Browser belegt sind. Zugänglich ist dies über den Berechtigungen-Reiter im Seiteninformationen-Dialog (via Kontextmenü auf Webseite erreichbar).

Firefox 58 Tastenkombinationen überschreiben

Verbesserungen an Firefox Screenshots

Firefox Screenshots ist ein seit Firefox 56 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 auf dem Computer gespeichert oder auf einen Mozilla-Server hochgeladen werden.

Eine neue Funktion in Firefox 58 ist das Kopieren von Screenshots direkt in die Zwischenablage. Außerdem funktioniert Firefox Screenshots jetzt auch in privaten Firefox-Fenstern.

Firefox Screenshots in Firefox 58

Vervollständigung von Kreditkarten-Informationen (nur US-Version)

Ebenfalls seit Firefox 56 besitzt der Mozilla-Browser eine Funktion, welche beim Ausfüllen von Formularen hilft. Firefox kann sich Formular-Daten wie Namen oder Adressen merken und mit diesen Daten dann Formulare befüllen, ohne dass die Daten erneut von Hand eingegeben werden müssen. Über die Einstellungen von Firefox können bestehende Formular-Daten bearbeitet oder gelöscht werden.

In Firefox 58 erweitert Mozilla diese Funktion um das Ausfüllen von Kreditkarten-Informationen. Beide Funktionen können separat voneinander in den Einstellungen aktiviert respektive deaktiviert werden und stehen bislang nur für Nutzer der US-Version von Firefox zur Verfügung.

Firefox 58 Kreditkarteninformationen

Einstellungen zeigen, wenn Erweiterungen Kontrolle haben

In den Einstellungen von Firefox wird ab sofort angezeigt, wenn eine WebExtension die Kontrolle über eine Einstellung übernommen hat. Den Anfang macht Firefox 58 mit den Einstellungen für die Startseite, den neuen Tab sowie die Standard-Suchmaschine. Damit erfährt der Nutzer nicht nur, welche Erweiterung eine Einstellung überschreibt, auch kann der Benutzer an dieser Stelle direkt eine entsprechende Erweiterung bei Bedarf deaktivieren.

Firefox 58 Einstellungen

Verbesserungen der Erweiterungs-Schnittstellen (WebExtensions)

Natürlich gab es auch für Entwickler von WebExtensions wieder einige neue APIs und Verbesserungen bestehender APIs. Einen vollständigen Überblick gibt es hier.

Unter anderem wurde die Theming-API erweitert, womit es mehr Möglichkeiten zur Änderung der Firefox-Oberfläche gibt. Hervorzuheben ist außerdem eine Erweiterungs-API für den Lese-Modus von Firefox, mehr Privatsphäre-Einstellungen sowie die Möglichkeit, die Standard-Suchmaschine zu ändern.

Verbesserungen der Webplattform

An der Front der Webstandards gibt es die Unterstützung der CSS-Eigenschaft font-display hervorzuheben, die Implementierung der PerformanceNavigationTiming-API sowie von Promise.prototype.finally(). Für die mit Firefox 57 neu eingeführte CSS-Engine gab es außerdem diverse Korrekturen.

Weitere Verbesserungen der Webplattform lassen sich in den MDN web docs nachlesen.

Neuerungen für Webentwickler

CSS Shape Path Editor

Firefox hält für Webentwickler innovative Werkzeuge wie den Grid Inspector bereit, welche bei der Entwicklung von Webseiten immens helfen können. Ein weiteres neues Werkzeug in Firefox 58 ist der CSS Shape Path Editor, welcher bei der Bearbeitung der CSS-Eigenschaft clip-path behilflich ist.

Firefox 58 Shape Path Editor

Sonstige Neuerungen für Webentwickler

Mozilla hat die Sourcemap-Unterstützung sowie das Syntax Highlighting des Debuggers verbessert. Außerdem erkennt der Debugger nun eine Reihe von Frameworks und kann die Stack Frames im Call Stack nun entsprechend gruppieren. Der Netzwerk-Monitor hat eine Pause-Funktion erhalten.

Design- und Touch-Optimierungen

Das seit Firefox 57 neue Design hat weiteren Feinschliff erhalten. So gibt es nun auch auf about:license und about:sessionrestore Illustrationen, welche die Seiten optisch aufwerten.

Das Identitäts-Panel, welches bei Klick auf das Info-Symbol in der Adressleiste erscheint, wurde in Firefox 58 ebenfalls überarbeitet und optisch an die neuen Photon-Menüs angeglichen, die an anderen Stellen in Firefox 57 eingeführt worden sind.

Ebenfalls weitergeführt wurde die seit Firefox 57 verbesserte Touch-Unterstützung: jetzt erscheinen auch die Lesezeichen- und Chronik-Sidebar im Touch-Modus größer. Gleiches gilt für das Menü, welches bei vielen offenen Tabs in der Tab-Leiste erscheint und alle Tabs auflistet.

Sonstige Verbesserungen

Firefox 57 zeigte in der Lesezeichen-Symbolleiste unter Umständen nicht die korrekten Favicons der entsprechenden Webseiten an. Dies wurde in Firefox 58 behoben.

Die einzelnen Abschnitte der Seite, die beim Öffnen eines neuen Tabs erscheint, konnten bereits alle bei Nicht-Bedarf deaktiviert werden. Nun ist es darüber hinaus möglich, aktivierte Abschnitte einzuklappen.

Bei gedrückter Shift-Taste kann mit dem Mausrad jetzt horizontal auf Webseiten gescrollt werden.

Ein Wechseln der Blockierliste für den Tracking-Schutz erfordert nicht länger einen Neustart von Firefox, um wirksam zu werden. Ein Zurücksetzen des Firefox-Profils aktiviert ab sofort standardmäßig die Lesezeichen-Symbolleiste, sofern diese Nicht-Standard-Lesezeichen beinhaltet.

Verbessert wurde auch die Zuverlässigkeit des Firefox-Downloads bei instabilen Internet-Verbindungen (nur Windows): der sogenannte Stub Installer, welcher Firefox in einem Schritt herunterlädt und installiert, hatte bisher den Download jedes Mal neu begonnen, wenn die Internet-Verbindung unterbrochen wurde. Jetzt ist der Installer in der Lage, Downloads fortzusetzen.

Die Seite about:support beinhaltet jetzt auch den Pfad zum Profilverzeichnis sowie Informationen zur Lokalisierung des Systems.

Für Nutzer von Linux wurde ein Darstellungsproblem behoben, welches dafür sorgte, dass Schriften, die in Nicht-Standard-Verzeichnissen installiert waren, nicht korrekt angezeigt wurden.

Der Beitrag Noch schneller – Mozilla veröffentlicht Firefox 58 erschien zuerst auf soeren-hentzschel.at.

23. Januar 2018

Bild von geralt via pixabay / Lizenz: CC0 Creative Commons

WhatsApp ist im amerikanischen und europäischen Raum der unangefochtene Marktführer bei den Messengern und das schon seit einigen Jahren. Obwohl man einiges für die Sicherheit getan hat und das auch nicht zu gering schätzen sollte (siehe: Kommentar: Datenschutz und -sicherheit - Open Source wird überbewertet) dürfte unstrittig sein, dass die Verbindung zum Facebook-Konzern problematisch ist. Hier besteht ein zu großer Datenpool, der sich zu sehr der Kontrolle entzieht.

Das ist keine neue Erkenntnis und trieb auch die Kartellbehörden bei der Übernahme von WhatsApp um. Rein funktional ist WhatsApp nicht alternativlos. Im Kern handelt es sich um einen Messenger, der Text-, Sprach und Videonachrichten verschicken kann. Hinzu kommen Bilder- und Videoversand und Videoanrufe. Es gibt eine ganze Reihe von Konkurrenten die funktional mit WhatsApp Schritt halten können und mehr Fokus auf Datenschutz legen. Bekannte Beispiele sind hier das ebenfalls proprietäre Threema oder die Open Source Alternativen Signal und Wire. Hinzu kommt Spezialsoftware wie XMPP mit OTR, die aber schon funktional nicht dazu geeignet sind die Nische zu verlassen.

Threema ist zwar bereits seit Jahren im iOS-Appstore unter den meist verkauften Apps, konnte aber bisher keine kritische Masse für sich begeistern. Die Marktanteile von Signal und Wire dürften ebenfalls im Nischenbereich liegen.

Die einzige wirklich bekannte App neben WhatsApp scheint mir - ausgerechnet - Telegram zu sein. Noch absurder daran ist, dass viele zu Telegram wechseln, in dem Glauben ihre Daten wären besser geschützt als bei WhatsApp. Und wehe jemand zieht das in Zweifel, siehe z.B. die Kommentare unter diesem Blogpost.

Es ist keine umfangreiche Recherche notwendig um daran erhebliche Zweifel zu entwickeln. Bereits Wikipedia widmet der Sicherheit von Telegram einen langen, sehr kritischen Abschnitt. Auch außerhalb der Tech-Filterblase sind kritische Artikel erschienen. Telegram setzt scheinbar bei der Verschlüsselung nicht auf eine bewährte Lösung, wie sie z.B. Open Whisper System anbietet, sondern auf eine unbekannte Eigenentwicklung. Nachrichten werden in der Cloud gespeichert und sind mindestens für den Betreiber einsehbar. Lediglich so genannte "Geheime Chats" bieten mehr Sicherheit, sind aber nur zwischen zwei Personen möglich und nicht für Gruppen. Genau wie WhatsApp gleicht Telegram das Adressbuch des Anwenders ab um Kontakte zu ermitteln. Das BKA scheint zudem in der Lage zu sein Telegram Nachrichten abzufangen. Ohne diese Aktion bewerten zu wollen, muss man festhalten: Was das BKA kann, können andere auch. Eine umfangreiche Sicherheitsanalyse liefert das Paper "Security Analysis of Telegram" aus dem Mai 2017.

Wenn man das so subsummiert ist der einzige Vorteil von Telegram, dass es eben nicht WhatsApp ist bzw. nicht zu Facebook gehört. Im Gegensatz zu verbreiteten Mythen ist es nicht mal Open Source. Die Clients sind zwar quelloffen, aber die Server nicht, was Telegram auch nicht bestreitet. Bei verschlüsselsten Chats dürfte es zwar reichen dem Client zu vertrauen, vollkommene Transparenz sieht aber anders aus und z.B. Wire oder Signal sind da weiter.

Die Frage die sich mir in diesem Zusammenhang stellt: Was bringt die kritische Masse zu einem Messenger? Warum konnte sich Telegram zumindest teilweise durchsetzen und Alternativen nicht. Zumal wenn man bedenkt, dass bereits bei einer oberflächlichen Recherche der Sicherheitsgewinn zweifelhaft wird. Wire und Signal kamen deutlich später auf den Markt, der Faktor Zeit sollte hier also eine Rolle spielen. Threema kostet schon immer Geld, schreckt das ab?

22. Januar 2018

Wie Android Police bereits vor Wochen berichtet hat, erwartet Android 8.1 ein Feature, das es ermöglicht, bei offenen WLANs die jeweilige durchschnittliche Geschwindigkeit schon vor der Anmeldung zu sehen. Hierbei richtet sich die Anzeige nach folgenden Geschwindigkeitsbereichen:

Slow 0 – 1 MB/s
OK 1 – 5 MB/s
Fast 5 – 20 MB/s
Very Fast 20+ MB/s

Seit heute rollt Google dieses Feature nun aus.

Quellen: 1, 2, 3

Als Systemadministrator einer Schule steht man immer wieder vor der Frage, inwieweit man Inhalte aus dem Internet filtern soll. Überall da, wo Kinder und Jugendliche Zugriff zum Internet haben, egal ob in der Schule, im Verein, Bibliotheken, zu Hause oder einer anderen öffentlichen Einrichtung, muss diese Frage beantwortet werden. Die Meinungen zu diesem Thema sind sehr vielfältig. Einen 100%igen Schutz gibt es nicht. Viel wichtiger ist es, Kinder und Jugendlichen einen verantwortungsvollem Umgang mit dem Internet beizubringen. Das ist eine sehr große Herausforderung und dauert seine Zeit. Eltern und Pädagogen stehen vor dieser Aufgabe und wissen oft nicht, wie man es am besten angeht. Gerade in Schulen, wo man die Bildschirme nicht immer im Blick behalten kann, ist ein Webfilter eine große Hilfe. In manchen Ländern ist ein Webfilter für Schulen sogar gesetzlich vorgeschrieben. Manchmal geht es aber auch nur darum bestimmte Webseiten, wie Facebook, Netflix & Co zu sperren. Deshalb möchte ich in diesem Tutorial zeigen, wie man einen pfSense Webfilter einrichten kann.

Vorbemerkungen

pfSense ist eine weit verbreitete Open Source Firewall, die wir an unserer Schule einsetzen. Mit Hilfe von Squid (einem Proxy Server) und SquidGuard (dem eigentlichem Webfilter) wollen wir sowohl HTTP als HTTPS – Verbindungen filtern. Für dieses Tutorial brauchen wir zuerst eine aktive pfSense Installation. Die Firewall kann man hier herunterladen und nach dieser Anleitung installieren.

Funktionsweise

HTTP-Verbindungen zu filtern ist sehr einfach und auch schnell eingerichtet. Da diese Verbindungen unverschlüsselt sind, kann man sie gut untersuchen und deshalb ganz oder teilweise sperren. Heutzutage verwenden immer mehr Seiten (auch solche, die man gern sperren möchte) HTTPS, d.h. eine verschlüsselte Verbindung zwischen dem Browser des Benutzers und dem Webserver. Dank Let’s Encrypt kann heute jeder ein kostenloses Zertifikat für seine Website einrichten. Das ist an sich eine gute Sache, weil es die Sicherheit erhöht und viele Attacken unmöglich macht bzw. schwieriger. Es erschwert aber auch das Filtern nach unerwünschten Inhalten.

Diese „Problem“ lässt sich auf zwei Wegen lösen:

1. Man-in-the-Middle Angriff

Ein Weg ist ein bewusster Man-in-the-middle Angriff. Der Proxy-Server entschlüsselt dabei die HTTPS-Verbindung und baut sie neu auf. Dadurch kann er sich die Verbindung anschauen und entsprechend filtern. Dieses Konzept wird von den meisten Anbietern von Filterlösungen angewendet. Das Problem hierbei ist, dass durch diesen tiefen Eingriff in die HTTPS-Verbindung, die eigentliche Sicherheit durch HTTPS nicht mehr gegeben ist. Ein Benutzer kann den Unterschied kaum erkennen, wenn dem Zertifikat des Proxy-Servers vertraut wird. Doch diese Sicherheit ist trügerisch. Auch wenn man nur über diesen Weg von einer echten Inhaltsfilterung sprechen kann, so ist diese Lösung gefährlich, sehr risikobehaftet (die Implementation ist nicht trival) und je nach Land, nicht mit den vorherrschenden Gesetzen vereinbar (Stichwort Datenschutz). Deshalb ist dieser Weg aus sicherheitstechnischen und auch moralischen Gründen nicht zu empfehlen.

2. URL-Filter über SNI

Eine weitere Möglichkeit ist die Filterung über SNI (Server Name Indication). Bevor das Zertifikat zwischen Browser und Webserver abgefragt und somit einen verschlüsselte Verbindung aufgebaut wird, sendet der Browser den Domain Namen (FQDN) mit, den er abfragen möchte. Dieser Teil ist nicht noch nicht verschlüsselt und kann deshalb von einem (transparentem) Proxy gelesen und für die Filterung genutzt werden. Folgende Abbildung macht den TLS-Handshake deutlicher.

TLS Handshake

Man kann gut erkennen, dass der SNI vor dem Schlüsselaustausch und der eigentlichen sicheren Verbindung gesendet wird. Dieses Prinzip machen wir uns zunutze und können neben dem Webfilter für HTTP-Verbindungen auch einen URL-Filter für HTTPS-Verbindungen einrichten, ohne dabei HTTPS durch einen Man-in-the-Middle Angriff kaputt zu machen.

Safe-Search für Suchmaschienen

Firewall Regeln für DNS erstellen

Da wir nicht in eine HTTPS-Verbindung hinein schauen können, können z.B. in einer Google-Suche unerwünschte Bilder und Videos auftauchen. Google und auch andere Suchmaschinen bieten deshalb einen sicheren Modus (Safe-Search) an, denn wir erzwingen wollen.

Zuerst müssen wir dazu den DNS-Resolver in pfSense aktivieren (unter Services → DNS Resolver) und danach Speichern (Save) und die Änderungen übernehmen (Apply).

DNS Resolver

Damit später die Rechner im Netzwerk auch den DNS-Server der Firewall verwenden, brauchen wir eine Regel, welche alle anderen DNS-Anfragen an die Firewall weiterleitet. Dazu erstellen wir eine neue Regel unter Firewall → NAT im Reiter Port Forward mit einem Klick auf einen der beiden Add Buttons. Dabei geben wir folgendes ein:

  1. Interface: LAN
  2. Protocol: TCP/UDP
  3. Destination: Any
  4. Destination Port Range: DNS (53)
  5. Redirect Traget IP: 127.0.0.1
  6. Redirect Target Port: DNS (53)
  7. Description: Kann frei gewählt werden

NAT DNS Redirect

Nun müssen wir sicher stellen, dass unsere eben erstellte Firewall-Regel an der richtigen Stelle ist. Sie muss über der standardmäßigen „Default allow LAN to any rule“ sein! Dazu öffnen wir die Firewall Regeln unter Firewall → Rules und verschieben die Regeln nach oben. Danach mit Save speichern und mit Apply die Änderungen übernehmen.

LAN Rules

Host Overrides für Bing und Youtube

Als nächstes erstellen wir einige DNS-Einträge, die dafür sorgen, dass sowohl für Google und Bing deren Safe-Search verwendet wird. Dazu öffnen wir erneut den DNS-Resolver unter Services → DNS-Resolver und fügen unten im Abschnitt „Host Overrides“ mit Add folgende Einträge hinzu.

Bing:

  • Host: www
  • Domain: bing.com
  • IP Address: 204.79.197.220
  • Description: Bing
  • Dann mit Save speichern

Dann noch der Eintrag für Youtube:

  • Host: www
  • Domain: youtube.com
  • IP Address: 216.239.38.120
  • Description: Youtube
  • Wieder mit Save speichern

Host Override

Nun die Änderungen wieder mit Apply übernehmen.

Host Overrides für Google

Google verwendet sehr viele verschiedene Domains und es würde ziemlich lang dauern, diese von Hand einzugeben. Deshalb wählen wir für Google einen anderen Weg. Zuerst müssen wir uns per SSH in pfSense anmelden (oder einen Bildschirm + Tastatur anschließen, falls der pfSense auf einem Computer mit Grafikkarte installiert ist). Vorher muss SSH noch im Webinterface und System → Advanced im Abschnitt Secure Shell aktiviert werden.

pfSense SSH

Nun können wir uns mit folgendem Befehl per SSH anmelden (IP Adresse anpassen!):

$ ssh admin@192.168.0.1

Im folgenden Menü wählen wir „8“ (Shell).

pfSense Shell

Nun legen wir eine Datei an, in die wir später unsere DNS Einträge für Google eintragen. Das können wir mit folgendem Befehl machen:

$ vi /var/unbound/google.conf

Um den Editor wieder zu verlassen, müssen wir :wq eingeben (der Doppelpunkt ist wichtig!). Mehr brauchen wir nicht auf der Kommandozeile machen.

Wir können nun die eben angelegte Datei über Diagnostics → Edit File bearbeiten. Dazu geben wir den Pfad /var/unbound/google.conf ein und drücken dann auf Load.

Edit File

Nun kopieren wir folgenden Inhalt in die Datei:

local-data: "www.google.ad A 216.239.38.120"
local-data: "www.google.ae A 216.239.38.120"
local-data: "www.google.com A 216.239.38.120"
local-data: "www.google.com.af A 216.239.38.120"
local-data: "www.google.com.ag A 216.239.38.120"
local-data: "www.google.com.ai A 216.239.38.120"
local-data: "www.google.al A 216.239.38.120"
local-data: "www.google.am A 216.239.38.120"
local-data: "www.google.co.ao A 216.239.38.120"
local-data: "www.google.com.ar A 216.239.38.120"
local-data: "www.google.as A 216.239.38.120"
local-data: "www.google.at A 216.239.38.120"
local-data: "www.google.com.au A 216.239.38.120"
local-data: "www.google.az A 216.239.38.120"
local-data: "www.google.ba A 216.239.38.120"
local-data: "www.google.com.bd A 216.239.38.120"
local-data: "www.google.be A 216.239.38.120"
local-data: "www.google.bf A 216.239.38.120"
local-data: "www.google.bg A 216.239.38.120"
local-data: "www.google.com.bh A 216.239.38.120"
local-data: "www.google.bi A 216.239.38.120"
local-data: "www.google.bj A 216.239.38.120"
local-data: "www.google.com.bn A 216.239.38.120"
local-data: "www.google.com.bo A 216.239.38.120"
local-data: "www.google.com.br A 216.239.38.120"
local-data: "www.google.bs A 216.239.38.120"
local-data: "www.google.bt A 216.239.38.120"
local-data: "www.google.co.bw A 216.239.38.120"
local-data: "www.google.by A 216.239.38.120"
local-data: "www.google.com.bz A 216.239.38.120"
local-data: "www.google.ca A 216.239.38.120"
local-data: "www.google.cd A 216.239.38.120"
local-data: "www.google.cf A 216.239.38.120"
local-data: "www.google.cg A 216.239.38.120"
local-data: "www.google.ch A 216.239.38.120"
local-data: "www.google.ci A 216.239.38.120"
local-data: "www.google.co.ck A 216.239.38.120"
local-data: "www.google.cl A 216.239.38.120"
local-data: "www.google.cm A 216.239.38.120"
local-data: "www.google.cn A 216.239.38.120"
local-data: "www.google.com.co A 216.239.38.120"
local-data: "www.google.co.cr A 216.239.38.120"
local-data: "www.google.com.cu A 216.239.38.120"
local-data: "www.google.cv A 216.239.38.120"
local-data: "www.google.com.cy A 216.239.38.120"
local-data: "www.google.cz A 216.239.38.120"
local-data: "www.google.de A 216.239.38.120"
local-data: "www.google.dj A 216.239.38.120"
local-data: "www.google.dk A 216.239.38.120"
local-data: "www.google.dm A 216.239.38.120"
local-data: "www.google.com.do A 216.239.38.120"
local-data: "www.google.dz A 216.239.38.120"
local-data: "www.google.com.ec A 216.239.38.120"
local-data: "www.google.ee A 216.239.38.120"
local-data: "www.google.com.eg A 216.239.38.120"
local-data: "www.google.com.et A 216.239.38.120"
local-data: "www.google.fi A 216.239.38.120"
local-data: "www.google.com.fj A 216.239.38.120"
local-data: "www.google.fm A 216.239.38.120"
local-data: "www.google.fr A 216.239.38.120"
local-data: "www.google.ga A 216.239.38.120"
local-data: "www.google.ge A 216.239.38.120"
local-data: "www.google.gg A 216.239.38.120"
local-data: "www.google.com.gh A 216.239.38.120"
local-data: "www.google.com.gi A 216.239.38.120"
local-data: "www.google.gl A 216.239.38.120"
local-data: "www.google.gm A 216.239.38.120"
local-data: "www.google.gp A 216.239.38.120"
local-data: "www.google.gr A 216.239.38.120"
local-data: "www.google.com.gt A 216.239.38.120"
local-data: "www.google.gy A 216.239.38.120"
local-data: "www.google.com.hk A 216.239.38.120"
local-data: "www.google.hn A 216.239.38.120"
local-data: "www.google.hr A 216.239.38.120"
local-data: "www.google.ht A 216.239.38.120"
local-data: "www.google.hu A 216.239.38.120"
local-data: "www.google.co.id A 216.239.38.120"
local-data: "www.google.ie A 216.239.38.120"
local-data: "www.google.co.il A 216.239.38.120"
local-data: "www.google.im A 216.239.38.120"
local-data: "www.google.co.in A 216.239.38.120"
local-data: "www.google.iq A 216.239.38.120"
local-data: "www.google.is A 216.239.38.120"
local-data: "www.google.it A 216.239.38.120"
local-data: "www.google.je A 216.239.38.120"
local-data: "www.google.com.jm A 216.239.38.120"
local-data: "www.google.jo A 216.239.38.120"
local-data: "www.google.co.jp A 216.239.38.120"
local-data: "www.google.co.ke A 216.239.38.120"
local-data: "www.google.com.kh A 216.239.38.120"
local-data: "www.google.ki A 216.239.38.120"
local-data: "www.google.kg A 216.239.38.120"
local-data: "www.google.co.kr A 216.239.38.120"
local-data: "www.google.com.kw A 216.239.38.120"
local-data: "www.google.kz A 216.239.38.120"
local-data: "www.google.la A 216.239.38.120"
local-data: "www.google.com.lb A 216.239.38.120"
local-data: "www.google.li A 216.239.38.120"
local-data: "www.google.lk A 216.239.38.120"
local-data: "www.google.co.ls A 216.239.38.120"
local-data: "www.google.lt A 216.239.38.120"
local-data: "www.google.lu A 216.239.38.120"
local-data: "www.google.lv A 216.239.38.120"
local-data: "www.google.com.ly A 216.239.38.120"
local-data: "www.google.co.ma A 216.239.38.120"
local-data: "www.google.md A 216.239.38.120"
local-data: "www.google.me A 216.239.38.120"
local-data: "www.google.mg A 216.239.38.120"
local-data: "www.google.mk A 216.239.38.120"
local-data: "www.google.ml A 216.239.38.120"
local-data: "www.google.com.mm A 216.239.38.120"
local-data: "www.google.mn A 216.239.38.120"
local-data: "www.google.ms A 216.239.38.120"
local-data: "www.google.com.mt A 216.239.38.120"
local-data: "www.google.mu A 216.239.38.120"
local-data: "www.google.mv A 216.239.38.120"
local-data: "www.google.mw A 216.239.38.120"
local-data: "www.google.com.mx A 216.239.38.120"
local-data: "www.google.com.my A 216.239.38.120"
local-data: "www.google.co.mz A 216.239.38.120"
local-data: "www.google.com.na A 216.239.38.120"
local-data: "www.google.com.nf A 216.239.38.120"
local-data: "www.google.com.ng A 216.239.38.120"
local-data: "www.google.com.ni A 216.239.38.120"
local-data: "www.google.ne A 216.239.38.120"
local-data: "www.google.nl A 216.239.38.120"
local-data: "www.google.no A 216.239.38.120"
local-data: "www.google.com.np A 216.239.38.120"
local-data: "www.google.nr A 216.239.38.120"
local-data: "www.google.nu A 216.239.38.120"
local-data: "www.google.co.nz A 216.239.38.120"
local-data: "www.google.com.om A 216.239.38.120"
local-data: "www.google.com.pa A 216.239.38.120"
local-data: "www.google.com.pe A 216.239.38.120"
local-data: "www.google.com.pg A 216.239.38.120"
local-data: "www.google.com.ph A 216.239.38.120"
local-data: "www.google.com.pk A 216.239.38.120"
local-data: "www.google.pl A 216.239.38.120"
local-data: "www.google.pn A 216.239.38.120"
local-data: "www.google.com.pr A 216.239.38.120"
local-data: "www.google.ps A 216.239.38.120"
local-data: "www.google.pt A 216.239.38.120"
local-data: "www.google.com.py A 216.239.38.120"
local-data: "www.google.com.qa A 216.239.38.120"
local-data: "www.google.ro A 216.239.38.120"
local-data: "www.google.ru A 216.239.38.120"
local-data: "www.google.rw A 216.239.38.120"
local-data: "www.google.com.sa A 216.239.38.120"
local-data: "www.google.com.sb A 216.239.38.120"
local-data: "www.google.sc A 216.239.38.120"
local-data: "www.google.se A 216.239.38.120"
local-data: "www.google.com.sg A 216.239.38.120"
local-data: "www.google.sh A 216.239.38.120"
local-data: "www.google.si A 216.239.38.120"
local-data: "www.google.sk A 216.239.38.120"
local-data: "www.google.com.sl A 216.239.38.120"
local-data: "www.google.sn A 216.239.38.120"
local-data: "www.google.so A 216.239.38.120"
local-data: "www.google.sm A 216.239.38.120"
local-data: "www.google.sr A 216.239.38.120"
local-data: "www.google.st A 216.239.38.120"
local-data: "www.google.com.sv A 216.239.38.120"
local-data: "www.google.td A 216.239.38.120"
local-data: "www.google.tg A 216.239.38.120"
local-data: "www.google.co.th A 216.239.38.120"
local-data: "www.google.com.tj A 216.239.38.120"
local-data: "www.google.tk A 216.239.38.120"
local-data: "www.google.tl A 216.239.38.120"
local-data: "www.google.tm A 216.239.38.120"
local-data: "www.google.tn A 216.239.38.120"
local-data: "www.google.to A 216.239.38.120"
local-data: "www.google.com.tr A 216.239.38.120"
local-data: "www.google.tt A 216.239.38.120"
local-data: "www.google.com.tw A 216.239.38.120"
local-data: "www.google.co.tz A 216.239.38.120"
local-data: "www.google.com.ua A 216.239.38.120"
local-data: "www.google.co.ug A 216.239.38.120"
local-data: "www.google.co.uk A 216.239.38.120"
local-data: "www.google.com.uy A 216.239.38.120"
local-data: "www.google.co.uz A 216.239.38.120"
local-data: "www.google.com.vc A 216.239.38.120"
local-data: "www.google.co.ve A 216.239.38.120"
local-data: "www.google.vg A 216.239.38.120"
local-data: "www.google.co.vi A 216.239.38.120"
local-data: "www.google.com.vn A 216.239.38.120"
local-data: "www.google.vu A 216.239.38.120"
local-data: "www.google.ws A 216.239.38.120"
local-data: "www.google.rs A 216.239.38.120"
local-data: "www.google.co.za A 216.239.38.120"
local-data: "www.google.co.zm A 216.239.38.120"
local-data: "www.google.co.zw A 216.239.38.120"
local-data: "www.google.cat A 216.239.38.120"

Mit einem Klick auf Save speichern wir die Datei.

Der letzte Schritt ist, dass wir unserem DNS Server noch mitteilen müssen, wo er diese DNS-Einträge finden kann. Dazu öffnen wir wieder die Einstellungen des DNS Servers unter Services → DNS Resolver und klicken auf Display Custom Options. Dort fügen wir folgende Zeilen ein, speichern mit Save und übernehmen die Änderungen mit Apply.

server:
include: /var/unbound/google.conf

DNS Custom Options

Unsere Suchmaschinen sind konfiguriert. Im nächsten Schritt richten wir den Inhaltsfilter für HTTP und den URL-Filter für HTTPS ein.

Squid Proxy und SquidGuard

Installation

Damit pfSense die URLs filtern kann, brauchen wir einen Proxy-Server, durch den alle Anfragen aus unserem Netzwerk geleitet werden. Dazu verwenden wir Squid. SquidGuard ist, wie der Name schon vermuten lässt, der eigentliche Filter. Unter System → Package Manager im Reiter Available Packages installieren wir Squid und SquidGuard.

Package Manager

Transparenter Proxy für HTTP einrichten

Unter Services → Squid Proxy Server richten wir nun den transparenten Proxy für HTTP ein. Ein transparenter Proxy hat den Vorteil, dass wir keine Konfiguration an den einzelnen Rechner in unserem Netzwerk vornehmen müssen. Im Reiter General aktivieren wir folgende Punkte:

  1. Enable Squid Proxy ✔
  2. Proxy Interface(s): LAN
  3. Allow users on Interface ✔
  4. Transparent HTTP Proxy ✔
  5. Transparent Proxy Interface(s): LAN

Squid Proxy General

Nach dem Speichern mit Save legen wir im Reiter Local Cache fest, wie viel Festplattenplatz für den Cache verwendet werden soll (hier 500MB):

Squid Proxy Cache

Auch hier müssen die Einstellungen wieder mit Save gespeichert werden. Der Transparente Proxy für HTTP-Verbindungen ist jetzt fertig eingerichtet.

SquidGuard konfigurieren

SquidGuard ist die Komponente, die sich um die Filterung der Inhalte kümmert. Jede Anfrage wir von SquidGuard untersucht und dann entschieden, ob die Anfrage bzw. die Website geblockt werden soll oder nicht. Dazu verwenden wir eine Blacklist, die wir später konfigurieren. Davor legen wir ein paar allgemeine Einstellungen unter Services → SquidGuard Proxy Filter fest.

  1. Enable ✔ (nicht im Screenshot zu sehen)
  2. Enable Log  ✔
  3. Enable Log Rotation ✔
  4. Enable Blacklist ✔
  5. Blacklist URL: http://www.shallalist.de/Downloads/shallalist.tar.gz

Squid Proxy Filter General

Unten speichern wir wieder alles mit Save.

Beim SquidGuard müssen wir beachten, dass Änderungen in der Konfiguration erst dann aktiv werden, wenn wir Save und Apply (oben im Reiter General Settings) geklickt haben!

Black- und Whitelisten einrichten

Nachdem wir nun mit den grundlegenden Einstellungen fertig sind, fehlen noch die Black- und Whitelisten. Die URL für die Blackliste haben wir ja bereits angegeben. Nun müssen wir sie noch herunterladen im Reiter „Blacklist„.

Blacklist

Damit unser Filter auch funktioniert, legen wir nun einige Zielkategorien fest. Dazu öffnen wir den Reiter „Target Kategories“ und klicken auf Add. Wir erstellen eine Whitelist, in der alle Domainnamen kommen, die wir explizit erlauben. Das wären z.B. alle Google-Domain, da wir ja alle weiteren Suchmaschinen blocken werden, um dem Benutzer keine Möglichkeit zu geben, die weiter oben eingerichtet Safe-Search zu umgehen.

Folgendes geben wir ein:

  1. Name: Whitelist
  2. Domain List:
    google.ac google.ad google.ae google.al google.am google.as google.at google.az google.ba google.be google.bf google.bg google.bi google.bj google.bs google.bt google.by google.ca google.cat google.cd google.cf google.cg google.ch google.ci google.cl google.cm google.cn google.co.ao google.co.bw google.co.ck google.co.cr google.co.hu google.co.id google.co.il google.co.in google.co.je google.co.jp google.co.ke google.co.kr google.co.ls google.com google.co.ma google.com.af google.com.ag google.com.ai google.com.ar google.com.au google.com.bd google.com.bh google.com.bn google.com.bo google.com.br google.com.bz google.com.co google.com.cu google.com.cy google.com.do google.com.ec google.com.eg google.com.et google.com.fj google.com.gh google.com.gi google.com.gr google.com.gt google.com.hk google.com.jm google.com.kh google.com.kw google.com.lb google.com.ly google.com.mm google.com.mt google.com.mx google.com.my google.com.na google.com.nf google.com.ng google.com.ni google.com.np google.com.om google.com.pa google.com.pe google.com.pg google.com.ph google.com.pk google.com.pr google.com.py google.com.qa google.com.sa google.com.sb google.com.sg google.com.sl google.com.sv google.com.tj google.com.tr google.com.tw google.com.ua google.com.uy google.com.vc google.com.vn google.co.mz google.co.nz google.co.th google.co.tz google.co.ug google.co.uk google.co.uz google.co.ve google.co.vi google.co.za google.co.zm google.co.zw google.cv google.cz google.de google-directory.co.uk google.dj google.dk google.dm google.dz google.ee google.es google.fi google.fm google.fr google.ga google.ge google.gg google.gl google.gm google.gp google.gr google.gy google.hn google.hr google.ht google.hu google.ie google.im google.iq google.is google.it google.je google.jo google.kg google.ki google.kz google.la google.li google.lk google.lt google.lu google.lv google.md google.me google.mg google.mk google.ml google.mn google.ms google.mu google.mv google.mw google.ne google.nl google.no google.nr google.nu google.off.ai googlepirate.com google.pl google.pn google.ps google.pt google.ro google.rs google.ru google.rw google.sc google.se google.sh google.si google.sk google.sm google.sn google.so google.sr google.st google.td google.tg google.tk google.tl google.tm google.tn google.to google.tt google.uz google.vg google.vu google.ws bing.com
  3. Description: Whitelist
  4. Mit Save speichern.

Whitelist

Der vorerst letzte Schritt ist die Einrichtung einiger Regeln. Das machen wir im Reiter Common ACL. Dann bei „Target Rules List“ auf das „+“ – Zeichen klicken, um eine Liste mit den verschiedenen Regelsätzen zu öffnen. Hier gibt es nun verschiedene Kategorien und auch unsere Whitelist taucht hier auf. Folgende Einstellungen nehmen wir nun vor:

  • Whitelist: access whitelist
  • Default access [all]: access allow

Common ACL

Die anderen Kategorien können je nach Bedarf eingestellt werden. Hier einige Beispiele:

  • Werbung blocken: [blk_BL_adv] access deny
  • Pornographie blocken: [blk_BL_porn] access deny
  • usw.

Damit ein Benutzer unseren URL-Filter nicht durch die Eingabe der IP-Adresse einer Seite umgehen kann, aktivieren wir noch Do not allow IP-Addresses in URL. Falls diese Einstellung Probleme macht, sollte man sie wieder deaktivieren.

Do not allow IP Addresses

Dann speichern wir mit Save, wechseln in den Reiter General Settings und müssen dort noch einmal auf Apply drücken, damit unsere Änderungen auch angewendet werden.

Bisheriges Setup testen

Für HTTP-Verbindungen ist alles eingerichtet und wir können das Setup testen. Auf einem Rechner im LAN muss nichts weiter eingerichtet werden. Der Filter sollte bereits funktionieren. Falls wir eine Seite aufrufen, die in eine unserer Blacklisten auftaucht erscheint diese Seite:

Blocked Sites

Transparenter Proxy für HTTPS-Verbindungen

Bisher ist der transparente Proxy nur für HTTP, d.h. unverschlüsselte Anfragen aktiv.  Zu Beginn dieses Artikels habe ich bereits auf die Schwierigkeiten beim Filtern von verschlüsselten, also HTTPS-Verbindungen hingewiesen. In unserem Fall werden wir einen transparenten Proxy für HTTPS aktivieren, der es uns erlaubt einen URL-Filter für alle Anfragen auf Port 443 (HTTPS) zu aktivieren, allerdings mit dem Nachteil, dass wir nicht den Inhalt analysieren können (und auch nicht wollen!) sowie keine schöne Fehlerseite möglich ist. Stattdessen wird uns der Browser eine Zertifikatsfehlermeldung anzeigen. Doch dazu gleich mehr.

Wir aktivieren zuerst den transparenten Proxy auch für HTTPS. Dazu öffnen wir die Proxyeinstellungen unter Services → Squid Proxy Server und wählen im Abschnitt SSL Man in the Middle Filtering folgende Einstellungen:

  • HTTPS / SSL Interception ✔
  • SSL/MITM Method: Splice All
  • SSL Intercept Interfaces: LAN
  • CA: Ein Certificat Authority Zertifkat auswählen. Eventuell müssen wir erst noch eines erstellen. (Unter System → Cert. Manager).
  • Alles mit Save speichern.

SSL MITM

Nun ist wirklich alles eingerichtet und wir können auch HTTPS-Verbindungen testen. Wie bereits geschrieben, bekommen wir diesmal nicht so eine aussagekräftige Fehlermeldung wie für HTTP-Verbindungen, sondern eine Warnung des Browsers zu sehen:

Cert Error

Auch wenn diese Fehlermeldung nicht sehr aussagekräftig ist, haben wir unser eigentliches Ziel erreicht, nämlich das unerwünschte Seiten geblockt werden.

Fazit

Wir haben nun ein System eingerichtet, welches allen Netzwerkverkehr in unserem LAN (oder WLAN) filtert. Dabei werden Seiten, die über die Blacklisten festgelegt wurden, geblockt.

Über das Für und Wider von solchen Sperren gibt es unterschiedliche Positionen. Es ist auf jeden Fall ein Problem, welches sich technisch nicht zu 100% lösen lässt und auch nicht sollte, da es vielmehr darum geht, (junge) Menschen dahingehend zu erziehen, dass sie verantwortungsvoll mit dem Medium „Internet“ umgehen können. Dieses Ziel allein durch solche Filtermaßnahmen zu erreichen, ist sicher nicht der richtige Weg. Auch das man Kinder und Jugendliche an Zensur und Filter „gewöhnt“ wird von einigen kritisch gesehen.

Auf der anderen Seite ist es gerade für Schulen, Bibliotheken oder auch zu Hause eine Hilfe, wenn man die Fülle an nicht altersgemäßen Inhalten etwas einschränken kann. Manche Länder schreiben so einen Filter auch gesetzlich vor!

(Quelle: https://forum.pfsense.org/index.php?topic=112335.0)

3 Kommentare

Der Beitrag pfSense Webfilter – squidGuard für HTTP(S)-Verbindungen erschien zuerst auf .:zefanjas:..

21. Januar 2018

Foto: © pico / Fotolia.com

Technisch gesehen lässt sich E-Mail Verschlüsselung bereits seit Jahrzehnten umsetzen (siehe: E-Mail Kommunikation absichern). Sowohl PGP in seinen diversen Inkarnationen, als auch die Konkurrenz S/MIME gibt es bereits seit den 1990ern. Nur nutzen tut sie leider kaum jemand. E-Mails haben daher immer noch die Sicherheit einer Postkarte, auch wenn die Anbieter in den letzten Jahren zumindest die Transportwege besser absichern.

Retten soll die E-Mail Verschlüsselung daher Autocrypt, das seit Ende letzten Jahres von Posteo unterstützt wird. Autocrypt basiert auf OpenPGP und soll vor allem den Verschlüsselungsprozess automatisieren.

Autokrypt sorgt dafür, dass E-Mails automatisch verschlüsselt werden und der Schlüsselaustausch automatisiert im Hintergrund erfolgt. Vorab erfolgt hierzu der Austausch einer leeren E-Mail mit den benötigten Schlüsselinformationen. Damit soll in etwa der Komfort erreicht werden, der bereits bei vielen sicheren Messengern Standard ist.

Der Haken ist, dass das jeweilige Mail-Programm Autokrypt unterstützen muss. Thunderbird bzw. Enigmail und K9 Mail (Android) planen dies bzw. haben es bereits integriert. Damit sind zwei wichtige Mitspieler dabei, aber es fehlen mit Microsoft Outlook und Apple Mail die großen Konkurrenten. Eine sehr kurze Liste der unterstützten Programme findet sich auf der Homepage von Autocrypt.

Letztlich ist dies die letzte Chance Verschlüsselung für das System E-Mail handhabbar zu machen. Bis auf weiteres ist jeder Messenger sicherer und einfacher zu handhaben als verschlüsselte E-Mail Kommunikation. Angesichts der hohen Hürden und des zersplitterten E-Mail-Client-Markts bzw. der hohen Verbreitung von Webclients ist ein gehöriges Maß an Skepsis jedoch angebracht.

Bild: © fotodo / Fotolia.com

Die Situation im Jahr 2013 - dem Jahr in dem Edward Snowden die bisher größte globale Überwachungs- und Spionageaffäre ausgelöste - war hinsichtlich Datenschutz und -sicherheit äußerst unbefriedigend. Nicht nur, weil die Geheimdienste hemmungslos Daten abschöpften, sondern auch weil die Dienstanbieter es weitestgehend zuließen. Damit ist nicht nur die bereitwillige Kooperation gemeint, sondern auch die verbreitete technische Unzulänglichkeit der damaligen Infrastruktur. Verschlüsselte Text- und Videokommunikation war die Ausnahme, ebenso wie HTTPS und weitere Sicherheitsmaßnahmen. Sicherheit hatte schlicht kaum jemanden interessiert.

In diesen Bereichen hat sich seitdem viel getan. Eventuell ist das die größte Leistung der NSA-Veröffentlichungen. Bis dahin war Überwachung ein abstraktes Risiko, dessen reale Existenz vor allem Nerdgruppen interessierte. Seitdem zweifelt niemand mehr die real existierende, massenhafte Überwachung von Bürgern westlicher freiheitlicher Gesellschaften durch ihre eigenen Sicherheitsinstitutionen an.

Direkt nach dem Aufkommen der Affäre forderten Portale wie PRISM-Break eine verstärkte Hinwendung zu Open Source als einzig Lösung der Überwachungsproblematik. Diese Sichtweise fand sich aber auch in den Mainstream-Medien wie bei ZEIT ONLINE. Ursächlich dafür war mutmaßlich, dass bis dahin nur diese Szene den Themen Überwachung und Verschlüsselung hinreichend Aufmerksamkeit geschenkt hatte und daher technisch vorbereitet war.

Seit bekanntwerden der großen Programme wie PRISM oder Tempora haben jedoch auch viele Institutionen, IT-Firmen und Dienstanbieter in die Sicherheit investiert - eben weil dies von den Kunden und Anwendern zunehmend nachgefragt wird. Dazu gehören sowohl Initiativen zur verbesserten Sicherheit in der allgemeinen Infrastruktur des Internets, was vor allem auf Dienstanbieterseite erfolgen kann, wie auch die Absicherung großer bekannter Dienste selbst.

Initiativen wie Let's Encrypt, offizieller Start im Jahr 2015, haben sich zum Ziel gesetzt verschlüsselte HTTPS Verbindungen im Internet zum Normalfall zu machen - eine bisher sehr erfolgversprechend verlaufende Aktion. Die großen E-Mail Dienstleister in Deutschland haben mit ihrer Kampagne "E-Mail made in Germany" bei aller Kritik auch einige Maßnahmen umgesetzt von denen nun Millionen Kunden profitieren. Dazu gehören z.B. eine verschlüsselte Datenübertragung bzw. Transportverschlüsselung.

Im Bereich der verbreiteten Dienste hat die standardmäßige Verschlüsselung von Nachrichten des Dienstanbieters WhatsApp sicherlich die größten Sicherheitsgewinne für die digital tätige Menschheit gebracht. Eine Milliarde Menschen nutzen den Dienst täglich, dagegen sieht jeder Konkurrent ziemlich klein aus. Der Skype-Besitzer Microsoft scheint nun unter Zugzwang geraten zu sein und experimentiert ebenfalls mit einer Verschlüsselung für seinen - bisher als unsicher geltenden - Messenger. Das gleiche gilt auch für den Facebook Messenger seit 2016. Neben der Kommunikation ist die verbreitete Nutzung von Cloudspeichern ein verbreitetes Sicherheitsproblem. Verschlüsselung von Daten ist der Cloud ist jedoch erst ein Thema seit das Start-Up Boxcryptor dies massentauglich gemacht hat.

Im Bereich der Betriebssysteme hat die standardmäßige Verfügbarkeit einer sicheren und einfach einzusetzenden Vollverschlüsselung, sowohl im mobilen, wie auch im klassischen Desktopbereich die Datensicherheit deutlich verbessert. Die Verschlüsselung des iPhones ist sogar schon ein bisschen älter als die Überwachungsaffäre, ist jedoch seitdem durch einen verlängerten PIN deutlich sicherer geworden. Google wiederum entwickelte eine transparente Verschlüsselung für das Linux-Dateisystem ext4, die für Android zum tragen kommt und unhandliche Lösungen auf LUKS-Basis ablöst. Im Desktopbereich verbessert Apple kontinuierlich seine FileVault-Lösung, zuletzt mit einer nativen Verschlüsselung von APFS (siehe: macOS mit FileVault verschlüsseln), während Microsoft BitLocker nun bereits im Rahmen einer Pro-Lizenz zugänglich macht.

Die Open Source-Szene rezipiert diese Entwicklung kaum, das gleiche gilt für engagierte Datenschützer, die weiterhin Open Source als heiligen Gral des Datenschutzes predigen. Immer wieder wird hervorgehoben, dass nur Open Source vollständige Sicherheit biete und auf freie Alternativen zu den bisherigen Diensten hingewiesen. XMPP mit OTR, OpenPGP für Mails, Linux mit LUKS sind die Schlagworte, die man verbreitet. Alles Lösungen und Dienste, deren Komfort sich seit 2013 nicht im mindesten verbessert hat und woran scheinbar auch niemand arbeitet. Viele Linux-Distributionen sind von Haus aus unsicherer als ihre proprietären Pendants - wenngleich natürlich die Freiheit zu mehr Sicherheit besteht. Hinzu kommt das unablässige propagieren irgendwelcher Nischen-Dienste ohne nennenswerte Reichweite. Hinzu kommt eine schon fast krankhafte Affinität zu Open Source Diensten, selbst wenn diese unsicherer sind als ihre proprietären Gegenstücke - der verbreitete Einsatz von Telegram im Open Source-Bereich sei hier beispielhaft gennant.

Natürlich ist unstrittig, dass nur ein offener Quellcode Schutz vor versteckten Hintertüren und ähnlichem bietet. Viele der oben genannten Dienste sind zudem hinsichtlich des Datenschutzes problematisch, selbst wenn sie die eigentliche Kommunikation adäquat schützen. Hinzu kommt, dass viele der genannten Dienste auf Open Source Bausteine wie z.B. das Signal-Protokoll oder EncFS zurückgreifen um eben jene Sicherheitsfunktionen umzusetzen.

Trotzdem täte die vernetzte Open Source und Datenschutz-Szene gut daran anzuerkennen, dass die großen IT-Konzerne und ihre proprietären Dienste mehr für Datenschutz und -sicherheit der Internetanwender getan haben, als die hunderten kleinen Open Source Initiativen, die  überall als reine Lehre angepriesen werden. Viele dieser Projekte sind schlicht gescheitert und ihr Bewerben führt letztlich bei den Menschen zu frustrierter Abkehr von Datenschutzbemühungen insgesamt. Open Source wird in diesem Bereich überbewertet, man kann sich auch mit proprietären Diensten - wenngleich natürlich nicht mehr jedem - gut schützen. Man sollte nur nicht aufhören zu hinterfragen.

20. Januar 2018

Die dritte Woche des Jahres war geprägt vom Sturmtief Friederike und einigen Releases in der OSS-Welt.

Wochengeschehen

Top-Thema: Wine 3.0

Recht frisch ist der Release von Wine 3.0. Wine ermöglicht durch die Schaffung eines zusätzlichen Layers Windows-Anwendungen unter Linux auszuführen. Das geht mitunter je nach Anwendung ganz zuverlässig. Am 18. Januar 2018 hat nun das WineHQ-Team den nächsten großen Major-Release verkündet: Wine 3.0. Unter den Neuerungen sind z.B. die Unterstützung von Direct3D 10 und 11, der Direct-Command-Stream, der Android-Grafiktreiber und eine verbesserte DirectWrite- und Direct2D-Unterstützung. Direct3D 12 und Vulkan wurden auf den nächsten Entwicklungszyklus vertagt.

Weitere News

Artikeltipps

Bild von stevepb via pixabay / Lizenz: CC0 Creative Commons

Im kommenden April erscheint die nächste LTS von Ubuntu und seinen Derivaten - Codename "Bionic Beaver". Diese Version wird in vielerlei Hinsicht wichtig für Ubuntu sein. Es ist die erste Version seit dem Ende der Unity- und Ubuntu Touch Entwicklung und der Abkehr von der Idee der Konvergenz. Voraussichtlich beinhaltet 18.04 auch moderne Technologien wie Wayland, die nun erstmals großflächig für Benutzer zur Verfügung steht.

Allerdings ist 18.04 auch für Kubuntu ein wichtiger Schritt. Nach der durchweg schlecht bewerteten letzten LTS muss man beweisen, dass man noch eine große Veröffentlichung zu standen bringt und auch als reines Community-Projekt erfolgreich sein kann.

Vorgeschichte

Die letzte LTS-Veröffentlichung von Kubuntu entstand in einer schwierigen Lage. Nach dem Rückzug der Hauptentwickler ruhte die Last nun auf wenigen ehrenamtlichen Entwicklern (siehe: Kubuntu in der Krise - Ein Statusbericht). Nachdem zeitweilig ein Fortbestand des Projekts fraglich war brachte man mit Mühe und Not die Version 16.04 zu Stande (siehe ausführlich: Kubuntu auf dem Weg zur Version 16.04 LTS & Kubuntu 16.04 LTS - Ein wenig Licht am Ende des Tunnels).

Hinzu kam, dass nicht alle Schwierigkeiten hausgemacht waren. Parallel zu den Verwerfungen bei Kubuntu veröffentlichte das KDE Projekt mit Plasma 5 eine neue Hauptversion.  Diese war anfänglich alles andere als stabil, auch wenn KDE den Distributoren dafür die Schuld geben wollte (siehe: KDE Plasma 5 Teil I: Käfer und Schuldzuweisungen). Erst nachdem die letzte große Distribution mit Plasma als Standard-Desktopumgebung - openSUSE - am bestehenden Entwicklungsmodell Kritik übte, ruderte man bei KDE zurück und veröffentlichte mit Plasma 5.8 die erste LTS-Version der Oberfläche (siehe: Plasma 5.8 LTS und openSUSE Leap - Offenbarungseid für KDE?).

Aktuell steht die nächste Plasma LTS 5.12 kurz vor der Veröffentlichung und wird somit auch rechtzeitig für Kubuntu 18.04 LTS fertig.

Kubuntu 18.04 - Ein Ausblick

Versionen

Kubuntu 18.04 wird somit mit verhältnismäßig aktuellen und ausgereiften Versionen veröffentlicht werden. Aktuell sieht es so aus, als ob Plasma 5.12, KDE Applications 17.08 und KDE Frameworks 5.41 enthalten sein werden. Insbesondere die letzten beiden Versionen sollten noch aktualisiert werden, allerdings haben die Arbeitsprozesse hier bei Kubuntu schon oft an Geschwindigkeit zu Wünschen übrig gelassen. Am 1. März 2018 ist Feature Freeze, bis dahin müssen hier also die Versionsanhebungen vorgenommen sein.

Optische Veränderungen

Plasma ist in den letzten zwei Jahren gereift und auch für den Anwender ändert sich mit Kubuntu 18.04 viel. Standardmäßig kehrt KDE Plasma zum traditionellen Desktop zurück. Anstelle der Plasmoid-basierten Konfiguration gibt es nun wieder klassische Desktopsymbole. Plasmoid lassen sich natürlich trotzdem hinzufügen und auf eine vollständig Plasmoid-basierte Variante kann man ebenso wechseln.

Kubuntu setzt mit 18.04 erstmals standardmäßig das dunkle Plasma-Theme ein. Vermutlich inspiriert durch ähnliche Entwicklungen bei Windows 10.

Ebenfalls neu sind die neuen Systemeinstellungen, die erstmals mit Plasma 5.11 eingeführt wurden.

Standard Programmauswahl

Im Programm-Bereich machen die Kubuntu-Entwickler kaum Experimente. Neben den obligatorischen KDE Programmen wie Kontact für Mails und Organisation, Okular für Dokumentendarstellungen und Gwenview für Bilder findet sich noch LibreOffice und Firefox als plattformübergreifende Standards.

Lediglich im Multimedia-Bereich schien man es leid geworden zu sein auf Entwicklungen bei Amarok & Co zu warten. Künftig kommt für Musik das MPD-Frontend Cantata zum Einsatz und VLC als Allzweckwaffe ist auch an Bord.

Im Kommunikationsbereich hat man sich von Telepathy getrennt, das angesichts der um sich greifenden mobilen Messenger zunehmend an Boden verlor. Konversationen für IRC ist jedoch weiterhin dabei.

Die Systemverwaltung erleichtert zukünftig das klassische Muon Paketverwaltungsprogramm, das deutlich zuverlässiger arbeitet als Plasma Discover. Letzteres ist natürlich trotzdem als KDE-Standard dabei.

Stabilität

Gemessen am Entwicklungsstadium macht Kubuntu 18.04 bereits eine gute Figur. Programm- oder gar Systemabstürze sind nicht zu verzeichnen und die gesamte Programmauswahl macht einen deutlich ausgereifteren Eindruck, als bei 16.04.

Zwischenfazit

Kubuntu 18.04 dürfte ein würdiger Nachfolger für 14.04 werden. Das ist auch dringend notwendig, da kommendes Jahr der Support hierfür endgültig ausläuft und die verbliebenen Anwender nun dringend migrieren müssen. Wer mit der KDE-Entwicklung immer noch unzufrieden ist muss nun endgültig eine Alternative suchen, denn an Plasma 5 führt nun kein Weg mehr vorbei. Stabilitätsprobleme oder funktionale Mängel kann man Plasma 5 aber nicht mehr vorwerfen, von daher sollte einer Migration nun nichts mehr im Weg stehen.

Kubuntu leidet immer noch an Personalengpässen, die langfristige Produktpflege ist - auch wegen der allgemeinen Ubuntu-Richtlinien - immer noch problematisch. Der Release-Zustand muss deshalb bereits so gut wie möglich sein, da Nachbesserungen nur in begrenztem Umfang möglich sind. Momentan kann man dem aber recht optimistisch entgegen sehen.

18. Januar 2018

Firefox zeigt in der Adressleiste neben Einträgen aus der Chronik und den Lesezeichen auch Vorschläge der Standard-Suchmaschine an. Ab Firefox 59 kann der Nutzer bestimmen, ob diese Vorschläge am Anfang oder am Ende angezeigt werden sollen.

Während der Eingabe in die Adressleiste zeigt Firefox eine Reihe von Vorschlägen an. Diese basieren unter anderem auf den bereits besuchten Webseiten sowie den Lesezeichen. Auch zeigt Firefox direkt während der Eingabe Vorschläge der eingestellten Standard-Suchmaschine an, sofern diese Funktion aktiviert ist und die Standard-Suchmaschine des Anwenders diese Funktion unterstützt. Die Vorschläge der Standard-Suchmaschine erscheinen bisher nach allen anderen Ergebnissen.

Dies ändert sich ab Firefox 59; zumindest für Nutzer, welche kein separates Suchfeld aktiviert haben (Standard-Einstellung für neue Nutzer seit Firefox 57). Dann erscheinen die Suchmaschinen-Vorschläge vor allen anderen Ergebnissen. Für Nutzer mit separater Suchleiste ändert sich die Standard-Einstellung nicht.

Mozilla ändert aber nicht nur an der standardmäßigen Position für einen Teil der Nutzer etwas, sondern implementiert gleichzeitig für alle Nutzer eine neue sichtbare Einstellung, welche es dem Anwender erlaubt, ganz einfach selbst auszuwählen, welches Verhalten bevorzugt wird. Die Einstellung befindet sich direkt unterhalb der seit Firefox 57 neuen sichtbaren Einstellung zur Aktivierung respektive Deaktivierung des separaten Suchfelds.

Firefox 59 Suchmaschinen-Einstellungen

Der Beitrag Firefox 59: Neue Einstellung bestimmt Position der Suchmaschinen-Vorschläge erschien zuerst auf soeren-hentzschel.at.

16. Januar 2018

Mit Firefox 57 hat Mozilla die Seite, die beim Öffnen eines neuen Tabs erscheint, ersetzt. In Firefox 59 erweitert Mozilla diese Seite um die Funktion, die Kacheln der wichtigen Seiten per Drag and Drop zu verschieben.

Beim Öffnen eines neuen Tabs erscheint in Firefox standardmäßig eine Seite mit verschiedenen optionalen Funktionen wie einem Suchmaschinen-Feld oder Kacheln wichtiger Seiten. Wichtige Seiten werden auf Basis der Nutzung berechnet, ähnlich wie die Vorschläge in der Adressleiste. Die Kacheln können auch durch eigene Wunsch-Seiten belegt werden.

Tipp: wer gerne weniger oder mehr Kacheln hätte, kann ganz einfach über about:config die Anzahl der Kacheln verändern, indem die Option browser.newtabpage.activity-stream.topSitesCount auf einen beliebigen Wert verändert wird.

Neuer Tab Firefox 59

In Firefox 57 hat Mozilla die Seite, die beim Öffnen eines neuen Tabs erscheint, ersetzt. Die neue Seite sieht optisch ein wenig anders aus und bietet einige Möglichkeiten mehr zur Anpassung als bisher. Auch wurde es einfacher, Kacheln durch eigene Wunsch-Seiten zu ersetzen. Musste zuvor eine Seite umständlich aus den Lesezeichen auf eine der vorhandenen Kacheln verschoben werden, was dazu vielen Nutzern unbekannt war, ist eine Bearbeitung nun wesentlich intuitiver möglich.

Neuer Tab Firefox 59

Eine Funktion ging bei all den Verbesserungen dieser Seite allerdings verloren: es ist nicht länger möglich, die Reihenfolge der Kacheln per Drag and Drop zu verändern. Mit Firefox 59 kehrt diese Funktion zurück. Dann können die Kacheln wieder bequem verschoben werden, falls eine Änderung der Reihenfolge gewünscht ist.

Tipp: wer gerne eine beliebige Webseite, zum Beispiel seine Lieblings-Suchmaschine, als neuen Tab verwenden möchte, kann dies über die Erweiterung New Tab Override bewerkstelligen.

Der Beitrag Firefox 59: Kacheln beim neuen Tab können verschoben werden erschien zuerst auf soeren-hentzschel.at.

Der Aufschrei war zu Recht groß, als Twitter letzte Woche den Account des Satire-Magazins Titanic sperrte. Doch was war geschehen? Alles begann mit einer geschmacklosen Pöbelei in Form eines Twitter-Tweets der reaktionären, radikal-erzkonservativen Herzogin von Oldenburg, der AfD-Politikerin Beatrix von Storch. Der Tweet hatte zu einer ganzen Reihe an Anzeigen geführt. Soweit erst einmal nichts ungewöhnliches. Twitter sperrte daraufhin den Account der rechten Politikerin mit dem Verweis auf „Verstoß gegen Regeln über Hass-Inhalte“ für 12 Stunden.



Die Titanic, zweitgrößte Satirezeitschrift Deutschlands, fing daraufhin an im Namen von von Storch zu twittern, um damit einer „verfolgten Kämpferin für Menschenunrechte Asyl“ zu bieten. Twitter fand dies anscheinend nicht lustig und sperrte den Account der Titanic ebenfalls.
Die Befürchtungen der Kritiker, d.h. u.a. von Journalistenverbänden sowie einzelner Journalisten, den Vereinten Nationen, dem wissenschaftlichen Dienst des Bundestages sowie auch der Sozialen Netzwerke, an dem Netzwerkdurchsetzungsgesetzes (NetzDG) scheinen sich also zu bewahrheiten. Direkt nach der Einführung kommt es zu Fällen von willkürlichen und voreiligen Löschungen von Beiträgen in den sozialen Netzwerken, um möglichen hohen Geldstrafen aus dem Weg zu gehen. Hierbei kann nur von Zensur gesprochen werden, denn alles, was dem aktuellen Mainstream nicht entspricht, könnte ja problematisch sein, wie eben der Beitrag des Satiremagazins. Dass dieses Gesetz eine Gefahr für die Meinungsfreiheit darstellt, haben mittlerweile nicht nur Vertreter der Opposition, sondern sogar schon Mitglieder der bisherigen und bald ja vielleicht auch zukünftigen Bundesregierung verstanden und wollen das Gesetz noch einmal überprüfen. Das NetzDG reiht sich damit ein in eine Reihe ungeeigneter Versuche mit dem Neuland zurecht zu kommen. Leider erfolgt mit diesem Gesetz nicht der erste Angriff auf unsere Grundrechte.

Von der Utopie direkt zur Dystopie?

Die Debatte um das NetzDG und die damit einhergehenden Einschränkungen von grundlegenden Rechten verschleiert allerdings ein weiteres, mindestens ebenso großes Problem: Als das Internet für die Massen nutzbar wurde, kam die Hoffnung auf eine neue Graswurzel-Demokratie auf der Basis des Internets auf. Eine Demokratie, in der die Menschen nicht angewiesen sind auf die Informationen von einigen wenigen Medienkonzernen und betäubt vom Fernsehen, sondern in der sie sich mit Menschen weltweit austauschen können und sich so über Vorgänge und Prozesse informieren können und sich aber auch über das Netz organisieren und verbinden können. Das Aufkommen von Sozialen Netzwerken passte zunächst auch in dieses Bild.

Doch leider kam es anders als erhofft. Unter anderem durch den Netzwerkeffekt kristallisierten sich einige wenige Betreiber Sozialer Netzwerke heraus. Dies sind heute einmal Facebook – mit seinen Netzwerken Facebook, Instagram sowie seinen Messengern WhatsApp und dem Facebook Messenger – sowie Twitter und Google mit seinem Sozialen Netzwerk Google Plus. Wobei Facebook hier eindeutig die meisten Nutzer hat. Für die Nutzer bietet die Fokussierung auf einige wenige Netzwerke zunächst eine ganze Reihe von Vorteilen. Sie können für sich selber oder auch für Organisation ganz einfach Inhalte anbieten und brauchen sich um Darstellung oder Hosting kaum Gedanken machen. Dies führt dazu, dass einige Unternehmen und Organisationen keine eigenen Webseiten mehr bereitstellen, sondern z.B. einfach eine Facebook-Seite erstellen. Als nicht Facebook-Nutzer wird einem immer schnell einer der Nachteile dieses Vorgehens klar: als nicht Facebook-Kunde komme ich nicht an die Inhalte. Allerdings gibt es von diesen Verweigerern ja nicht ganz so viele. Doch auch Kunden dieser Plattformen bekommen nicht unbedingt alle Inhalte und schon gar nicht einfach in einer chronologischen Reihenfolge präsentiert. Die Darstellung der Inhalte wird den Nutzern dabei von dem jeweils eigenen Algorithmus erstellt, der natürlich unter Verschluss steht. Den Nutzern wird dies wenn überhaupt nur bewusst, wenn es wie aktuell Änderungen an diesem gibt. Dass der Algorithmus – und das Sammeln von Daten zur Fütterung desselben – primär das Ziel haben, Geld in die Kassen von Facebook und Co zu spülen, ist für gewinnorientierte Unternehmen selbstverständlich. Umstritten ist, ob und wie stark die Anbieter Sozialer Netzwerke lenkenden Einfluss auf politische Stimmungslagen oder sogar Wahlen nehmen. Was jedoch ebenfalls klar ist, dass mit der erreichten Monopolisierung des Zugangs zu Informationen durch die Fokussierung auf die Sozialen Netzwerke das Gegenteil der erhofften Wirkung des Internets eingetreten ist. Die Hoffnung auf einen Gewinn für die Demokratie hat sich ob der Macht der kommerziellen Sozialen Netzwerke über den politischen Willensbildungsprozess der Bürger zumindest zu Sorgen um die Demokratie gewandelt.

Hoffnung?!

Doch auch diese Sorgen sind nicht neu. Schon früh gab es Bestrebungen, den kommerziellen Netzwerken andere, von der Community betriebene entgegenzusetzen. Auf Diaspora folgten Friendica und GNUSocial. Gemeinsam war diesen Ansätzen jeweils, dass entgegen der zentralen Struktur der kommerziellen Netzwerke eine dezentrale Struktur, ähnlich wie beim Email-System, gewählt wurde. D.h., dass es verschiedene Server gibt, die untereinander kommunizieren und dass ich, wenn ich mit einer Person kommunizieren möchte, nicht nur den Benutzernamen kennen muss, sondern, eben genauso wie bei einer Email, auch den Server bei dem der Nutzer angemeldet ist (Nutzername@Server). Doch leider hatten die genannten Netzwerke noch etwas gemein: trotz einiger Erwähnungen in den Medien schafften sie nicht den Sprung über eine kleine eingeschworene Gemeinschaft hinaus. Dies lag einerseits sicherlich daran, dass die entsprechenden Server relativ schwer aufzusetzen und zu administrieren waren und andererseits auch daran, dass die Netzwerke den Nutzern nicht den gewohnten Komfort baten. So waren wirklich gut funktionierende Apps, die ansehnlich gestaltet waren, Mangelware.

Doch seit 2016 gibt es eine neue Hoffnung: Mastodon.
Mastodon Mascot (Alternative)
Eugen Rochko, Informatikstudent aus Jena, brachte im Jahr 2016 Mastodon, ein Twitter-ähnliches Soziales Netzwerk, als freie Software heraus. Und traf anscheinend relativ schnell, auch aufgrund von Änderungen bei Twitter, die die Nutzer verärgerten, den Nerv der Zeit. Im April des letzten Jahres kam es zu einem solchen Nutzeransturm, dass die Neuanmeldungen bei der größten Instanz mastodon.social zwischenzeitlich gesperrt werden mussten. Mittlerweile hat das Fediverse, d.h. das Netzwerk der Mastodon-Instanzen über eine Millionen registrierte Nutzer. Gegenüber den Platzhirschen Facebook und Twitter natürlich immer noch relativ wenig. Aber die Nutzerzahlen steigen weiter.
Auch gibt es diesmal direkt eine ganze Reihe von Apps. Neben vielen anderen für Android Tusky und für IOS (ich werde diesem Thema und der Nutzung einen eigenen Artikel widmen):

Tusky for Mastodon (Kostenlos, Google Play) →


‎Amaroq for Mastodon (Kostenlos, App Store) →

Mir gefällt der Ansatz und die Realisierung. So sehr, dass ich eine eigene Instanz aufgesetzt habe, bei der jeder, der sich an die Regeln hält, gerne einen Account erstellen kann: mastodonten.de und Mastodon ausprobieren kann. Um eine andere Instanz aus den weit über tausend aktiven Instanzen auszuwählen, nutzt man am besten instances.social.

Und? Wie sieht es bei euch aus? Wie gefällt euch die Idee eines freien Sozialen Netzwerks? Wie gefällt euch Mastodon? Gibt es Dinge die euch stören? Feedback gerne in die Kommentare oder an meinen Mastodon-Account @scroom@mastodonten.de

15. Januar 2018

Mozilla hat heute angekündigt, zukünftige Erweiterungen der Webplattform nur für Webseiten nutzbar zu machen, die in einem sicheren Kontext, das heißt in der Regel HTTPS, genutzt werden. Damit folgt Mozilla seiner initialen Ankündigung, die bereits im Jahr 2015 gemacht worden ist.

Die verschlüsselte Übertragung von Daten im Web gewinnt immer mehr an Bedeutung. Bereits knapp 68 Prozent aller von Firefox-Nutzern geladenen Webseiten werden über HTTPS anstelle von HTTP übertragen. Auch die unter anderem von Mozilla ins Leben gerufene Certificate Authority (CA) Let’s Encrypt, welche kostenlos Zertifikate für die Nutzung von HTTPS bereitstellt, trägt einen großen Anteil daran.

Längst sind bestimmte Features nur noch in einem sogenannten gesicherten Kontext nutzbar. Von einem sicheren Kontext spricht man bei der Verwendung von HTTPS, aber auch verschlüsselte WebSocket-Verbindungen (wss://) sowie lokale Ressourcen (wie http://localhost/ oder file://) werden als sicherer Kontext betrachtet.

Ab sofort erfordern sämtliche kommende Web-Features in Firefox einen sicheren Kontext. Dabei ist es egal, ob es sich um große Features wie WebVR handelt, neue HTTP Response Header oder gar neue CSS-Eigenschaften. Auf der anderen Seite würde eine Erweiterung wie beispielsweise ein neues Farb-Schlüsselwort in CSS vermutlich nicht zwingend einen sicheren Kontext erfordern.

Ausnahmen sind grundsätzlich möglich. Sollten beispielsweise alle anderen Browser ein Feature auch in einem unsicheren Kontext erlauben, kann es sein, dass Firefox aus Kompatibilitätsgründen folgen muss. Eine weitere Ausnahme-Möglichkeit könnte sich dann ergeben, wenn das Erfordern eines sicheren Kontextes die Implementierung nachweislich verkompliziert. Bei diesen Möglichkeiten soll es sich aber um Ausnahmen und nicht die Regel halten. Über den Umgang von Web-Features, welche bereits in einem unsicheren Kontext gestattet sind, aber aus einer Sicherheits-, Privatsphäre oder UX-Perspektive als problematisch gesehen werden, wird von Fall zu Fall entschieden.

Mozillas Ankündigung kommt nicht überraschend. Bereits im Mai 2015 hat Mozilla angekündigt, dass so der langfristige Plan aussehen wird. Dadurch soll die Verschlüsselung von Inhalten zur Verbesserung der Sicherheit sowie Privatsphäre der Nutzer weiter vorangetrieben werden. Dabei handelt es sich selbstverständlich um keinen Alleingang von Mozilla, auch andere Browserhersteller wie Google verfolgen dieses Ziel.

Der Beitrag Firefox: zukünftige Web-Features nur noch über HTTPS erschien zuerst auf soeren-hentzschel.at.

Weltweit wird Open Source Software immer mehr an Schulen verwendet. Ich meine dabei nicht nur den klassischen Informatikunterricht (wenn es ihn denn gibt…), sondern auch außerhalb davon. Es gibt einige sehr gute Open Source Apps, die sich z.B. im Mathe-, Physik- oder Musikunterricht einsetzen lassen. Trotz allem gibt es meiner Erfahrung nach immer noch große Vorbehalte gegenüber Open Source Programmen im Unterricht. Die Gründe dafür sind sehr vielfältig und oft kann ich sie nachvollziehen. Es gibt mittlerweile ein sehr großes Angebot an (Lern-)Software und nur wenige der Anwendungen sind Open Source. Doch es gibt sie. Deshalb möchte ich in den kommenden Monaten verschiedene Open Source Programme und Apps vorstellen, die sehr gut für den Unterricht geeignet sind. Den Anfang macht MuseScore.

Was ist MuseScore?

MuseScore ist ein Notensatzprogramm mit einem WYSIWYG-Editor, das die Wiedergabe der eingegebenen Noten sowie den Import und Export in zahlreiche Dateiformate gestattet. Das Programm läuft unter Linux, Windows und macOS; für Windows gibt es eine portable Version, die ohne Installation etwa von einem USB-Massenspeicher gestartet werden kann. Die Benutzeroberfläche sowie die Eingabemöglichkeiten der Noten ähneln bekannten kostenpflichtigen Notensatzprogrammen wie Finale oder Sibelius. MuseScore ist jedoch Open Source und unter einer GNU General Public License lizenziert. (Wikipedia)

MuseScore ist ein Programm, dass ich jedem Musiklehrer oder Musiker ans Herz lege. Als wir vor einigen Jahren in unserer Schule auf Open Source gewechselt sind, war dieses Programm für unsere Musiklehrkräfte ein echter Gewinn. Mit MuseScore kann man sehr schnell und einfach Noten setzen. Doch MuseScore kann weit mehr.

Features

Es ist kaum möglich alle Features von MuseScore aufzulisten, weil es wirklich sehr viel kann. Hier eine Auswahl:

  • grafische Partitur-Eingabe und -Darstellung (WYSIWYG)
  • beliebige Anzahl von Notenzeilen
  • einfache und schnelle Noteneingabe mit Maus, Tastatur oder via Hardware-MIDI-Anschluss
  • Sequencer und FluidSynth-Softwaresynthesizer integriert
  • Abspielmöglichkeit der Partitur beinhaltet individuelle Einstellmöglichkeiten wie Geschwindigkeit und Lautstärke über ein virtuelles Mischpult
  • Automatische Transposition, beispielsweise mit oder ohne Tonart-Wechsel
  • Einfügen von Bildern in die Partitur
  • Mehrzeiliger Liedtext
  • verschiedene Möglichkeiten zum Datei-Import und -Export
  • und noch vieles vieles mehr!

Installation

MuseScore kann auf der Website des Projekts heruntergeladen werden. Es ist für so ziemlich jedes Betriebssystem und Plattform verfügbar. Wenn man snapd installiert hat (ab Ubuntu 16.04 standardmäßig mit dabei), kann man MuseScore mit folgendem Befehl installieren:

$ sudo snap install musescore

Alternativ kann man es auch aus den Paketquellen oder einem PPA installieren. Die Installation mit snap hat den Vorteil, dass man auch in älteren Ubuntu-Versionen immer die aktuelle Version bekommt ohne ein PPA einzurichten.

Anleitungen und Links

Zu MuseScore gibt es auch ein Handbuch in mehreren Sprachen, u.a. auch in deutsch. Dort werden die wichtigsten Themen, angefangen von der ersten Partitur bis hin zu fortgeschrittenen Themen, wie Griffbrettdiagramme, behandelt. Wenn man sich mal eine kleine Weile mit dem Programm beschäftigt hat, ist man erstaunt, was es alles kann. Allein die Fülle an Instrumenten, die unterstützt werden, sowie die unendlichen Möglichkeiten der Gestaltung der Partitur, sind sehr beeindruckend.

Ich habe versucht ein gutes Tutorial in deutsch zu finden, welches systematisch den Umgang mit Musescore beschreibt, aber ich bin leider nicht fündig geworden. Auf Youtube tummeln sich ein paar Videos in deutscher Sprache zur aktuellen Version, aber sie unterscheiden sich sehr vom Umfang und der Qualität der Aufnahme. Wer der englischen Sprache mächtig ist, wird sicher Gefallen an den offiziellen „MuseScore in Minutes“ finden. (Update: für diese Videos gibt es auch einen deutschen Untertitel!). Diese mehrteilige Videoreihe beschreibt kurz und knapp die wichtigsten Funktionen, sodass man sich danach schon recht gut in MuseScore zurecht findet (bzw. die Schüler).

Diese Programm wird sicher hauptsächlich im Musikunterricht und von Musiklehrkräften bzw. Musikern allgemein eingesetzt werden. Doch weitere Einsatzbereiche sind nicht ausgeschlossen, z.B.

  • Chorgruppen
  • Band-AGs
  • Instrumentenunterricht
  • …

Fazit

MuseScore kann sowohl für die Vorbereitung des eigenen Unterrichts, als auch direkt im Unterricht verwendet werden. Es ist auch möglich vorhandene Partituren anzupassen. Auf der Website des Projekts kann man dazu viele Partituren herunterladen und weiter bearbeiten.

Welche Open Source Apps und Programme verwendest du im Unterricht? Welche Open Source Software sollte unbedingt auf einem Schulcomputer installiert sein?

4 Kommentare

Der Beitrag MuseScore – App des Monats erschien zuerst auf .:zefanjas:..

Gerade auf Reddit gefunden: der beste Weg, um eine Exception zu handlen.

Selbstverständlich für diverse Web-Programmiersprachen adaptierbar.

Hierzu noch einen xkcd:

Etwas weiterentwickelt wurde das Ganze von Gregory Koberger, der (ohne Scherz) eine Seite gebaut hat, in die man ein Array rein wirft, diese dann auf StackOverflow nach Algorithmen sucht, welche dieses sortieren können und dann entsprechend sortiert. Nennt sich „Stacksort“. In Zeiten von Spectre hier natürlich obligatorisch eine Sicherheitswarnung, da die Seite Code via eval() ausführt.

Wer mutig ist, findet hier Stacksort und hier den dazugehörigen Sourcecode.

Ich wünsche euch eine schöne Woche!

14. Januar 2018

Diesmal hatte ich ein kleines Problem das auch mal leicht zu lösen war:
Eine Reihe von MP3 Dateien sollen das gleiche Lautstärke-Level am MP3 Player haben.

Ich habe mich für das Programm “normalize-audio” entschieden, das bei
Ubuntu direkt in den Paketquellen steckt. Mittels apt-get install normalize-audio
ist das Programm schnell installiert. Im Batchmodus kann man per Wildcard alle mp3
Dateien auf einmal normalisieren.

normalize-audio -b /musik/*.mp3

Mit diesem Befehl werden alle mp3 Dateien auf ein Lautstärkelevel gebracht.

Foto: © Scanrail / Fotolia.com

Das Passwortverwaltungswerkzeug Enpass hat kürzlich die Version 5.6.3 für den Desktop veröffentlicht. Die unspektakuläre Versionsnummer verbirgt eine nützliche neue Funktion: Eine verbesserte Verwaltung von TOTP-Tokens.

Enpass ist bei mir bereits seit längerem das Passwortverwaltungsprogramm der Wahl (siehe: Enpass - Ein Passwortmanager für alle Systeme). Ursprünglich nutzte ich KeePass in seinen diversen Variationen. Die zersplitterte Entwicklungslandschaft und konservative Tendenz des Hauptprogramms führten jedoch dazu, dass sich meine Ansprüche immer weiter von den Möglichkeiten der Software entfernte.

Besonders gut an Enpass gefällt mir bis heute die Möglichkeit der Synchronisation über einen lokalen Webdav-Server in den heimischen vier Wänden. Das ist die ideale Kombination aus einer Synchronisationsmöglichkeit und der Hoheit über die eigenen Daten.

Enpass kann - ähnlich wie moderne KeePass-Varianten - bereits seit langem mit TOTP-Tokens umgehen. Das ist sehr praktisch, weil diese Form der Authentifizierung immer weiter um sich greift.

Bisher konnte man im Browser (ein entsprechendes Plugin vorausgesetzt) zwar die Anmeldedaten per Tastenkombination eintragen, musste jedoch den TOTP-Schlüssel immer noch manuell nachtragen. Nun kann man in den Einstellungen festlegen, dass der TOTP-Token nach der Übertragung der Anmeldedaten automatisch in der Zwischenablage abgelegt wird und sich unkompliziert per STRG+V einfügen lässt.

Kleine Funktion, großer Komfortgewinn.

13. Januar 2018

Nachdem in der letzten Woche zwei Sicherheitslücken die Nachrichtenwelt in Atem gehalten haben, kam diese Woche wieder etwas mehr Ruhe rein. Der erste Hype ist durch, von den Hauptseiten der großen Nachrichtenportale ist das Thema verdrängt und es geht wieder um Themen wie Sondierungsgespräche oder Tempo 80 auf Landstraßen. In der Tech-Welt hat diese Woche die Consumer Electronics Show (CES) für viele Meldungen gesorgt, u.a. mussten dort Spectre und Meltdown angesprochen werden.

Die beiden Lücken ziehen das „Übliche“ hinter sich: Klagen, Patches, Probleme durch Patches und Viren in ‚Patches‘ von Fake-BSI-Mails.

Meltdown und Spectre im Augenwinkel möchte ich aber heute andere Themen in den Vordergrund stellen.

Wochengeschehen

Top-Thema: Überraschung im Doppelpack

Vorgestern meldete sich mein Piwik und wollte auf Version 3.3 geupdatet werden. Nach dem Update staunte ich nicht schlecht, als mich Matomo statt Piwik begrüßte. Ja, die haben sich umbenannt. Gründe waren unter anderem Namens- bzw. Markenrechte. Matomo soll auch im Japanischen für „Ehrlichkeit“ stehen. Seeseekey hat bereits darüber gebloggt. SCNR: wenn sich natürlich Piwik umbenennt und die Admins das auch in ihren URL-Pfaden irgendwann tun, greifen doch auch nicht mehr unbedingt die Anti-Tracking-Tools mit ihren Mustern, oder?

Könnt ihr euch noch an SourceForge erinnern? Vor über 8 Jahren war es DIE Plattform für Open Source-Projekte, auch ich hatte damit viel zu tun gehabt und SF gerne genutzt zu einer Zeit, als SVN noch als cool galt und die Bitcoin Blockchain nur wenige MByte groß war. Ab 2013 gab es dann jedoch einige Pannen und der Siegeszug von GitHub war nicht mehr aufzuhalten. Um nicht komplett zu einer typischen Downloadhölle zu verkommen, wurde nun nach der Übernahme durch BIZX, LLC das Design orange und runderneuert. Und was führt man ein, um wieder richtig Community- und Developer-friendly zu werden? Genau, einen prominent in der Navbar platzierten Speedtest!

Aber mal im Ernst: ich empfinde die Designänderung als gute Erfrischung, sehe aber eines der größten Probleme von SF in der überdimensionierten Werbung. Würde ich nichts von der Änderung vorher gelesen haben, hätte ich bei der nächsten Nutzung gedacht, auf einer Domainparkingseite gelandet zu sein. Werbung soll zwar für die angemeldeten Benutzer ausgeblendet werden (hab es noch nicht getestet), aber eine große Zielgruppe sind auch die Endanwender, für die meiner Meinung nach mit das Portal schön aufbereitet war. Im alten Design machte es noch wirklich Spaß, neue Software zu entdecken. Heute ist es quasi eine Challenge, den richtigen Downloadbutton zu finden.

Weitere Themen

Artikeltipps

Epilog

Wie immer freue ich mich über Feedback und Einsendungen, gerne per Mail oder Jabber. Schönes Wochenende!