staging.inyokaproject.org

6. Dezember 2017

Mozilla ist vorzeitig aus seinem Suchmaschinen-Vertrag mit Yahoo! ausgestiegen. Eine entsprechende Klausel hatte Mozilla dazu berechtigt. Der neue Yahoo!-Eigentümer Verizon / Oath sieht dies anders und verklagt Mozilla wegen Vertragsbruch. Mozilla kontert darauf mit einer Gegenklage und fordert Zahlungen von Oath im hohen Millionenbereich ein.

2014: Der Beginn einer Partnerschaft

Über viele Jahre war Google die Standard-Suchmaschine in Firefox. Im November 2014 hat Mozilla die Zusammenarbeit mit Google beendet, um zukünftig statt einer globalen Standard-Suchmaschine regionale Vereinbarungen treffen zu können. Dabei wurde Yahoo! zur Standard-Suchmaschine in den USA und zum wichtigsten Geldgeber von Mozilla.

Dies sah zunächst nach dem Beginn einer wunderbaren Partnerschaft aus. Yahoo! verpflichtete sich, für Firefox-Nutzer zukünftig den Do-not-Track-Header zu respektieren, um Firefox-Nutzer nicht zu tracken, Yahoo! bewarb Firefox auf seiner Webseite für Nutzer anderer Browser und auf dem Markt der Suchmaschinen hat Yahoo! dank Firefox Marktanteile gewonnen.

Auch finanziell war dies ein lohnenswertes Geschäft für Mozilla: im Jahr 2015 und damit im ersten Jahr nach Google konnte Mozilla seinen Umsatz, auch dank Yahoo!, um 90 Millionen Dollar steigern.

2016: Ungewöhnliche Vertragsklausel und Übernahme von Yahoo!

Im Juli 2016 wurde bekannt, dass der Vertrag zwischen Mozilla und Yahoo! eine ungewöhnliche Klausel beinhaltet: demnach dürfe Mozilla aus dem Vertrag mit Yahoo! vorzeitig aussteigen, wenn Yahoo! durch ein anderes Unternehmen übernommen wird und Mozilla der neue Eigentümer nicht zusagt. Der neue Eigentümer verpflichte sich gleichzeitig auch bei einem Ausstieg Mozillas, die Zahlungen bis zum vereinbarten Vertragsende zu leisten. Dabei handele sich um die stolze Summe von 375 Millionen Dollar pro Jahr.

Im gleichen Monat wurde die Übernahme von Yahoo! durch Verizon bekannt gegeben. Yahoo! wird seitdem unter der Verizon-Tochtergesellschaft Oath betrieben, zu der auch AOL gehört.

2017: Mozilla beendet Vertrag mit Yahoo! vorzeitig

Ein weiteres Jahr hat es gedauert, bis Mozilla dann schließlich tatsächlich den Vertrag vorzeitig gekündigt und Google wieder zur Standard-Suchmaschine in den Ländern gemacht hat, in denen Yahoo! zuvor die Standard-Suchmaschine war. Auch der neue Eigentümer Verizon äußerte sich umgehend überrascht über die vorzeitige Beendigung des Kontraktes zwei Jahre vor Ablauf.

Yahoo Holdings / Oath verklagt Mozilla

Am 1. Dezember 2017 hat Yahoo Holdings / Oath Klage gegen Mozilla eingereicht. Der Vorwurf: Vertragsbruch. Man sehe den vorzeitigen Ausstieg aus dem Vertrag als nicht gerechtfertigt.

Mozilla klagt zurück und fordert Millionen-Betrag ein

Nur wenige Tage später, am 5. Dezember 2017, hat Mozilla Gegenklage eingereicht, um die Durchsetzung seiner Rechte sicherzustellen. Konkret bedeutet dies, dass Mozilla die vorzeitige Terminierung des Vertrages für korrekt hält und auf die Zahlungen besteht, welche Mozilla laut Klausel zustehen sollen, obwohl Yahoo! nicht länger die Standard-Suchmaschine von Firefox in den USA ist.

Mozilla begründet seinen vorzeitigen Ausstieg damit, dass es dem Ansehen der Firefox-Marke schaden würde, weiterhin auf Yahoo! als Standard-Suchmaschine zu setzen, da man nicht den vertraglich zugesicherten Anspruch erfüllt hätte, eine qualitativ hochwertige Suche bereitzustellen. Mozilla sei mit Yahoo! ein hohes Risiko eingegangen und Yahoo! hätte bei Vertragsschluss zugesichert, finanzielle Mittel zu investieren, um die Suchmaschine zu verbessern, was nach Angaben von Mozilla aber nie passiert ist. Mozilla habe nach dem Verkauf von Yahoo! mehrere Monate lang versucht, Zusicherungen vom neuen Eigentümer zur Verbesserung der Suche zu erhalten, diese aber nicht bekommen. Mozilla wirft Yahoo! außerdem vor, dass wenn die Vereinbarung nicht gebrochen worden wäre, Firefox weniger Nutzer verloren hätte, weswegen sie nun in Verhandlungen für neue Partner weniger Geld verlangen können. Auch sei eine zum 1. Dezember 2017 fällige Zahlung, also nach der Kündigung des Vertrags, seitens Yahoo! nicht geleistet worden.

Der Beitrag Yahoo Holdings / Oath und Mozilla verklagen sich gegenseitig erschien zuerst auf soeren-hentzschel.at.

4. Dezember 2017

Ein Feature von Linuxmuster.net ist der zentrale Druckserver. Druckaufträge werden zentral von einem Druckserver (CUPS) entgegengenommen und dann an den entsprechenden Drucker verteilt. Auf den Ubuntu-Clients in unserer Schule werden diese Netzwerkdrucker automatisch erkannt und eingerichtet. In der Schulkonsole kann man, wenn man möchte, noch festlegen, wer von welchem Raum aus auf welchem Drucker drucken darf.

Windows und Ubuntu

Unter Windows 7/10 können die Netzwerkdrucker einfach über das HTTP Protokoll eingebunden werden. Wenn ich z.B. einen Drucker in CUPS (https://Server-IP:631) mit dem Namen b1-black eingerichtet habe, kann ich ihn unter Ubuntu oder auch Windows mit folgender Adresse hinzufügen:

http://Server-IP:631/printers/b1-black

Als Treiber reicht in der Regel der „Generic Postscript“ bzw. „MS Publisher Color Printer“ Treiber. Möchte man allerdings druckerspezifische Eigenschaften nutzen, sollte man den Treiber des Herstellers für den Drucker installieren.

macOS

Unter macOS hat das Hinzufügen über diese URL nicht immer zuverlässig funktioniert, obwohl macOS ebenfalls CUPS für die Verwaltung von Druckern verwendet. Standardmäßig kann man nur IPP und nicht HTTP als Druckprotokoll im „Drucker hinzufügen“-Dialog unter macOS auswählen.

Drucker macOS

Folgende Angaben sind nötig:

  • Address: Server-IP:631
  • Protocol: IPP
  • Queue: /printers/b1-black

Unten kann dann noch ein Name für den Drucker vergeben werden. MacOS ermittelt automatisch einen passenden Treiber. Bei einem unserer Netzwerkdrucker hat nur der Generic PCL Treiber funktioniert (statt des Postskript-Treibers).

Falls die Fehlermeldung „Der Drucker in Ihrem Netzwerk konnte nicht überprüft werden.“ kommt, sollte man schauen, ob die Adresse des Servers stimmt bzw. der DNS-Name richtig aufgelöst wird.

CUPS Webinterface

in macOS ist das CUPS Webinterface standardmäßig deaktiviert, d.h. wenn man versucht auf CUPS mit http://localhost:631 zuzugreifen, man den Hinweis bekommt, folgendes in das Terminal einzugeben:

sudo cupsctl WebInterface=yes

Nun sollte der Zugriff klappen. Im CUPS Webinterface können Netzwerkdrucker auch über andere Protokolle wie z.B. HTTP oder HTTPS hinzugefügt werden.

Drucken aus dem WLAN

Damit das Drucken auch aus dem WLAN oder aus einem anderen IP-Subnet klappt, muss man den Port 631 (TCP), Zieladresse Server-IP im jeweiligen Subnet freigeben.

Kommentar hinzufügen

Der Beitrag Drucker unter macOS in Linuxmuster hinzufügen erschien zuerst auf .:zefanjas:..

Ist jetzt keine große Sache, dennoch möchte ich zu (selbst)dokumentarischen Zwecken aufschreiben, welche Einstellungen notwendig sind, um ein bequemes und komfortables Arbeiten zu ermöglichen.

Vorweg gesagt, man kann natürlich mit Hilfe von wine auch die mitgelieferte GCB@Syn IDE benutzen.

Bei mir allerdings führte das zu einer erheblichen (Faktor 10-11) längeren Compile- und Flashzeit. Da ich sowieso nicht der wine Fan bin, habe ich mir mit Geany, der Universal IDE smile eine Möglichkeit geschaffen. (Nachtrag; vermutlich einer der Gründe ist, dass die GCB@SYN IDE mehrere Tools über die Command.com Schnittstelle auffruft, auch native Windows hat da Performance Einbußen)

Damit beim Laden eines Great Cow BASIC Programmes das Syntax Hilighting aktiviert wird, wie hier gezeigt den Freebasic Eintrag ergänzen. Zur Info, die Syntax von Freebasic ist praktisch identisch zu der von Great Cow BASIC, nur die Spezial Befehle, wie z.B. #chip werden nicht hervorgehoben, aber das kann ich verschmerzen.

 

 

 

 

 

Damit man mit F8 und F9 direkt das Compilieren und Flashen lostreten kann, sind die folgenden Einträge notwendig. Bitte beachten, dass eine *.gcb Datei geladen ist und der Tab auch aktiv ist, denn Geany hat für jeden Datei Typ unterschiedliche Werkzeuge.

Die Dritte Zeile hatte ich als ersten Ansatz, hier musste ich immer den PIC Typ anpassen, was nerven kann, wenn man mit zwei oder mehr verschieden Modellen arbeiten will.

Das im Screenshot genannte Programm test-flash.sh habe ich gestrickt, um die #chip Zeile zu finden und dem Java Programm den PIC Typ mitzugeben. Es ist noch in einem experimentellen Stadium, scheint aber einigermassen zu funktionieren. Fehlerhinweisen werde ich natürlich möglichst zeitnah nachgehen.

Ein dritter, nicht ganz so kritischer Punkt ist das reformatieren vom Quellcode. Dafür bietet Geany eine universelle Schnittstelle nämlich das senden einer Auswahl an ein externes Programm. Ich habe mich für FBeauty entschieden. Es ist ein in Freebasic geschriebenes Programm, welches das reformatieren durchführt. Da der FreeBasic Compiler ohnehin installiert werden muss um den nativen Great Cow BASIC Compiler zu compilieren, ist der ohnehin vorhanden, also wirklich kein Ding.

 

Hier der Quelltext von test-flash.sh

# to set the correct Path to ipecmd.jar execute the following line:
# find /opt -name ipecmd.jar
# this will print out one or more lines, choose the one you want use
# and edit the next line
IPECMD="/opt/microchip/mplabx/v4.05/mplab_ipe/ipecmd.jar"
# simple test for Typo
if [ -e "$IPECMD" ]
then 
	# finding the filename
	BASENAME="$(basename $1)"
	GCBNAME="$(echo $BASENAME|cut -f1 -d.)"
	#echo "Basic Source=$GCBNAME.gcb"
	BASICFILE="$(dirname $1)/$GCBNAME.gcb"
	CHIPLINE="$(grep -i '#chip ' $BASICFILE)"
	TARGET="$(echo $CHIPLINE|sed 's/#chip//I' |sed 's/ \+//g'|cut -d, -f1)"
	echo "Flashing Target:$TARGET"
	echo "using java -jar $IPECMD -TPPK3 -P$TARGET -M -F\"$1\""
	java -jar $IPECMD -TPPK3 -P$TARGET -M -F"$1"
else
	echo "$IPECMD was not found"
fi

test-flash.sh (oder unter einem besser passenden namen) an eine beliebige Stelle kopieren, ausführbar machen und den Pfad wie oben gezeigt in Geany eintragen.

Wer das IPECMD in einer anderen Version und oder an einer anderen Stelle installiert hat, muß die erste Zeile natürlich anpassen.

 

3. Dezember 2017

Mozilla hat Firefox 57.0.1 und damit das erste Update außer der Reihe für Firefox 57 veröffentlicht. Damit werden diverse Probleme der Vorgängerversion behoben.

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

Mit Firefox 57.0.1 umgeht Mozilla ein Problem, von welchem manche Nutzer einer AMD-Grafikkarte mit veraltetem Treiber betroffen waren. Dadurch konnte es bei der Darstellung von Videos, unter anderem auf YouTube, zu Farbproblemen kommen. Ebenfalls ein Problem in Zusammenhang mit einer Grafikkarte war eine mögliche Absturzursache bei Verwendung von Google Maps auf Apple macOS, wenn Intel HD Graphics 3000 als Grafiklösung zum Einsatz kam.

Eine Bibliothek des Real Players konnte durch Injizierung in den Firefox-Code Performance-Probleme in Firefox verursachen. Dies unterbindet Firefox nun, so dass der Real Player keine Performance-Probleme in Firefox mehr verursachen sollte. Ebenfalls nicht mehr auftreten sollte ein Problem, welches für Nutzer von Apple macOS mit installierter Font Agent Pro-Software und aktiviertem Sandboxing in Firefox dafür sorgte, dass Schrift nicht mehr korrekt dargestellt wurde.

Zu den weiteren behobenen Problemen gehört, dass es zu einer Situation kommen konnte, in der weder die Einstellungen noch das Info-Fenster von Firefox geöffnet werden konnten, und ein Fehler im Thumbnailing-Code des sogenannten Activity Streams konnte auf Video-Portalen für eine erhöhte Fehlerrate sorgen, was auf Nutzerseite in Einzelfällen für eine erhöhte CPU-Auslastung sorgte.

Außerdem wurde das Problem behoben, dass sich Firefox geänderte Einstellungen nicht gemerkt hat, wenn der Pfad zum Profilverzeichnis ein Nicht-ASCII-Zeichen beinhaltete.

Nach dem Update auf Firefox 57.0.1 setzt Firefox die aktive Suchmaschine auf den Standard zurück, wenn diese aus einer unbekannten Quelle stammt. Dies kann bedeuten, dass die Suchmaschine vor Firefox 45 installiert worden ist oder durch eine Legacy-Erweiterung oder durch Malware. Ansonsten fragt Firefox bei einer Standard-Suchmaschine, welche nicht mit Firefox ausgeliefert wird, ob die eingstellte Suchmaschine auf den Standard zurückgesetzt werden soll. Dabei handelt es sich um eine einmalige Säuberungs-Aktion, um möglicherweise vom Nutzer nicht erwünschte Suchmaschinen wieder zu ersetzen. Außerdem importiert Firefox bei einem Update nun nicht länger Suchmaschinen-Metadaten aus der Datei search-metadata.json, falls vorhanden, welche Firefox seit Version 45 nicht mehr nutzt.

Dazu kommen noch weitere Stabilitätsverbesserungen, Bugfixes für die in Firefox 57 neu eingeführte CSS-Engine Stylo sowie Sicherheits-Fixes.

Auch Firefox für Android wurde auf die Version 57.0.1 aktualisiert.

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

2. Dezember 2017

Mozilla hat seinen Finanzbericht für das Jahr 2016 veröffentlicht und steht demnach weiterhin finanziell auf sehr gesunden Füßen. Mozillas Umsätze im Jahr 2016 sind gegenüber dem Vorjahr noch einmal deutlich, nämlich um 24 Prozent, gestiegen, Mozillas Vermögen ist um knapp 100 Millionen Dollar gewachsen.

Wie jedes Jahr am Jahresende hat Mozilla auch in diesem Jahr seinen Finanzbericht für das Vorjahr veröffentlicht, welcher offenlegt, in welcher Höhe Mozilla Einnahmen und Ausgaben hatte.

Mozilla konnte seinen Umsatz im vergangenen Jahr von über 421 Millionen im Vorjahr auf mehr als 520 Millionen Dollar steigern, was einer Steigerung von fast 24 Prozent entspricht. Der Großteil kommt dabei von Partnerschaften mit Suchmaschinen, von denen Yahoo! wie auch noch in diesem Jahr den größten Geldgeber darstellt. In Zukunft wird dies wieder Google sein, nachdem Mozilla den Vertrag mit Yahoo! vorzeitig beendet hat.

Mozilla Umsatz 2016
Grafik: cnet

Demgegenüber stehen auf der Ausgaben-Seite etwas mehr als 360 Millionen Dollar, verglichen mit knapp 338 Millionen Dollar im Vorjahr, was einer Steigerung von beinahe sieben Prozent entspricht. Knapp 226 Millionen Dollar davon sind Budget für die Produktentwicklung, unter anderem von Firefox (2015: knapp über 214 Millionen Dollar). In 2016 startete die Entwicklung von Firefox Quantum, dem größten Firefox-Release aller Zeiten. Ebenfalls die Browser für Android und iOS wurden stark verbessert und mit Firefox Klar hat Mozilla ein ganz neues Browser-Produkt für Smartphones mit besonderem Augenmerk auf Privatsphäre eingeführt. Dazu kamen die Einführung von Test Pilot, aus dem Projekte wie Firefox Screenshots (derzeit ca. 16 Millionen Screenshots pro Monat; integriert seit Firefox 56) und der Activity Stream (seit Firefox 57) hervorgingen. Die Webplattform wurde durch Technologien wie WebAssembly, WebGL2 und WebVR verbessert und auch mit der Implementierung von AV1, dem neuen Video-Codec der Open Media Alliance, wurden Fortschritte erzielt. Die Partnerschaft mit Read it Later, dem Entwickler von Pocket, wurde 2016 intensiviert, Anfang 2017 wurde Read it Later inklusive seiner 30 Mitarbeiter schließlich von Mozilla gekauft. In 2016 hat Mozilla außerdem in die in Deutschland sitzende Cliqz GmbH investiert, um die Entwicklung innovativer Produkte im Bereich Datenschutz bei der Suche im Internet voranzutreiben.

Mozillas Nettovermögen ist von etwas mehr als 323 Millionen auf über 426 Millionen Dollar gewachsen.

Der Beitrag Mozilla wächst weiter: Umsatz 2016 um 24 Prozent gestiegen erschien zuerst auf soeren-hentzschel.at.

Bild von TeroVesalainen via pixabay / Lizenz: CC0 Public Domain

2017 endete endgültig eines der interessantes Projekte im Bereich Open Source: Der Versuch die Verwaltung einer deutschen Großstadt nahezu komplett auf freie Software umzustellen. Das Projekt interessierte die Technikgemeinde aber immer überproportional, verglichen mit der medial greifbaren gesamten deutsche Öffentlichkeit. Während es in den Fachmedien zahllose Artikel gibt, sind in überregionalen Magazinen und Tageszeitungen fast keine Berichte aufzufinden. Diese verzerrte Berichterstattung führte zwangsläufig auch zu einer einseitigen Perspektive auf das Projekt.

Grundsätzlich ist natürlich festzuhalten, dass der Einsatz von Open Source in der Verwaltung begrüßenswert ist und ausgebaut werden sollte. Die Abhängigkeit von einem einzigen Softwareunternehmen ist immer bedenklich. Noch problematischer wird dies, wenn dieses eine Unternehmen sein Geschäftsmodell modifiziert und anfängt in größerem Umfang Daten der Anwender zu erheben. Das ist kein abstraktes Szenario sondern mit dem nahenden Supportende von Windows 7 Realität. Der Einsatz von Windows 10 als Client in Wirtschaft und Verwaltung erfordert größere Anpassungen, auch wenn manche Datenschutzbeauftragte keine allzu großen Bedenken haben.

Hinzu kommt die absehbare Entwicklung hin zu einem noch massiveren Einsatz von Clouddiensten, inklusive des inhärenten Datenabflusses. Vor dieser Entwicklung sollte man sich vorausschauend schützen und nicht erst wenn Desktopclients ohne Onlinezwang endgültig ein Auslaufmodell sind.

Der Einsatz von Open Source ist jedoch auch kein Selbstzweck. Die Software soll der Verwaltung dienen und nicht umgekehrt. Insbesondere dieser Punkt ist in der öffentlichen LiMux Debatte ins Hintertreffen geraten. Das legt auch daran, dass die Erwartungshaltung divergierte.

Die Open Source Gemeinschaft hoffte zumindest implizit von LiMUx zu profitieren. Codeverbesserungen und Neuentwicklungen sollten mittelfristig zurückfließen und durch Nachahmer in der Verwaltung anderer Städte langfristig die Akzeptanz offener Standards in der Verwaltung steigen. Die Idee, dass der professionelle Einsatz Software für die Allgemeinheit verbessern soll ist grundlegend für die Open Source Entwicklung und auch kein wirkliches Problem. Problematisch ist jedoch, dass die Gemeinschaft in der medialen Debatte gerne vergessen hat, wem LiMux primär dienen sollte. Nämlich der Verwaltung Münchens und damit den Bürgern der Stadt.

Hinzu kam immer ein zweiter Punkt. LiMux war ein primär aus Kostengründen gestartetes Projekt. Die Stadt wollte durch den Umstieg auf freie Software Hardware- und Lizenzkosten einsparen. Besonders diesen Punkt befeuerte die Gemeinschaft kräftig und noch heute dominiert er die Kommentarspalten. Die FSFE hat dies schlussendlich als Fehler begriffen, denn freie Software spart kein Geld! Auch Linux braucht moderne Hardware um gut zu funktionieren und will entwickelt werden. Der mediale Fokus auf den 90 Millionen für die nun anstehende Migration zu Windows hilft da nicht im mindesten. Es wird nämlich wieder die Illusion erzeugt, Open Source würde kein Geld kosten.

Diese Entwicklungskosten sind nicht niedriger als die Lizenzgebühren der großen Softwareschmieden, denn mangels eines adäquaten Angebots muss vieles selbst entworfen und angepasst werden. Daran ist LiMux zumindest partiell gescheitert. Weil man nie etwas "von der Stange" einsetzen konnte, dauerten Projekte teilweise ewig und die Verwaltung wurde scheinbar mit Hoffnungen auf die Zukunft vertröstet. Parallelen zum allgemeinen Zustand freier Softwareprojekte drängen sich da geradezu auf.

Der entscheidende Punkt war jedoch: LiMux hat einfach nie problemlos funktioniert! Wenn das Projekt so erfolgreich gewesen wäre und es keine Probleme gegeben hätte, dann wäre es nach 10 Jahren unmöglich gewesen einen harten Bruch zu vollziehen - politische Mehrheiten hätte man dafür nicht zustande gebracht. LiMux hatte aber immer Probleme. Diese lagen nicht unbedingt ausschließlich an der Software oder an der stadteigenen IT aber gegenseitige Schuldzuweisungen lösen Probleme für die Verwaltung nicht. Manchen Entscheidungsträgern in der Kommunalpolitik und Verwaltung erschien ein Ende mit Schrecken schlussendlich reizvoller als der berühmte Schrecken ohne Ende.

Hier muss man sich fragen ob die Entwicklungsmodelle freier Software nicht starke Probleme für den Einsatz in Wirtschaft und Verwaltung bereiten. Die Münchner IT stand jedenfalls über all die Jahre durchgehend vor dem Problem einen zeitgemäßen Linux-Client auszurollen. Weiterhin sollte man akzeptieren, dass öffentliche Verwaltung mehr bedeutet als ein Betriebssystem mit einem Office-Programm auszustatten. So mancher tapfere Streiter in den Kommentarspalten scheint das noch nicht eingesehen zu haben. Wenn man aber Probleme herunterspielt und Stärken alternativer Ökosysteme ausblendet kommt man zu keiner ehrlichen Analyse des Problems. Dazu müssten natürlich auch alle Beteiligten mal die Fakten auf den Tisch legen. LiMux ist leider bereits zu lange in ideologische Grabenkämpfe verstrickt, bei denen sich Argumentationen nicht mehr schlüssig nachvollziehen lassen. Nachdem München das Projekt nun endgültig abgewickelt wäre es dafür an der Zeit. PR in eigener Sache braucht nun keine Partei mehr machen.

Die Abwicklung erfolgte am Schluss natürlich nicht transparent. Eine Beratungsfirma mit engen Verbindungen zu Microsoft, ein Umzug der Deutschlandzentrale von Microsoft, klare Positionierungen des Bürgermeisters, der Versuch Kosten zu verschleiern - all das kann man nicht weg diskutieren.

Die Open Source Community sollte dennoch nicht den Fehler machen - wie es medial gerade teilweise geschieht - und eine arglistige Verschwörung des Weltkonzerns mit beeinflussbaren Politikern zu lasten des Steuerzahlers zu vermuten. Stattdessen braucht es eine ehrliche Analyse warum es nicht möglich ist eine öffentliche Verwaltung komplett auf Linux zu migrieren. Denn dieses Unterfangen scheitert nun nicht zum ersten Mal. Wenn es keine ergebnisoffene Analyse gibt, kann man sich die nächsten Anläufe gleich sparen. Dabei könnte dieser Ansatz in den kommenden Jahren - siehe Cloudzwang und Datenschutz - nötiger denn je werden.

Bild: © fotodo / Fotolia.com

Die KDE Gemeinschaft arbeitet zur Zeit mal wieder an einer Vision bzw. an Zielen für das Projekt für 2018 und darüber hinaus. Das ist nicht neu, manche werden sich an eine ähnliche Aktion 2016 erinnern. Der Punkt "Privacy" war bereits 2016 dabei, ist dieses Mal aber deutlich prominenter hervorgehoben.

Es ist schön zu sehen, dass freie Softwareprojekte diesen Punkt so stark machen. Dieses Jahr hat man den Punkt auch deutlich stärker ausgeführt und nicht nur ein paar Schlagworte veröffentlicht. Dahinter stehen nun nicht nur abstrakte Ziele sondern auch Vorstellungen davon wie man sie erreichen möchte. Unter anderem indem man Anwendern die passenden Werkzeuge zum Schutz ihrer Daten an die Hand geben möchte.

Visionen sind noch keine Tatsachen, aber sie sind ein erster Schritt in die richtige Richtung. Auch andere Projekte aus dem Open Source Bereich sollten diese Eigenschaften stärker betonen (siehe: Firefox Quantum - Abstieg trotz Quantensprung?), weil sie in der Regel durch ihre finanzielle Struktur deutlich unabhängiger von den Big Data orientierten IT-Giganten sind.

30. November 2017

An unserer kleinen Schule nutzen wir Zammad als Support-Plattform (derzeit nur im Bereich IT). Damit unsere Mitarbeiter und Lehrkräfte sich nicht für jede Software, die wir intern einsetzen, einen neuen Benutzernamen und Passwort merken müssen, versuchen möglichst alles gegen den LDAP-Server von Linuxmuster zu authentifizieren. Zammad bietet – neben vielen anderen Integrationen – LDAP zur Authentifizierung an. Heute möchte ich kurz zeigen, welche Schritte nötig sind, um den LDAP von Linuxmuster in Zammad zu integrieren.

Linuxmuster LDAP Integration in Zammad

In den Einstellungen findet man unter System → Integrationen den Punkt LDAP. Zammad fragt zuerst nach dem LDAP Server. Dort tragen wir den DNS-Namen des Linuxmuster-Servers ein, z.B.

ldaps://server.linuxmuster.lokal
und wählt bei SSL-Verifaction „Ja“.

Zammad LDAP Server

Zammad versucht nun die Verbindung zum LDAP-Server herzustellen. Wenn der LDAP Server in einem anderen IP-Subnet steht als der Zammad Server, sollten man die Firewall so konfigurieren, dass die Ports für LDAP freigeben sind, sowie die DNS-Namensauflösung funktioniert. Die Ports für LDAP sind:

  • LDAP: 389 UDP/TCP
  • LDAPS:  636 UDP/TCP

War die Verbindung erfolgreich, so sieht man im nächsten Schritt bereits die richtige Base-DN: dc=linuxmuster,dc=lokal. Ein Bind-User muss in unserem Fall nicht angegeben werden.

Zammad LDAP Base-DN

 

Zuordnungen und Gruppenfilter

Nun analysiert Zammad die weitere LDAP Struktur, sodass wir nun Zuordnungen und Filter festlegen können. Wenn man die Benutzer einschränken möchte (z.B. Zugriff nur für Lehrkräfte), sollte man bei User-Filter folgendes eingeben:

(&(objectclass=posixAccount)(gidnumber=10000))
. Die gidnumber bekommt man folgendem Befehl heraus (auf dem Linuxmuser-Server ausführen):

sudo smbldap-groupshow teacher

Die Zuordnungen der LDAP-Attribute kann man i.d.R. so belassen, wie sie vorgeschlagen werden.

Zammad LDAP Zuordnungen und Filter

Nachdem man auf „Weiter“ geklickt hat, analysiert Zammad den LDAP und zeigt die Anzahl der gefunden Benutzer an. Wenn alles passt, kann man nun die Konfiguration speichern. Zammad synchronisiert regelmäßig (jede Stunde), sodass Änderungen im LDAP zeitnah in Zammad verfügbar sind.

Fazit

Zammad ist ein weiteres Puzzle-Stück in unsere IT-Infrastruktur an der Schule. Durch die Integration mit dem LDAP von Linuxmuster können alle ihre Tickets bequem im Auge behalten. Um ein Ticket zu eröffnen, reicht es, wenn die Kollegen sich in Zammad mit ihrem internen Schullogin anmelden oder einfach eine eMail an unsere Support-Mail schreiben. Es wir dann automatisch ein Ticket erstellt und mit dem richtigen Account (anhand der eMail aus dem LDAP) verknüpft.

Kommentar hinzufügen

Der Beitrag Zammad LDAP Integration mit Linuxmuster.net erschien zuerst auf .:zefanjas:..

29. November 2017

Ich beschreibe hier die Umstellung von WordPress auf https am Beispiel
einer normalen WordPress Installation auf dem Webserver. Wenn man die bei
Ubuntu mitgelieferte Version nimmt finden sich die Konfigurationsdateien an
anderen Stellen.

Als erstes wird das nötige Zertifikat installiert. Hier möchte ich kurz
auf den empfehlenswerten Blog von Thomas Leister verweisen:
https://thomas-leister.de/kostenlose-tls-zertifikate-mit-letsencrypt/

Als erstes stellt man den Admin Bereich auf https um.
Dazu bearbeitet man die Datei wp-config.php im Hauptverzeichnis
von WordPress.
Hier wird folgende Zeile eingefügt:

define(‘FORCE_SSL_ADMIN’, true);

Wenn alles funktioniert im Admin Bereich geht man auf Einstellungen -> Allgemein
und sucht hier die beiden Felder: WordPress Adressse und Website Adresse. Hier wird
die neue URL mit https eingetragen.

Um alle Links in den Artikeln zu erwischen nutzt man das Plugin “Better Search Repleace”.
Hiermit kann man in einer Suchmaske alle Strings ändern lassen. Vorher ist eine Datensicherung
zu empfehlen.

Im letzten Schritt wird noch die .htaccess Datei im Hauptverzeichnis um folgende
Zeilen ergänzt:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Damit werden alle Zugriffe, auch auf die “normale” Domain auf die verschlüsselte umgeleitet.

28. November 2017

Die aktuelle Firefox Version (57/Quantum) kann, sofern aktiviert, auch mit dem beliebten U2F Standard umgehen.

Was ist U2F?

U2F ist ein Standard zur Anbindung eines zweiten Faktors (2FA) zur Authentifizierung gegenüber von Webanwendungen und Diensten, für viele eine beliebte Alternative zum Google Authenticator. Der Vorteil ist, das selbst bei bekanntem Benutzernamen und Passwort, ohne den zusätzlichen Faktor, ein Login und Missbrauch eines Dienstes ausgeschlossen ist. Vor allem für zentrale Dienste wie E-Mail oder dem Online Banking ist dies sehr wichtig, wobei gegenwärtig vor allem typische Nerd Dienste 2FA unterstützen. Das Prinzip von 2FA ist, das zum Login sowohl Wissen (Benutzername/Passwort) als auch Besitz (USB Dongle) notwendig sind.

U2F in Firefox aktivieren

Die Firefox Unterstützung für U2F muss gegenwärtig über about:config aktiviert werden, und zwar indem der Schlüssel security.webauth.u2f auf den Wert true gestellt wird. Ist dies erledigt funktioniert zumindest beim Test über die Yubico Demo Seite, sowohl die Registrierung als auch die spätere Anmeldung ohne Probleme. Ich gehe stark davon aus, das im Laufe der nächsten Firefox Versionen das manuelle aktivieren der U2F Unterstützung entfällt.

Aktuelle Probleme

Leider gibt es noch einige Seiten, vor allem von Google, welche U2F zwar offiziell unterstützen, diese Unterstützung jedoch auf bestimmte Browser (Chrome) limitieren. Hintergrund ist, dass diese Seiten prüfen, welcher Client verwendet wird, anstatt wie technisch korrekt zu prüfen, ob der Client bestimmte Features bereitstellt.

Das größte Problem ist aber die nach wie vor geringe Verbreitung von U2F oder 2FA im allgemeinen, vor allem die meisten deutschen Banken befinden sich hier noch in der Steinzeit. Allerdings ist die Branche auch erst damit beschäftigt die Sache mit der Digitalisierung zu lernen, in 5-10 Jahren klappt es dann auch mit der sicheren Authentifizierung ;)

Die aktuelle Firefox Version (57/Quantum) kann, sofern aktiviert, auch mit dem beliebten U2F Standard umgehen.

Was ist U2F?

U2F ist ein Standard zur Anbindung eines zweiten Faktors (2FA) zur Authentifizierung gegenüber von Webanwendungen und Diensten, für viele eine beliebte Alternative zum Google Authenticator. Der Vorteil ist, das selbst bei bekanntem Benutzernamen und Passwort, ohne den zusätzlichen Faktor, ein Login und Missbrauch eines Dienstes ausgeschlossen ist. Vor allem für zentrale Dienste wie E-Mail oder dem Online Banking ist dies sehr wichtig, wobei gegenwärtig vor allem typische Nerd Dienste 2FA unterstützen. Das Prinzip von 2FA ist, das zum Login sowohl Wissen (Benutzername/Passwort) als auch Besitz (USB Dongle) notwendig sind.

U2F in Firefox aktivieren

Die Firefox Unterstützung für U2F muss gegenwärtig über about:config aktiviert werden, und zwar indem der Schlüssel security.webauth.u2f auf den Wert true gestellt wird. Ist dies erledigt funktioniert zumindest beim Test über die Yubico Demo Seite, sowohl die Registrierung als auch die spätere Anmeldung ohne Probleme. Ich gehe stark davon aus, das im Laufe der nächsten Firefox Versionen das manuelle aktivieren der U2F Unterstützung entfällt.

Aktuelle Probleme

Leider gibt es noch einige Seiten, vor allem von Google, welche U2F zwar offiziell unterstützen, diese Unterstützung jedoch auf bestimmte Browser (Chrome) limitieren. Hintergrund ist, dass diese Seiten prüfen, welcher Client verwendet wird, anstatt wie technisch korrekt zu prüfen, ob der Client bestimmte Features bereitstellt.

Das größte Problem ist aber die nach wie vor geringe Verbreitung von U2F oder 2FA im allgemeinen, vor allem die meisten deutschen Banken befinden sich hier noch in der Steinzeit. Allerdings ist die Branche auch erst damit beschäftigt die Sache mit der Digitalisierung zu lernen, in 5-10 Jahren klappt es dann auch mit der sicheren Authentifizierung ;)

27. November 2017

An unserer Schule gibt es immer wieder Stromausfälle. Manchmal dauern sie nur wenige Sekunden, manchmal aber auch mehrere Stunden. Damit unsere IT-Infrakstruktur nicht darunter leidet, haben wir für unsere Server und Netzwerkgeräte eine UPS/USV installiert. Diese helfen kürzere Stromausfälle (bis zu 1 Stunde) oder Stromschwankungen zu überbrücken. Für alle längeren Ausfälle fahren wir unsere Server automatisch herunter, wenn die UPS ein kritisches Batterielevel erreicht. Dafür nutzen wir NUT (Network UPS Tools).

Unser Setup besteht aus folgenden Komponenten:

  • Raspberry Pi als UPS-Server bzw. Master
  • Liebert GXT4 UPS
  • Server als Clients bzw. Slaves

UPS / USV in NUT auf dem Raspberry Pi einrichten

Für den Raspberry Pi verwenden wir das Standard Raspian Stretch Lite Image. Zu beachten ist, dass SSH seit 2016 standardmäßig nicht mehr aktiviert ist. Die verschiedenen Möglichkeiten, wie man SSH wieder aktiveren kann, sind hier dokumentiert. Nachdem SSH nun wieder aktiviert ist, kann man sich nun auf dem Raspberry Pi einloggen (die IP des Raspberry Pi kann man z.B. mit 

avahi-browse -ar
  von einem Rechner im gleichen Netzwerk herausfinden oder man schließt einen Monitor und Tastatur an). Die IP brauchen wir später noch, deshalb ist es sinnvoll dem Raspberry Pi eine statische IP zu geben.

Als nächstes installieren wir den NUT-Server mit

sudo apt-get install nut-client nut-server usbutils

Falls die UPS / USV per USB angeschlossen ist (wie in unserem Fall), kann man mit 

lsusb
überprüfen, ob sie auch erkannt wurde. So sieht die Ausgabe auf dem Raspberry Pi aus:

$ lsusb
Bus 001 Device 004: ID 10af:0000 Liebert Corp. UPS
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

In der ersten Zeile sieht man, dass unsere Liebert UPS erkannt wurde.

Nun müssen wir unsere UPS / USV in der Datei /etc/nut/ups.conf konfigurieren. Für unsere UPS sieht der Eintrag folgendermaßen aus:

[gxt4]
     driver = usbhid-ups
     port = auto
     productid = 0000
     desc = "Emerson Liebert GXT 4"

Auf der Website der Network UPS Tools findet man eine Liste mit allen unterstützen UPS /USV und mit welcher Treiber am besten funktioniert.

Als nächstes wollen wir testen, ob die Einstellungen korrekt sind der UPS Daemon mit der UPS kommunizieren kann. Dazu starten wir upsd mit

sudo upsdrvctl start
. Eine erfolgreiche Ausgabe sollte ungefähr so aussehen:

Network UPS Tools - UPS driver controller 2.7.2
Network UPS Tools - Generic HID driver 0.38 (2.7.2)
USB communication driver 0.32
Using subdriver: Belkin HID 0.16

NUT enthält einen kleines Programm, mit dem man die Kommunikation mit der UPS /USV testen kann. Es heißt upsc und gibt alle lesbaren Parameter der UPS / USV aus.

$ upsc gxt4
Init SSL without certificate database
battery.charge: 100
battery.charge.low: 20
battery.charge.warning: 0
battery.type: PbAc
battery.voltage: 0.0
battery.voltage.nominal: 0.0
device.mfr: Emerson Network Power
device.model: Liebert GXT4
device.serial: 1607000060AFC23
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.productid: 0000
driver.version: 2.7.2
driver.version.data: Belkin HID 0.16
driver.version.internal: 0.38
ups.mfr: Emerson Network Power
ups.model: Liebert GXT4
ups.productid: 0000
ups.serial: 1607000060AFC23
ups.status: OL CHRG
ups.vendorid: 10af

Nun ist unsere UPS /USV erfolgreich eingerichtet. Als nächsten richten wir den NUT Server, den UPS Monitor upsmon und noch zwei Benutzer für den Master und die Slaves ein.

NUT Server konfigurieren

In der /etc/nut/nut.conf legen wir fest, dass der Raspberry Pi unser Master ist:

MODE=netserver

Auf dem NUT-Server läuft der UPS Daemon (upsd). Er ist für die (physikalische) Verbindung zur UPS verantwortlich. Die einzelnen Clients/Slaves greifen mit Hilfe des upsmon auf den Status der UPS zu. So können mehrere Clients immer über den Zustand der UPS informiert sein und gegebenenfalls das Herunterfahren auslösen, wenn die UPS den Status „On Low Battery“ liefert.

Damit unser NUT Server aus dem Netz erreichbar ist, müssen noch folgende Zeilen in der /etc/nut/upsd.conf hinzugefügt werden (IP bitte anpassen):

LISTEN 127.0.0.1
LISTEN 192.168.1.2 #IP des Raspberry Pis

Als nächstes legen wir die Benutzer fest mit der sich ein Client beim Master anmelden kann (in der Datei /etc/nut/upsd.user):

[upsmaster]
    password = geheim
    upsmon master

[upsremote]
        password  = geheim
        upsmon slave

Damit upsmon die UPS auch überwacht, müssen wir nun noch eine letzten Eintrag in der Datei /etc/nut/upsmon.conf hinzufügen:

MONITOR gxt4@localhost 1 upsmaster geheim master

Damit man weiß, ob alle Dienste richtig laufen, kann man den Status des Servers als auch den lokalen Clients auf dem Raspberry Pi (denn der soll ja auch heruntergefahren werden, wenn kein Strom mehr da ist) mit folgendem Befehlen überprüfen:

$ sudo systemctl status nut-server
$ sudo systemctl status nut-client

Nun ist unser Master fertig eingerichtet und die Clients bzw. Slaves können jetzt konfiguriert werden.

Clients / Slaves einrichten (z.B. Server, andere Computer)

Zuerst müssen auf einem Client die notwendigen Pakete installiert werden:

sudo apt-get install nut-client

Diesmal müssen wir nur zwei Dateien editieren. In der /etc/nut/nut.conf legen wir den Modus fest:

MODE=netclient

Danach müssen wir wieder upsmon sagen, welche UPS er überwachen soll (in /etc/nut/upsmon.conf):

MONITOR gxt4@192.168.1.2 upsremote geheim slave

Die IP und das Passwort müssen natürlich noch angepasst werden. Bitte auch das slave am Ende beachten! Zuletzt noch den entsprechenden Service neu starten und überprüfen, ob alles läuft:

$ sudo systemctl restart nut-client
$ sudo systemctl status nut-client

Glückwunsch! Nun sollte alles eingerichtet sein, aber wie kann man testen, dass es wirklich funktioniert?

Herunterfahren testen

Der folgende Befehl löst das Signal zum Herunterfahren aus (wie es auch im Falle eines Stromausfalls sein würde):

$ sudo upsmon -c fsd

UPS mit Check_MK überwachen [Update]

Check_MK Agent einrichten

Nachdem die UPS jetzt fertig eingerichtet ist, wäre es natürlich toll, wenn wir sie auch im Monitoring überwachen können. Wir nutzen dafür Check_MK. Clients können in Check_MK mit dem Check_MK Agenten oder per SNMP überwacht werden. Der Agent ist in den Standard-Paketquellen von Debian und Ubuntu enthalten, weshalb wir ihn einfach mit diesem Befehl auf dem Raspberry Pi installieren können:

$ sudo apt-get install check-mk-agent xinetd

Standardmäßig ist der Check_MK Agent nicht aktiviert, sodass wir ihn noch in der Datei /etc/xinetd.d/check_mk noch aktivieren müssen. Am Ende der Datei muss

disable = yes
  in
disable = no
  geändert werden. Wenn man möchte, kann man auch noch den Zugriff einschränken, indem man mit
only_from = IP-des-Check-MK-Severs
  die Server-IPs einträgt, die die Erlaubnis haben die Daten des Check_MK Agenten abzufragen.

Als nächstes muss xinetd neu gestartet werden. Mit dem zweiten Befehl überprüfen wir, ob der Check_MK Agent richtig konfiguriert ist und läuft (IP anpassen!).

$ sudo service xinetd restart
$ telnet 192.168.1.2 6556

NUT Plugins

Bisher weiß der Check_MK Agent noch nichts von unserer UPS und liest die entsprechenden Daten auch nicht aus. Mit folgendem kleinen Skript können wir die Ausgabe von upsc dem Agenten mitteilen:

#!/bin/sh

if which upsc > /dev/null 2>&1 ; then
    echo '<<<nut>>>'
    for ups in $(upsc -l)
    do
        upsc $ups| sed "s,^,$ups ,"
    done
fi

Diese kleine Plugin speichern wir unter /usr/lib/check_mk_agent/plugins/nut. Auf dem Raspberry Pi sind wird nun fertig. Es fehlen jetzt noch die Anpassungen auf dem Check_MK Server.

Auf dem Server brauchen wir ein weiteres Skript, welches die Daten des Check_MK Agenten ausliest. Dieses Skript ist umfangreicher, deshalb verlinke ich es hier. Es muss unter /opt/omd/versions/default/share/check_mk/checks/nut gespeichert werden. Das Original-Plugin kann man hier finden: https://github.com/minodudd/check_mk-plugins. Ich habe es minimal angepasst für unsere UPS angepasst.

Wenn man nun den Raspberry Pi als neuen Host in Check_MK hizufügt, werden die Services für die UPS / USV mit angezeigt.

NUT Services
NUT Services

Fazit

NUT ist ein weiteres tolles Open Source Projekt, mit dem sehr flexible Anpassungen möglich sind. In dieser PDF sind noch viele weitere (komplexe) Anwendungsszenarien enthalten. Während ich diesen Artikel schreibe, haben wir wieder einen Stromausfall und alle unsere Server sind zuverlässig heruntergefahren worden!

 

1 Kommentar

Der Beitrag [Update] Server bei Stromausfall herunterfahren – UPS, NUT & Co erschien zuerst auf .:zefanjas:..

26. November 2017

Bild: © Matthias Enter / Fotolia.com

Firefox 57 ist veröffentlicht und NoScript nicht kompatibel. Endzeitstimmung bei manchen Anwendern. Die neueste Version steht zwar als WebExtension zur Verfügung, ist aber aktuell noch fehlerbehaftet und Funktionsparität ist ebenfalls nicht erreicht. Die gute Nachricht: Macht nichts, NoScript wird im Zweifelsfall sowieso nicht benötigt und sollte endlich von den Systemen entfernt werden.

NoScript ist die heilige Addon-Kuh in der Firefox-Glaubenslehre. Immer wenn es um das Für und Wider des Firefox-Browsers geht kommt irgendjemand um die Ecke und ruft "NoScript" um zu belegen, dass alle alternativen Browser nichts taugen. Irgendwann vor einigen Jahren ist NoScript auch auf den Top10 der allersuperbesten Browser-Addons bei den IT-"Qualitätsmedien" gelandet, weshalb noch mehr Leute glauben, dass man unbedingt NoScript benötigt um nicht sofort eine virenversuchte, ransomwarebelaste Trojanermaschine sein Eigen zu nennen.

Das ist Quatsch! Die meisten Anwender brauchen weder NoScript, noch haben sie es bisher effektiv eingesetzt. Ein viel leichter zu bedienender Werbeblocker dürfte den meisten reichen. Denn - und das wird einige jetzt schmerzen - JavaScript ist nicht böse!

Natürlich ist NoScript keine per Definition schlechte Software. NoScript war eine sehr mächtiges Addon, mit dem man einzelne Elemente auf Webseiten gezielt blockieren respektive freigeben konnte. In den Händen versierter Anwender ist das ein sinnvolles Werkzeug um sich ein bisschen sicherer im Internet zu bewegen.

Die meisten Anwender sind aber weder versiert, noch wussten sie was sie da benutzen! Das sieht man bis heute, wenn sich Anwender beschweren, dass bestimmte Elemente auf der Webseite nicht funktionieren oder wenn sie jetzt nach einem Ersatz für NoScript suchen und gar nicht genau wissen, was sie benötigen.

Faktisch benutzen heute die meisten Webseiten JavaScript für absolut sinnvolle Funktionen und viele Seiten lassen sich ohne JavaScript gar nicht mehr sinnvoll bedienen. Viele Anwender von NoScript haben daher großzügig Seiten auf die Whitelist gesetzt, weil ihnen das Wissen fehlte um zu entscheiden, was wirklich benötigt wird. Damit führten sie letztlich das gesamte Addon ad absurdum.

Es ist also Zeit das Addon endlich in die ewigen Jagdgründe zu entlassen. NoScript war in den Anfangszeiten von JavaScript und nervtötenden Animationen und PopUps mal ganz sinnvoll. Das ist aber lange her. Wer die erweiterten Funktionen von NoScript wirklich benötigt wird eine passende Alternative finden, wer jedoch NoScript nur verwendet hat weil es mal in irgendeinem Leitfaden für ein superduper sicheres Internet aufgeführt wurde, kann es nun endgültig weglassen.

(Fast) Niemand braucht NoScript!

Dieses Tutorial beschreibt, wie eine Zertifikatsanfrage (engl. Certificate Signing Request, kurz CSR) erstellt werden kann. Dabei wird die Erstellung von Anfragen für Zertifikate mit einem und mehreren enthaltenen Hostnamen behandelt. Die nach diesem Tutorial erstellten Zertifikatsanfragen können dann genutzt werden, um sie an eine Zertifizierungsstelle (engl. Certificate Authority, kurz CA) zu übermitteln.

Voraussetzung, um diesem Tutorial zu folgen, ist eine funktionsfähige Installation von OpenSSL. Die Installation von OpenSSL ist nicht Gegenstand dieses Tutorials.

Die folgende Tabelle gibt Auskunft über die Konfigurationen, mit denen dieses Tutorial getestet wurde.

BetriebssystemOpenSSL Version
Ubuntu 16.04 LTSOpenSSL 1.0.2g
CentOS/RHEL 7OpenSSL 1.0.2k-fips
Fedora 26OpenSSL 1.1.0f-fips

Keyfile und CSR in einem Schritt erstellen

Die Dateien für den privaten Schlüssel und den CSR können auf der Kommandozeile mit dem folgenden Befehl erstellt werden. Dabei werden die benötigten Informationen interaktiv abgefragt.

/tmp$ openssl req -newkey rsa:2048 -sha256 -keyout test.key -out test.csr
Generating a 2048 bit RSA private key
..............................................................................................+++
........................................................................................................................+++
writing new private key to 'test.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:NRW
Locality Name (eg, city) []:.        
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:test.example.com
Email Address []:.

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.

Die einzelnen Argumente des Befehls sind wie folgt zu erklären:

openssl req ruft das Kommando zur Generierung eines PKCS#10 CSR auf [1]. Das Argument -newkey rsa:2048 gibt an, dass ein neuer RSA-Key mit einer Schlüssellänge von 2048 Bit generiert werden soll. Dieser Schlüssel wird anschließend verwendet, um den CSR zu erzeugen. Mit dem Argument -sha256 wird angegeben, dass das beantragte Zertifikat mit dem SHA256-Algorhytmus signiert werden soll. Man beachte, dass dies von der Zertifizierungsstelle überschrieben werden kann. Mit -keyout test.key wird der Dateiname angegeben, unter dem die Private-Key-Datei (test.key) im aktuellen Verzeichnis gespeichert werden soll. Dementsprechend gibt -out test.csr an, wo die CSR-Datei (test.csr) gespeichert werden soll. Im oben dargestellten Beispiel geschieht dies ebenfalls im aktuellen Verzeichnis.

Das Kommando erzeugt den privaten Schlüssel und fragt interaktiv nach einer Passphrase, mit welcher die Private-Key-Datei verschlüsselt wird. Anschließend werden die Informationen abgefragt, welche in den CSR aufgenommen werden sollen. Mit einem „.“ gibt man an, dass der Standardwert aus den eckigen Klammern in den CSR übernommen werden soll. Auf die Angabe einer E-Mail-Adresse und eines Challenge-Passworts kann guten Gewissens verzichtet werden, da diese Angaben von den meisten Zertifizierungsstellen ignoriert werden.

CSR für mehrere Hostnamen erstellen

Um einen CSR für mehrere Hostnamen zu erstellen, bedient man sich am einfachsten einer Konfigurationsdatei. Die im Folgenden verwendete Konfigurationsdatei kann unter [2] heruntergeladen und unter einem beliebigen Namen (z.B. csr_config.cnf) gespeichert werden. Ausführliche Informationen zum Aufbau der Konfigurationsdatei finden sich in Kapitel 3.3 des unter [2] verlinkten TLS-Kochbuchs. Beachten Sie, dass hinter dem Parameter subjectAltName neben den weiteren Host-/Domain-Namen auch der commonName mit aufgeführt werden muss.

[ req ]
default_bits = 2048
default_keyfile = test_privatekey.pem
distinguished_name = req_distinguished_name
encrypt_key = no
prompt = no
string_mask = nombstr
req_extensions = v3_req

[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = DNS:test.example.com, DNS:*.test.example.com

[ req_distinguished_name ]
countryName = DE
stateOrProvinceName = Nordrhein-Westfalen
localityName = MeinOrt
0.organizationName = MeineFirma
organizationalUnitName = MeineAbteilung
commonName = test.example.com

Die obige Konfigurationsdatei kann nun genutzt werden, um einen CSR für den Hostnamen test.example.com und alle möglichen Hostnamen unterhalb der Domain .test.example.com zu erstellen:

/tmp$ openssl req -batch -sha256 -new -config csr_config.cnf -out test2.csr

Mit der Option -batch wird der interaktive Modus deaktiviert. Die Option -new gibt an, dass ein neuer CSR generiert werden soll. Dabei wird ein Private-Key nach den Vorgaben in der Konfigurationsdatei, welche mit -config csr_config.cnf angegeben wird, erzeugt.

Abschließende Bemerkungen

Die beiden gezeigten Methoden zur Erzeugung einer Zertifikatsanfrage stellen nur einen kleinen Ausschnitt aus dem großen Werkzeugkasten namens OpenSSL dar. Doch sind sie dazu geeignet, in einfacher Weise einen CSR zu erstellen, den man zur Signatur an eine CA seines Vertrauens senden kann.

Quellen und weiterführende Links

  1. PKCS #10: Certification Request Syntax Specification
  2. TLS/SSL-Kochbuch – Rezepte für die Verwendung von OpenSSL

25. November 2017

Seit einiger Zeit nutze ich Friendica,
eine Art dezentrale Facebook-Alternative, die mit der „Federation“ (Diaspora, GNUscocial, etc.) verbunden ist.
Heute möchte ich kurz zeigen, wie ich Friendica nutze, denn ein gutes Argument ist ja immer:
„Wieso sollte ich mir einen Friendica-Account zulegen, wo doch eh alle anderen bei Facebook oder SnapChat sind“ – denn das stimmt ja auch. Aber ich nutze Friendica eher als aufgemotzten Feed-Reader. Ich hab hier mal irgendwann den Spruch gelesen „if it has a feed, we can track it“.
Und so habe ich alle Webseiten, die ich sonst so täglich abgegrast habe (zB spiegel.de tagesschau.de, planet der ubuntuusers, youtube, twitter) in Friendica als „Kontakte“ eingetragen.
Auf Friendica werden mir dann alle Tweets und Neuigkeiten im Look einer „Facebook-Timeline“ angezeigt.

Da ich meine Kontakte in „Gruppen“ sortieren kann, nehme ich Einfluss auf meine Timeline:
– ich will jetzt nur Funstuff sehen
– ich will nur Nachrichten
– ich will nur Astronomie
– ich will alles sehen

Die Beiträge kann ich dann „liken“, kommentieren und verteilen – denn in der „Federation“ gibt es durchaus auch „echte Menschen“, mit denen man sich verbinden und unterhalten kann.
Ich kann wirklich nur empfehlen, das ganze mal auszuprobieren. Man kann sich entweder selbst einen Friendica-Server aufsetzen (das ist gar nicht sooo schwer), oder einen öffentlichen Server nutzen, siehe https://dir.friendica.social/.

Sobald ihr einen Account habt, könnt ihr Kontakte hinzufügen. Auf eurer Kontaktseite seht ihr links ein Feld „Neuen Kontakt hinzufügen“.
(Ich nutze das Theme „vier“, und alle Screenshots sind vom Theme „vier“.)

Hier tragt ihr die Feedadressen ein. Und die sieht so aus:

  • Twitter: in Form einer Mailadresse USERNAME@twitter.com, also zB realDonaldTrump@twitter.com
  • RSS-Feed: einfach die URL des Feeds eintragen, zB. https://planet.ubuntuusers.de/feeds/full/10/ oder http://feeds.feedburner.com/d0od?format=xml
  • Youtube-Kanäle: ihr benötigt die Channel-ID des Kanals, dem ihr folgen wollt. Für die Kontaktanfrage nutzt man folgende URL, wobei die Channel-ID ergänzt werden muss: https://www.youtube.com/feeds/videos.xml?channel_id=, also zB. https://www.youtube.com/feeds/videos.xml?channel_id=UCtJVZjY6xsZUV-sYdcIFpZw
  • Instagram: Hier wandelt man den Instagram-Stream in einen RSS-Feed um. Die Adresse für die Kontaktanfrage lautet https://websta.me/rss/n/USERNAME also zB https://websta.me/rss/n/s04
  • Diaspora: Einfach die Kontaktadresse, zB comedy@diasp.de eingeben. Funktioniert so auch mit allen anderen Federationsaccounts, zB GNUsocial.
  • Dann klickt man auf „Verbinden“.

Auf der nächsten Seite meckert friendica bei mir, dass „das angefragte Profil nicht vorhanden“ sei (roter Pfeil). Dies kann man ignorieren und einfach auf „Anfrage abschicken“ klicken.

Unter „Kontakteinstellungen“ gibt es die Möglichkeit, „weitere Informationen zu dem Feed“ zu holen (blauer Pfeil).

Hier muss man herumspielen. Manche Feeds zeigen den Inhalt „schöner“, wenn man das Feld „Deaktiviert“, bei anderen ist die Einstellung „Beziehe Informationen“ „schöner“. Bei Youtube-Channels ist grundsätzlich „beziehe informationen“ zu wählen.

Bei zB Blogs, die nicht soooo regelmäßig posten, wie zB linuxundich.de, setze ich den Haken bei „Benachrichtigung bei neuen Beiträgen“. So bekomme ich oben rechts bei der „Glocke“ angezeigt, wenn etwas neues da ist.

Sollte kein Avatar zum Feed angezeigt werden, kann man eines per Bild-URL hinzufügen. Klicke auf „Erweitert“ (s.o., roter Pfeil), und trage in das Feld „Neues Foto von dieser URL“ eine Bild-URL ein.

Friendica kopiert sich dann das Bild von dort.

So erstellt man sich seinen ganz privaten aufgemotzten RSS-Feed-Reader.

Viele „wichtige“ Feeds (z.B. Fefe oder Tagesschau) werden bereits von Bots in die Federation gespiegelt. Es lohnt sich, das Userverzeichnis zu durchforsten. Ich folge diesen Bot-Accounts, ihr könnt die Adressen direkt als Kontaktanfrage nutzen:

aljazeera@squeet.me
arch@friendica.produnis.de
atheism@friendica.produnis.de
bildblog@friendica.produnis.de
derpostillon@gnusocial.de
deutschlandfunk@squeet.me
dlr@squeet.me
earthquake@social.yl.ms
esa@squeet.me
fefesblog@pod.geraspora.de
funstuff@friendica.produnis.de
heiseonline@squeet.me
ey_lou_flynn@pod.geraspora.de
kicker@friendica.produnis.de
Kodi@mastodon.cloud
linuxundich@friendica.produnis.de
nachdenkseiten@friendica.produnis.de
nasa@squeet.me
ncnews@libranet.de
sciencenature@friendica.produnis.de
spon@friendica.produnis.de
tagesschau@squeet.me
taz@pod.geraspora.de
urknall@friendica.produnis.de
wdr@squeet.me
zdfheute@squeet.me

Ja, und zu guter letzt könnt ihr euch auch gerne mit mir verbinden: produnis@friendica.produnis.de

Weblinks

share this

Seit einiger Zeit nutze ich Friendica, eine Art dezentrale Facebook-Alternative, die mit der “Federation” (Diaspora, GNUscocial, etc.) verbunden ist. Heute möchte ich kurz zeigen, wie ich Friendica nutze, denn ein gutes Argument ist ja immer: “Wieso sollte ich mir einen Friendica-Account zulegen, wo doch eh alle anderen bei Facebook oder SnapChat sind” - denn das stimmt ja auch. Aber ich nutze Friendica eher als aufgemotzten Feed-Reader. Ich hab hier mal irgendwann den Spruch gelesen “if it has a feed, we can track it”.

Seit einiger Zeit nutze ich Friendica, eine Art dezentrale Facebook-Alternative, die mit der “Federation” (Diaspora, GNUscocial, etc.) verbunden ist. Heute möchte ich kurz zeigen, wie ich Friendica nutze, denn ein gutes Argument ist ja immer: “Wieso sollte ich mir einen Friendica-Account zulegen, wo doch eh alle anderen bei Facebook oder SnapChat sind” - denn das stimmt ja auch. Aber ich nutze Friendica eher als aufgemotzten Feed-Reader. Ich hab hier mal irgendwann den Spruch gelesen “if it has a feed, we can track it”. Und so habe ich alle Webseiten, die ich sonst so täglich abgegrast habe (zB spiegel.de tagesschau.de, planet der ubuntuusers, youtube, twitter) in Friendica als “Kontakte” eingetragen. Auf Friendica werden mir dann alle Tweets und Neuigkeiten im Look einer “Facebook-Timeline” angezeigt.

Da ich meine Kontakte in “Gruppen” sortieren kann, nehme ich Einfluss auf meine Timeline: - ich will jetzt nur Funstuff sehen - ich will nur Nachrichten - ich will nur Astronomie - ich will alles sehen

Die Beiträge kann ich dann “liken”, kommentieren und verteilen - denn in der “Federation” gibt es durchaus auch “echte Menschen”, mit denen man sich verbinden und unterhalten kann. Ich kann wirklich nur empfehlen, das ganze mal auszuprobieren. Man kann sich entweder selbst einen Friendica-Server aufsetzen (das ist gar nicht sooo schwer), oder einen öffentlichen Server nutzen, siehe https://dir.friendica.social/.

Sobald ihr einen Account habt, könnt ihr Kontakte hinzufügen. Auf eurer Kontaktseite seht ihr links ein Feld “Neuen Kontakt hinzufügen”. (Ich nutze das Theme “vier”, und alle Screenshots sind vom Theme “vier”.)

Hier tragt ihr die Feedadressen ein. Und die sieht so aus:

  • Twitter: in Form einer Mailadresse USERNAME@twitter.com, also zB realDonaldTrump@twitter.com

  • RSS-Feed: einfach die URL des Feeds eintragen, zB. https://planet.ubuntuusers.de/feeds/full/10/ oder http://feeds.feedburner.com/d0od?format=xml

  • Youtube-Kanäle: ihr benötigt die Channel-ID des Kanals, dem ihr folgen wollt. Für die Kontaktanfrage nutzt man folgende URL, wobei die Channel-ID ergänzt werden muss: https://www.youtube.com/feeds/videos.xml?channel_id=, also zB. https://www.youtube.com/feeds/videos.xml?channel_id=UCtJVZjY6xsZUV-sYdcIFpZw

  • Instagram: Hier wandelt man den Instagram-Stream in einen RSS-Feed um. Die Adresse für die Kontaktanfrage lautet https://websta.me/rss/n/USERNAME also zB https://websta.me/rss/n/s04

  • Diaspora: Einfach die Kontaktadresse, zB comedy@diasp.de eingeben. Funktioniert so auch mit allen anderen Federationsaccounts, zB GNUsocial.

  • Dann klickt man auf “Verbinden”.

Auf der nächsten Seite meckert friendica bei mir, dass “das angefragte Profil nicht vorhanden” sei (roter Pfeil). Dies kann man ignorieren und einfach auf “Anfrage abschicken” klicken.

Unter “Kontakteinstellungen” gibt es die Möglichkeit, “weitere Informationen zu dem Feed” zu holen (blauer Pfeil).

Hier muss man herumspielen. Manche Feeds zeigen den Inhalt “schöner”, wenn man das Feld “Deaktiviert”, bei anderen ist die Einstellung “Beziehe Informationen” “schöner”. Bei Youtube-Channels ist grundsätzlich “beziehe informationen” zu wählen.

Bei zB Blogs, die nicht soooo regelmäßig posten, wie zB linuxundich.de, setze ich den Haken bei “Benachrichtigung bei neuen Beiträgen”. So bekomme ich oben rechts bei der “Glocke” angezeigt, wenn etwas neues da ist.

Sollte kein Avatar zum Feed angezeigt werden, kann man eines per Bild-URL hinzufügen. Klicke auf “Erweitert” (s.o., roter Pfeil), und trage in das Feld “Neues Foto von dieser URL” eine Bild-URL ein.

Friendica kopiert sich dann das Bild von dort.

So erstellt man sich seinen ganz privaten aufgemotzten RSS-Feed-Reader.

Viele “wichtige” Feeds (z.B. Fefe oder Tagesschau) werden bereits von Bots in die Federation gespiegelt. Es lohnt sich, das Userverzeichnis zu durchforsten. Ich folge diesen Bot-Accounts, ihr könnt die Adressen direkt als Kontaktanfrage nutzen:

aljazeera@squeet.me
arch@friendica.produnis.de
atheism@friendica.produnis.de
bildblog@friendica.produnis.de
derpostillon@gnusocial.de
deutschlandfunk@squeet.me
dlr@squeet.me
earthquake@social.yl.ms
esa@squeet.me
fefesblog@pod.geraspora.de
funstuff@friendica.produnis.de
heiseonline@squeet.me
ey_lou_flynn@pod.geraspora.de
kicker@friendica.produnis.de
Kodi@mastodon.cloud
linuxundich@friendica.produnis.de
nachdenkseiten@friendica.produnis.de
nasa@squeet.me
ncnews@libranet.de
sciencenature@friendica.produnis.de
spon@friendica.produnis.de
tagesschau@squeet.me
taz@pod.geraspora.de
urknall@friendica.produnis.de
wdr@squeet.me
zdfheute@squeet.me

Ja, und zu guter letzt könnt ihr euch auch gerne mit mir verbinden: produnis@friendica.produnis.de

Weblinks

24. November 2017

Im Laufe der Zeit sammelt sich auf der Festplatte sicherlich der das ein oder andere Porno Musikvideo. Oft verbringt man dann, ähnlich wie bei Streaming Diensten wie Netflix oder Amazon Instant Video, mehr Zeit mit der Auswahl, als mit dem tatsächlichen Konsum.

Das muss nicht sein, denn zumindest für lokale Dateien leistet die bash und ffplay (aus ffmpeg) wirklich gute Dienste.

#!/bin/bash
ls | sort -R | tail -n 1 | xargs -I A ffplay "A"
Das ganze einfach als randvideo.sh abspeichern und per chmod 0755 randvideo.sh die passenden Rechte setzen, schon wählt ./randvideo.sh innerhalb dieses Ordners für euch das passende Unterhaltungsprogramm aus dem Datengrab.

Doch was macht dieser Befehl? Nun, er macht folgendes:

  1. Ausgabe der Dateien im aktuellen Ordner
  2. Sotieren der Dateien nach zufälliger Reihenfolge
  3. Erstes Ergebnis nehmen, den Rest verwerfen
  4. Programm mit zuvor gewähltem Ergebnis ausführen
Das Script wurde bewusst einfach gehalten und es wird kein Anspruch darauf erhoben, dass dieses in jeder Situation fehlerfrei arbeitet. Vielmehr soll es als Inspiration dienen ;)

Update #1

Der liebe Rasi hat mir eine alternative Implementierung per Mail vorgeschlagen, welche ich euch nicht vorenthalten möchte:

foo=(*); rand=$[ $RANDOM % ${#foo[@]} ]; ffplay "${foo[$rand]}"
Der Vorteil dieser Lösung ist, dass alles innerhalb der bash abläuft und auf die Pipes meiner Lösung verzichtet wird. Der Nachteil ist, dass es IMHO für Laien schwerer zu verstehen ist was passiert.

Der Ablauf ist beinahe gleich, der einzige Unterschied ist, dass ich bei meiner Lösung die Dateien zufällig sortiere, während die Lösung von Rasi einfach einen zufälligen Eintrag aus der Liste auswählt.

Im Laufe der Zeit sammelt sich auf der Festplatte sicherlich der das ein oder andere Porno Musikvideo. Oft verbringt man dann, ähnlich wie bei Streaming Diensten wie Netflix oder Amazon Instant Video, mehr Zeit mit der Auswahl, als mit dem tatsächlichen Konsum.

Das muss nicht sein, denn zumindest für lokale Dateien leistet die bash und ffplay (aus ffmpeg) wirklich gute Dienste.

#!/bin/bash
ls | sort -R | tail -n 1 | xargs -I A ffplay "A"
Das ganze einfach als randvideo.sh abspeichern und per chmod 0755 randvideo.sh die passenden Rechte setzen, schon wählt ./randvideo.sh innerhalb dieses Ordners für euch das passende Unterhaltungsprogramm aus dem Datengrab.

Doch was macht dieser Befehl? Nun, er macht folgendes:

  1. Ausgabe der Dateien im aktuellen Ordner
  2. Sotieren der Dateien nach zufälliger Reihenfolge
  3. Erstes Ergebnis nehmen, den Rest verwerfen
  4. Programm mit zuvor gewähltem Ergebnis ausführen
Das Script wurde bewusst einfach gehalten und es wird kein Anspruch darauf erhoben, dass dieses in jeder Situation fehlerfrei arbeitet. Vielmehr soll es als Inspiration dienen ;)

Update #1

Der liebe Rasi hat mir eine alternative Implementierung per Mail vorgeschlagen, welche ich euch nicht vorenthalten möchte:

foo=(*); rand=$[ $RANDOM % ${#foo[@]} ]; ffplay "${foo[$rand]}"
Der Vorteil dieser Lösung ist, dass alles innerhalb der bash abläuft und auf die Pipes meiner Lösung verzichtet wird. Der Nachteil ist, dass es IMHO für Laien schwerer zu verstehen ist was passiert.

Der Ablauf ist beinahe gleich, der einzige Unterschied ist, dass ich bei meiner Lösung die Dateien zufällig sortiere, während die Lösung von Rasi einfach einen zufälligen Eintrag aus der Liste auswählt.

23. November 2017

Vor wenigen Monaten hatte ein Test von TrueBSD (ehm. PC-BSD) nicht überzeugen können von BSD auf dem Desktop. Vor allem der Lumina Desktop machte keinen ausgereiften Eindruck. (siehe: TrueOS mit Lumina Desktop ausprobiert). Vor wenigen Tagen hat das FreeBSD-Derivat GhostBSD seine Version 11.1 veröffentlicht. Ein guter Anlass nochmal einen Blick auf BSD zu werfen.

GhostBSD verhält sich zu FreeBSD ein wenig wie Ubuntu zu Debian. Im wesentlichen nimmt GhostBSD den FreeBSD-Unterbau und perfektioniert es für den Desktopeinsatz. Dazu gehört eine grafische Installationsroutine und LiveCDs. GhostBSD bietet zwei Desktops zur Auswahl an: MATE und Xfce. Einerseits verzichtet man dadurch - im Gegensatz zu TrueOS - auf ein Alleinstellungsmerkmal gegenüber Linux, andererseits bietet man so zwei sehr ausgereifte Desktopoberflächen an.

Installation

Die Installationsroutine in der Live-Umgebung funktioniert solide und stellt auch unerfahrene Anwender durch die wenigen Einstellungsmöglichkeiten nicht vor unlösbare Herausforderungen. Die größte Entscheidung, die man als Anwender treffen muss ist, ob man ZFS oder UFS als Dateisystem präferiert. ZFS bietet natürlich sehr umfangreiche Optionen und ist sicherlich der größte Pluspunkt von BSD. Für ein normales Desktopsystem dürfte UFS allerdings ausreichen.

GhostBSD mit MATE

Desktop

Nach einem Neustart steht - in diesem Szenario - MATE zur Verfügung. Die GhostBSD-Entwickler haben den Desktop sehr liebevoll angepasst. Das Numix-Theme verleiht dem Desktop einen modernen Eindruck, nur die Schrift ist gewöhnungsbedürftig. Das lässt sich jedoch zum Glück leicht ändern. Ansonsten bietet der Desktop das gewohnte MATE-Erscheinungsbild.

Das vorinstallierte Tweak-Tool bietet einige erweiterte Einstellungsmöglichkeiten. Zusätzlich ist Plank vorinstalliert, womit sich ein macOS-ähnliches Dock einrichten lässt.

Die Programmauswahl ist vollständig, bietet aber keine Überraschungen. Neben den üblichen MATE-Programmen noch LibreOffice, Firefox und Thunderbird.

BSD-Unterbau

Die BSD-Basis bekommt man erstaunlich wenig zu Gesicht. Auf dem Testsystem lief das System soweit rund und die angeblich schlechtere Hardwareunterstützung war nicht spürbar - einige VM ist allerdings auch kein wirklich realitätsnaher Test. Gelegentlich macht sich das andere Basissystem aber doch bemerkbar, wenn man allzu gedankenlos Werkzeuge aus dem GNU/Linux-Pool nutzen möchte und ins leer läuft.

Die Paketquellen umfassen so ziemlich alles was die Open Source-Softwarewelt zur Verfügung stellt.

Zusammengefasst

GhostBSD mit MATE macht den negativen Eindruck den TrueOS von der BSD-Welt hinterlassen hat wieder wett. Das System fühlt sich rund an und funktioniert zuverlässig. Es bietet jedoch subjektiv auch kaum Vorteile gegenüber einem vergleichen Linux mit MATE - allerdings auch keine wirklichen Nachteile. Wer mal einen Ausflug in die BSD-Welt unternehmen möchte, sollte sich GhostBSD anschauen, wer mit Linux zufrieden ist und keine Experimente braucht, kann aber auch darauf verzichten.

Insbesondere in speziellen Nischenbereichen oder bei den wenigen proprietären Softwareprojekten, die abseits von Windows oder macOS verfügbar sind, bietet Linux deutlich mehr Vielfat.

Eigentlich sollte es ganz einfach sein: Hat man ein brauchbares WLAN Netzwerk in Reichweite → WLAN an. Hat man kein brauchbares WLAN Netzwerk in Reichweite → WLAN aus. Leider ist es nicht ganz so einfach. Auch, weil selbst dann, wenn man WLAN deaktiviert, noch immer nach Netzwerken gesucht wird.

Glücklicherweise lässt sich das alles ändern, auch wenn die entsprechenden Optionen (wohl absichtlich) nicht auf den ersten Blick erkennbar sind. Zudem lässt sich dank entsprechender App das WLAN in Zukunft auch automatisch ein- bzw. ausschalten, was einen enormen Komfortgewinn bringt (ja, wirklich).

Schritt 1: WLAN richtig konfigurieren

Hinweis:
Gilt für Android Version 6 oder höher. Bei vorherigen Versionen sind die Einstellungen eventuell anderweitig versteckt (aber hey, dafür gibt es ja eine Suchfunktion :D ).

Dazu die Einstellungen öffnen → Standort → Rechts oben auf die drei Punkte → Suche. Hier die WLAN-Suche deaktivieren. Wer möchte kann auch die Bluetooth-Suche abschalten.

Zudem kann man noch WLAN zur Standortbestimmung komplett deaktivieren. Dazu wiederum die Einstellungen öffnen → Standort. Dann, sofern noch nicht geschehen, die Standortbestimmung aktivieren. Erst dann kann man unter Modus → Nur Gerät selektieren. Danach kann die Standortbestimmung wieder deaktiviert werden.

Des Weiteren lässt sich WLAN im Ruhemodus automatisch deaktivieren. Die Option findet sich unter Einstellungen → WLAN → Auf das Zahnrad klicken → WLAN im Ruhemodus aktiviert lassen. Hierbei gibt es die drei Optionen "Immer", "Nur wenn angeschlossen" und "Nie". Hierbei sollte man sich aufgrund des eigenen Nutzungsverhaltens entscheiden.

Schritt 2: WLAN-Automatik einrichten

Da Android von Haus aus keine entsprechende Funktion bietet ist hierfür eine App nötig. Ich habe mich nach etwas Recherche für den Smarter Wi-Fi Manager entschieden. Dieser kann entweder via Google Play Store oder F-Droid installiert werden.

Nach der Installation muss die App noch konfiguriert werden. Ich persönlich will keine GPS-basierte Abschaltung, sondern nutze die Tower-basierte Automatik. D.h. beim ersten Start wählt man bei Location Management Type entsprechend Towers aus.

Unter Gespeicherte Netzwerke all die Netzwerke selektieren, welche die Automatik nutzen sollen. Unter Ignorierte Netzwerke kann man noch all jene selektieren, welche ignoriert werden sollen. Letzteres ist aber nicht unbedingt nötig.

Unter Einstellungen → Sendemasten kontinuierlich orten zudem noch den Haken herausnehmen. Es ist nicht nötig das Smartphone unnötig wach zu halten.

Das war's dann auch schon. In Zukunft schaltet sich das WLAN, je nach Sendemast welcher gerade in der Nähe ist, automatisch ein- oder aus.

20. November 2017

Da mein bisheriger Bloggenerator Acrylamid nicht mehr weiter entwickelt wurde suchte ich nach einer neuen Lösung und hatte mich eigentlich schon auf BlogC++ festgelegt, aber dann habe ich mir mal Hugo angeschaut und war begeistert wie schnell ich meinen Blog damit zum Laufen brachte.

Ganz reibungslos ging das aber leider auch nicht. Da Acrylamid nur von sehr Wenigen eingesetzt wurde gibt es keinerlei Importer, welche die Dateien zu Hugo importieren können. Daher ging ich den kruden Weg meinen Feed mit einem Jekyll-Importer zu Jekyll zu importieren und diese Dateien dann wieder zu Hugo zu importieren. Die alten Posts liegen jetzt leider nicht als Markdown-, sondern als HTML-Dateien vor was folgende Nachteile hat:

  • Bisherigen Beiträgen fehlen alle Tags
  • Beim Import wurdein einige Permalinks unbrauchbar (Plötzlich hatte ich Umlaute in den URLs 🙀)
  • Die Position des “Read more”-Links blieb nicht erhalten
  • Bei Beiträgen mit langen Codeblocks ist teilweise die Nummerierung in den Auszug geraten

Ich hoffe ich habe alle Fehler gefunden und beseitigt, kann aber nicht ausschließen, dass an einigen Stellen noch Feinarbeit nötig ist. Die Tags werde ich vermutlich nicht wiederherstellen, da das ein riesiger Aufwand wäre. Die URL der Feeds hat sich leider auch geändert und kann in Hugo anscheinend nicht konfiguriert werden. 😕

Insgesamt bin ich aber doch zufrieden, dass ich die Seite so schnell portiert bekam und werde jetzt erst mal Hugo eine Weile testen und dann entscheiden ob ich dabei bleibe oder mich doch noch mal näher mit BlogC++ befasse.

[Update 2017-11-23]

Mit einem schnell hingefrickelten (in diesem Fall passt die Bezeichnung wirklich) Script konnte ich 64% der Tags wiederherstellen. 😄

Ich hatte die Idee, dass ein XMPP-Chat für OSBN-Blogger und -Leser eine gute Möglichkeit wäre sich abseits von Kommentarspalten über das OSBN und Blogartikel zu unterhalten. Vor allem, da das OSBN-Forum kaum Beachtung findet. Also habe ich im OSBN-Forum vorgeschlagen einen XMPP-MUC (Gruppenchat) einzurichten, auf den OSBN-Teilnehmer bei Interesse hinweisen können und auch einen Blogbeitrag dazu geschrieben.

Der XMPP-MUC ist osbn@conference.trashserver.net und kann mit den gängigen Anwendungen genutzt werden:

Martin Dosch
Email: spam-blog[@mdosch.de]
XMPP: info[@mdosch.de]

GPG-ID für Emails:
0x52A57CFCE13D657D

XMPP OMEMO Fingerprints:

4BB14D95 7122E12F DFD2AFF7 89133F21 5C9523C4 3EE43AEB 0C015D0E 1131C643
951898C8 8F683D55 E7FE74DC 9B898048 9162D251 B140BD9E 5CCD8D28 F7F7DC70
66F5A79B 4D967BB3 0B001420 33649D14 6F6C3FEE CC00166A 4311B9EA 10AF2503
2FF1EC12 D0B029AD 51456ADC 2B18F716 972FF8F1 EB09EC46 2411DEE5 25E80550

Disclaimer – rechtliche Hinweise

§ 1 Warnhinweis zu Inhalten

Die kostenlosen und frei zugänglichen Inhalte dieser Webseite wurden mit größtmöglicher Sorgfalt erstellt. Der Anbieter dieser Webseite übernimmt jedoch keine Gewähr für die Richtigkeit und Aktualität der bereitgestellten kostenlosen und frei zugänglichen journalistischen Ratgeber und Nachrichten. Namentlich gekennzeichnete Beiträge geben die Meinung des jeweiligen Autors und nicht immer die Meinung des Anbieters wieder. Allein durch den Aufruf der kostenlosen und frei zugänglichen Inhalte kommt keinerlei Vertragsverhältnis zwischen dem Nutzer und dem Anbieter zustande, insoweit fehlt es am Rechtsbindungswillen des Anbieters.

§ 2 Externe Links

Diese Website enthält Verknüpfungen zu Websites Dritter (“externe Links”). Diese Websites unterliegen der Haftung der jeweiligen Betreiber. Der Anbieter hat bei der erstmaligen Verknüpfung der externen Links die fremden Inhalte daraufhin überprüft, ob etwaige Rechtsverstöße bestehen. Zu dem Zeitpunkt waren keine Rechtsverstöße ersichtlich. Der Anbieter hat keinerlei Einfluss auf die aktuelle und zukünftige Gestaltung und auf die Inhalte der verknüpften Seiten. Das Setzen von externen Links bedeutet nicht, dass sich der Anbieter die hinter dem Verweis oder Link liegenden Inhalte zu Eigen macht. Eine ständige Kontrolle der externen Links ist für den Anbieter ohne konkrete Hinweise auf Rechtsverstöße nicht zumutbar. Bei Kenntnis von Rechtsverstößen werden jedoch derartige externe Links unverzüglich gelöscht.

§ 3 Urheber- und Leistungsschutzrechte

Die auf dieser Website veröffentlichten Inhalte unterliegen dem deutschen Urheber- und Leistungsschutzrecht. Jede vom deutschen Urheber- und Leistungsschutzrecht nicht zugelassene Verwertung bedarf der vorherigen schriftlichen Zustimmung des Anbieters oder jeweiligen Rechteinhabers. Dies gilt insbesondere für Vervielfältigung, Bearbeitung, Übersetzung, Einspeicherung, Verarbeitung bzw. Wiedergabe von Inhalten in Datenbanken oder anderen elektronischen Medien und Systemen. Inhalte und Rechte Dritter sind dabei als solche gekennzeichnet. Die unerlaubte Vervielfältigung oder Weitergabe einzelner Inhalte oder kompletter Seiten ist nicht gestattet und strafbar. Lediglich die Herstellung von Kopien und Downloads für den persönlichen, privaten und nicht kommerziellen Gebrauch ist erlaubt.
Eigene Inhalte werden unter CC BY-SA veröffentlicht, davon ausgenommen sind als Zitat gekennzeichnete Stellen oder Beiträge in denen ausdrücklich auf eine andere Lizenz hingewiesen wird.

Die Darstellung dieser Website in fremden Frames ist nur mit schriftlicher Erlaubnis zulässig.

§ 4 Besondere Nutzungsbedingungen

Soweit besondere Bedingungen für einzelne Nutzungen dieser Website von den vorgenannten Paragraphen abweichen, wird an entsprechender Stelle ausdrücklich darauf hingewiesen. In diesem Falle gelten im jeweiligen Einzelfall die besonderen Nutzungsbedingungen.

Quelle: Impressum Muster von JuraForum.de

Quantum ist da – und Firefox ist wieder konkurrenzfähig geworden – technisch wieder auf der Höhe der Zeit. Doch ein Alleinstellungsmerkmal fehlt. Was der neue Firefox mit einer Zahnbürste gemeinsam hat …

Die Frage aus der Überschrift gerade im Open-Source-Umfeld zu stellen mag ketzerische Züge haben – schließlich war Firefox es, der das einst von proprietären Browsern abhängige Web befreite. Dass Webseiten heute für das Internet und nicht für bestimmte Browserversionen gemacht werden, ist auch das Verdienst von Firefox. Doch diese Zeiten sind vorbei, kein Browser kann sich heute noch Alleingänge leisten.

Die Poweruser und alten Hasen werden ihren Schockmoment bereits gehabt haben: Von den installierten und liebgewonnenen Erweiterungen bleibt oft nicht mal eine einzige erhalten im neuen Firefox. Das Alleinstellungsmerkmal ist erst einmal dahin. Die Möglichkeit, Firefox nahezu unbegrenzt den eigenen Bedürfnissen anzupassen, ist passé.

Alternativen

Alternativen müssen her, doch die sind, wenn es sie schon gibt, in der Regel nicht mehr so mächtig und umfangreich wie bisher. Das ist seitens Mozilla gewollt: Erweiterungen können nicht mehr so tief in die Firefox-Funktionen eingreifen wie bisher. Firefox hat mit seiner alten Oberfläche auch gleich die damit einhergehenden unglaublichen Anpassungsmöglichkeiten durch Dritte entsorgt.

Viele Entwickler umfangreicher Add-ons haben daher das Handtuch geworfen und die Entwicklung ihrer Firefox-Projekte eingestellt. Darunter viele kleine nützliche Helferlein, aber auch größere Projekte, die aus Firefox mehr machten als nur einen Browser. Das war abzusehen. Warum sollten gerade nichtkommerziell tätige Entwickler ihre über die Jahre gewachsenen Projekte auf eine neue technische Basis umstellen, wenn diese am Ende dann doch nicht mehr die Möglichkeiten bietet, die es ursprünglich einmal gab? Die Erweiterungen in Firefox sind qua Design nun das, was sie auch bei Chrome von Anfang an waren: Kleine Ergänzungen vor allem für das Handling der im Browser angezeigten Inhalte, aber kaum noch Änderungen an der Funktionalität des Browsers selbst.

Keine Alternative?

Mozilla steckte in der Zwickmühle: XUL, die alte Oberfläche, war langsam und bremste den Browser aus. Mit der darunterliegenden Technik, der Browser-Engine Gecko, sah es wenig anders aus. Das alte Konzept war immer noch wie für die Jahrhundertwende gemacht. Vor 15 Jahren genial, doch inzwischen zählen andere Dinge. Insofern hätte Mozilla schon längst den Stecker ziehen müssen, um den Anschluss an die Konkurrenz nicht zu verlieren. Geschwindigkeitszuwachs und höhere Stabilität sind die Punkte, die Mozilla erreichen muss und mit dem neuen Firefox auch erreicht.

Stabilität und Geschwindigkeit kommen, Flexibilität und Unabhängigkeit gehen

Das Problem bleibt jedoch: Geschwindigkeit ist nicht der Grund, weswegen sich viele Nutzer Firefox installieren. Das Alleinstellungsmerkmal von Firefox waren nie Stabilität und Geschwindigkeit, sondern Flexibilität und Unabhängigkeit. Gerade das Erweiterungssystem ermöglichte, auch Funktionen zu realisieren, die von Mozilla selbst eben gar nicht vorgesehen waren. Das machte den Browsernutzer zu einem guten Teil unabhängig vom Hersteller, was man beim letzten großen Re-Design beobachten konnte: Wem Australis nicht passte, installierte die entsprechenden Erweiterungen – und hatte seinen gewohnten alten Firefox wieder. Das geht nun nicht mehr.

Firefox gibt nun genau diese Alleinstellungsmerkmale auf, den Fundus an Add-ons, den bislang kein anderer Browseranbieter zustandebrachte. Über die Jahre war es zu einem phantastischen Ökosystem herangewachsen, das für fast alle erdenklichen Wünsche die passende Erweiterung bereithält. Selbst die vor einiger Zeit eingeführten Zwangssignierungen und die Umstellung auf schnellere Entwicklungszyklen haben diese Vielfalt nicht entscheidend ausbremsen können.

Harter Schnitt

Nun aber kam der harte Einschnitt – mit der Abschaffung der alten Erweiterungen wird der größte Teil des gesamten bisherigen Reservoirs an Firefox-Add-ons mit einem Schlage inkompatibel. Wenn die Erweiterungs-Entwickler ihre Erweiterungen nicht neuschreiben, wird die entsprechende Funktionalität künftig nicht mehr bereitstehen. Ob es wirklich so kommt, dass Erweiterungen reihenweise sterben – oder ob die Add-on-Programmierer am Ende doch in den sauren Apfel beißen und zumindest eine ähnlich umfangreiche Erweiterung anbieten werden, das wird sich in den kommenden Monaten zeigen.

Warum noch Firefox?

Damit wäre man wieder bei der Eingangsfrage: Wozu eigentlich noch Firefox? Im neuen Gewand ist er vor allem eine Alternative zu Googles Chrome und dessen Derivaten. Aber er bietet aus Anwendersicht praktisch nichts mehr, was andere nicht auch bieten. Was sind die stichhaltigen Gründe, heute noch zu Mozilla Firefox zu greifen, abseits von entwicklungsphilosophischen Erwägungen?

Leistungsstärke? Sind andere auch. Schnellerer Seitenaufbau und weniger Speicherbedarf? Hat die Konkurrenz schon lange. Neues Design? Nichts Weltbewegendes und erinnert immer noch viel zu sehr an Chrome. Smarte Features? Welche sollen das sein, die man woanders nicht auch findet? Wie will man bei Mozilla Chrome noch übertreffen? Oder ist das Ziel nur noch, eine Alternative zu bleiben? Nur genauso gut zu sein wie Chrome, das wird nicht reichen, um Google die Nutzer wieder abspenstig zu machen. Mit Screenshotfunktion und Pocket-Integration holt man jedenfalls kaum abspenstig gewordene Chrome-Nutzer wieder zurück.

Neuester Firefox aller Zeiten

Ausgerufen wird er von vielen schon als bester Firefox aller Zeiten – die Aufbruchstimmung ist spürbar. Ob es tatsächlich der beste ist, das wird sich auch an den künftigen Nutzerzahlen messen lassen müssen. Bleibt zu hoffen, dass es nicht auch zum größten Nutzerschwund aller Zeiten führt. Denn ob Firefox noch einmal so viele Nutzer begeistern wird wie zu seinen Hochzeiten, bleibt fraglich. Ein bisschen wirkt es, als wäre Firefox 57 die Antwort auf die Frage, die niemand gestellt hat. Unbestreitbar ist der Browser jedoch der neueste Firefox aller Zeiten, es ist der größte Umbruch seit seiner Entstehung, sowohl oberflächlich als auch unter der Haube. So gravierend waren die Änderungen nicht einmal, als die Transformation von der alten Mozilla-Suite zu Firefox erfolgte.

Firefox war bisher das Schweizer Taschenmesser unter den Browsern. Altmodisch, aber für jeden Einsatzzweck das richtige Werkzeug ausklappbar. Der neue Firefox wirkt dagegen wie eine elektrische Zahnbürste. Alles frisch und neu und noch ein bisschen modular – aber die Verwendungsmöglichkeiten sind überschaubarer geworden.