Arch Linux Tux

[ENC]BladeXP's Blog

Was die Welt nicht alles braucht!

Netzneutralität, Qualität, Vodafone

2015-06-09 21:24 | Kategorien: allgemeines

Golem berichtet das Vodafone mit dem Zukauf Kabel Deutschland den Videodienst Netflix unterstützen möchte. Ich finde es großartig das ein Provider erkannt hat, das seine Dienstleistung primär im Transport von IP Paketen besteht, allerdings heiligt der Zweck noch lange nicht die Mittel.

Qualitätsklassen

So schreibt Golem:

Der Chef von Kabel Deutschland würde gerne Qualitätsklassen anbieten, bei der die Daten von Firmen wie Netflix gegen Zahlung besser behandelt werden.

Was Qualitätsklassen sind, ist vor allem Telekom Kunden bekannt, dort ruckelt seit Jahren YouTube weil Google nicht dazu bereit ist, dem ehemaligen Monopolisten Geld in den Rachen zu werfen. Natürlich steht es jedem frei, genug Geld vorausgesetzt, sich in eine derartige Qualitätsklasse einzukaufen. Alle anderen dürfen sich den Rest der noch verfügbaren Bandbreite teilen. Das Google aber den anfallenden Traffic schon bei seinem Provider bezahlt hat wird von Providern wie der Telekom oder Kabel Deutschland (Vodafone) wissentlich ignoriert.

Alternative

Die Alternative zu Qualitätsklassen wäre vor allem ein zukunftsorientierter Netzausbau mit entsprechender Bandbreite und akzeptablen Tarifen. Die Menschen möchten nicht mehr die zusätzlichen Dienstleistungen des Providers, sondern einen ungefilterten, schnellen und günstigen Zugang zum Internet.

So lange Netzneutralität nicht in Gesetzen verankert ist werden Provider immer wieder Versuchen zusätzliche Einnahmen durch schlechten Service zu generieren. Die Nachteile hat der Kunde, denn nur Dienstleistungen, welche sich der eigene Provider noch mal vergolden lässt, können in akzeptabler Geschwindigkeit oder Qualität genutzt werden.


Platz auf der SSD mit Windows sparen

2015-04-16 18:23 | Kategorien: arch debian linux opensource software ubuntu windows

Egal ob in einer virtuellen Maschine oder noch auf richtiger Hardware, Windows gönnt sich mit den Standardeinstellungen von Microsoft ordentlich Platz auf der Platte. Problematisch wird dies bei richtiger Hardware, den SSDs sind noch relativ teuer, aber auch als virtuelle Maschine verfügt der Host in der Regel nicht über unbegrenzte Ressourcen.

Mit den Standardeinstellungen gibt es zwei große Dateien auf dem Laufwerk C, diese wären:

  • hiberfil.sys
  • pagefile.sys

Diese beiden Dateien können selbst vom Administrator nicht gelöscht werden, was auch sinnvoll erscheint, wenn man weiß, für was diese Dateien gut sind. Nachfolgend eine kleine Erklärung aus leichter Linux Perspektive und natürlich eine Möglichkeit sich dieser beiden Dateien zu entledigen.

SWAP deaktivieren/verkleinern

Beide Dateien entsprechend grob dem unter Linux bekannten Swap, sind also Auslagerungsspeicher, welcher genutzt wird, wenn entweder kein RAM mehr im System frei ist, oder der Kernel, den RAM lieber für sinnvollere Dinge verwenden würde. Beide Dateien sind in der Regel so groß wie der installierte Arbeitsspeicher, bei den hier installierten 32GB also zusammen 64GB. Auf einer 1TB Festplatte spielt dies keine große Rolle, auf einer 256GB SSD schon.

Der erste Schritt sollte auf jeden Fall sein den Auslagerungsspeicher zu verkleinern, dies wäre die Datei pagefile.sys. Je nach Arbeitsspeicher kann man auf diesen sehr langsamen RAM Ersatz vollständig verzichten, oder zumindest diesen auf 2-4GB begrenzen. Wird die Auslagerungsdatei regelmäßig und viel genutzt, sollte man sich ohnehin mehr Gedanken um mehr RAM machen ;)

Um diese Einstellungen zu verändern, muss man zuerst die den Eintrag System in der Systemsteuerung öffnen. Anschließend hangelt man sich durch die in Screenshots dokumentierten Dialoge.



Hibernate deaktivieren

Der nächste Schritt führt dazu das eine Funktion entfällt: Hibernation. Gemeint ist damit ein Verfahren das auch Suspend to Disk genannt wird. Das Betriebssystem speichert den aktuellen Inhalt des RAMs in der Datei hiberfil.sys und schaltet dann den Computer aus. Beim nächsten Einschalten wird dieses Image geladen und alles geht an der Stelle weiter, wo zuvor unterbrochen wurde.

Einfacher als das Anpassen der SWAP Einstellungen geht das deaktivieren der Hibernation, hierzu muss lediglich in einem Administrator Terminal (cmd.exe mit rechter Maustaste als Administrator ausführen) der Befehl powercfg -h off eingegeben werden.

Bei virtuellen Maschinen ist die Funktion der Hibernation eh äußerst fragwürdig, denn hier kann man den Zustand der Maschine jederzeit von außen einfrieren, ganz ohne Platzverschwendung im Image der virtuellen Maschine.


Auflösung ist nicht gleich Auflösung

Wie groß ist eigentlich ein Pixel? Was wie die Frage eines Kindes klingt, ist selbst für erwachsene nicht einfach zu beantworten. Die richtige Antwort, welche vor allem Juristen freuen dürfte: Das kommt drauf an!

Beispiel

Ein Ordner welcher 14 PNG Dateien mit jeweils 1648x2290 Pixel Auflösung enthält, sollte mit nachfolgendem Befehl in ein PDF umgewandelt werden:

convert Folder/*.png -quality 20 -compress JPEG target.pdf

In den letzten Jahren leistete dieser Befehl stets großartige Arbeit, doch heute war etwas anders. Das Resultat war, das 2 der 14 Seiten trotz vermeintlich gleichem Format der Quelldaten nur ca. 60% der Größe hatten. Wie ich gut eine Stunde (und 2 Bier) später feststellen durfte, war die Ursache in den Einstellungen meines Scanners zu finden: Die vorhandenen Dateien wurden mit 200 DPI Auflösung gescannt, die heutigen Dateien aber mit 300 DPI (man gönnt sich ja sonst nichts). In den Quelldaten ist die Auflösung des Scanners enthalten, eine Eigenschaft die mein typischer Arbeitsablauf (Bilder anpassen und konvertieren mit GIMP) nicht verändert hat. Durch diese Information in der Quelldatei ging convert davon aus, es müsse die unterschiedlichen Dateien angleichen.

Lösung

GIMP Dialog Print Size

Des Rätsels Lösung bestand darin innerhalb von GIMP zu definieren, welche Druckgröße ich gerne haben möchte. Im Menü Bild findet man den im Screenshot sichtbaren Dialog Druckgröße, dort kann direkt die gewünschte Auflösung als DPI Wert (oder auch eine andere für den Zweck passende Einheit) hinterlegt werden. Nach einem erneuten Exportieren der Datei im PNG Format war auch das PDF, welches convert erzeugte, im richtigen Format. Alternativ können auch alle Dateien neu als PNG exportiert werden, wichtig wäre dabei, dass der Haken Auflösung speichern entfernt wird, ich halte den zuerst genannten Weg jedoch für sinnvoller.

Fazit

Wie groß ist jetzt ein Pixel? Das ist immer abhängig vom Zielmedium und dessen Auflösung in Abhängigkeit zur Größe. Eine Grafik mit 640x480 Pixeln Auflösung wirkt auf einem 50" Full-HD TV vergleichsweise klein, auf einem 10 Meter LED Board im Außenbereich (Werbetafel,1024x768) wirklich groß und an einem 1200-DPI-Drucker geradezu winzig. Indem einer Datei hierzu Informationen auf den Weg gegeben ("Ich wurde mit 300 DPI gescannt.") kann Software automatisch eine entsprechende Anpassung durchführen.

In meinem Beispiel hat convert festgelegt, dass die erste Seite 1648x2290 Pixel bei 200 DPI hat, die nachfolgenden Seiten werden an diesem Standard angepasst. Meine heute gescannten Seiten hatten 300 DPI, was bedingt das diese, um die gleiche Fläche zu füllen, 2472x3435 Pixel haben müssen. Denn ob ich 300 Pixel pro Inch unterbringe oder 200 ist ein wesentlicher Unterschied, es ist also wichtig, Auflösung immer in Relation zur Größe zu setzen.


Rechte von Dateien und Ordnern rekursiv anzeigen

2015-03-07 15:05 | Kategorien: arch debian linux opensource software ubuntu

Häufig kommt es vor das man für eine Anwendung, z.B. einem Webserver, aufpassen muss, welche Berechtigungen das Zielobjekt hat. Doch neben den Rechten für das Zielobjekt, also einer Datei oder einem Ordner, sind auch noch die Berechtigungen auf dem Weg zum Ziel innerhalb des Dateisystems relevant.

Ein großartiges Tool um die Berechtigungen vollständig anzuzeigen ist das Tool namei welches auf jeder Linux Distribution installiert ist, denn es ist Bestandteil des Paketes util-linux.

[stefan@hostname:~] namei -l /home/stefan/Documents/Entwicklung/Python/inyoka/development_settings.py
f: /home/stefan/Documents/Entwicklung/Python/inyoka/development_settings.py
drwxr-xr-x root   root  /
drwxr-xr-x root   root  home
drwx------ stefan users stefan
drwxr-xr-x stefan users Documents
drwxr-xr-x stefan users Entwicklung
drwxr-xr-x stefan users Python
drwxr-xr-x stefan users inyoka
-rw-r--r-- stefan users development_settings.py

Im Beispiel ist gut ersichtlich das mit namei -l der komplette Pfad rekursiv aufgelöst wird, für jedes Element werden dabei die jeweiligen Berechtigungen (Benutzer, Gruppe, Rechte) angezeigt. Leider funktioniert dies nur für normale Unix Berechtigungen, ob es ein Tool gibt welches ähnliches auch für Posix ACLs leistet ist mir gegenwärtig nicht bekannt.


Sicheres Heimnetzwerk trotz TR-069

Das beliebte Protokoll TR-069 ermöglicht die Fernkonfiguration und Administration der meisten heute üblichen DSL Router durch den Provider. Auf dem 31c3 wurde auch ausschließlich positiv darüber berichtet. Ein Grund, sich Gedanken zu machen wie man den Schaden den TR-069 anrichtet, etwas eindämmen kann.

Die von uns verwendeten und liebevoll Plasterouter genannten DSL Endgeräte werden vor allem unter dem Kostenaspekt entwickelt, das Budget welches in die Sicherheit dieser Geräte gesteckt wird, dürfte sehr überschaubar ausfallen. Spürbar wird dies vor allem, da Millionen dieser Geräte mit relativ ähnlicher Software im Einsatz sind, relativ ähnliche Software meint auch vergleichbare Angriffswege. Auch wenn ich in diesem Artikel stets DSL Router schreibe, gemeint sind natürlich auch andere Übertragungswege, das Problem ist also nicht auf DSL als Technologie beschränkt.

Je nach Provider ist es aktuell nicht oder nur umständlich möglich an die Internetzugangsdaten zu kommen, für den Laien macht TR-069 also einen hervorragenden Job. Bedingt durch die automatische Konfiguration ist eine Herausgabe dieser Informationen nicht mehr erforderlich, zumindest, bis der Gesetzgeber hier etwas unternimmt. Problematisch ist, wenn man sein Netz nicht in die Hände seines Providers legen will, sondern auch gerne weiterhin der einzige Administrator sein möchte.

Nachfolgend möchte ich eine Lösung für dieses Problem anbieten, ich akzeptiere dabei, dass es TR-069 gibt und verzichte auf eine Aktion mit Fackeln und Mistgabeln. Dabei betrachte ich den heimischen DSL Router als potenziell kompromittiertes Gerät, welches zu umgehen ist. Der Vorteil meiner Lösung ist auch das man ohne großartige Umkonfiguration den Provider wechseln kann, an der heimischen Vernetzung ist nur noch der DSL-Router durch einen beliebigen anderen zu tauschen.

Aufbau

Für mein sicheres Heimnetz habe ich unterschiedliche Anforderungen, einige davon sind:

  • Administrativen Einfluss des Providers auf meine Geräte verhindern oder zumindest minimieren.
  • LAN/WLAN für Gäste, ohne die Gefahr für dessen Nutzung haftbar gemacht zu werden.
  • Providerspezifische Probleme (Youtube vs. Telekom) umgehen.
Nach reichlicher Überlegung bin ich dann auf eine Lösung mit mehreren unterschiedlichen Netzen gekommen, es wird also zukünftig folgende Netzwerke geben:
  • Providernetz
  • Privates LAN
  • Gast LAN
  • Provider Internet
  • Richtiges Internet
Das die einzelnen Netze stets durch geeignete Maßnahmen (iptables) voneinander geschützt sind versteht sich von selbst.

Providernetz

Das Providernetz ist das Netz, welches direkt aus dem DSL Router vom Provider tröpfelt, da hier TR-069 im Spiel ist und billigste Komponenten ohne Rücksicht auf Sicherheit verbaut werden, traue ich diesem Netz nicht weiter als ich ein voll bestücktes Bladecenter werfen kann.

Im Providernetz befinden sich vor allem Geräte, die ohnehin dem Provider gehören, also z.B. Entertain Büchsen und Smart-TVs.

Privates LAN

Mein privates LAN ist ein Netzwerk welches Geräte enthält, die von mir als vertrauenswürdig eingestuft wurden, es handelt sich dabei also primär um PCs, Notebooks oder Drucker. Ob man ein Android, iOS oder Windows Gerät in dieses sensible Netz lässt muss jeder für sich selbst entscheiden ;)

Dieses Netz hat einen eigenen Router, dieser wird an das Providernetz mit der WAN Seite angeschlossen, vor dem Router meines privaten Netzes ist also das böse Providernetz, hinter diesem meine eigenen Geräte.

Gast LAN

Bedingt durch fehlende flächendeckende kostenlose Hotspots und fragwürdige Tarifstrukturen, wünschen sich viele Besucher ein WLAN um den neuesten Cat Content begutachten zu können. In der einfachsten Variante nimmt man hierfür einfach Freifunk, wodurch auch das Problem mit der Anbieterstörhaftung beseitigt wäre. Das Gast-LAN ist auch mit der WAN Seite an das Providernetz angeschlossen, hat also sinnvollerweise keine Verbindung zu unserem privaten Netz.

Provider Internet

Der ISP (Internet Service Provider) stellt ja als Hauptaufgabe vor allem Internet bereit. Problematisch hierbei sind häufig Verstöße gegen die nicht vorhandene Netzneutralität. Das bekannteste Beispiel sind "zufällige" Probleme bei Google Diensten wie Youtube. Dieses Internet nutzen wir nur ausgehend vom Providernetz, den anderen Netzen spendieren wir richtiges Internet ;)

Richtiges Internet

Richtiges Internet? Durch Tunneln von unserem privaten Netz zu einem (v)Server erreichen wir durch einen kleinen Umweg ein Internet, welches nicht von unserem Provider beeinflusst wird. Für diesen haben wir nur 1-2 ausgehende VPN Verbindungen am Laufen, der Rest geht durch den Tunnel und verlässt diesen erst am VPN Endpoint. Unser Gast-LAN geht auch durch einen Tunnel, bei Freifunk ist das dank der aktuellen Rechtssprechung Standard.

aufbau.png

Da ein Bild oft mehr sagt als 1000 Worte:

Für einen Picasso wird es wohl nicht reichen, aber ich hoffe man kann grob meine Idee nachvollziehen.

Vorteile

Durch diesen Aufbau hat der Provider nur noch Zugriff auf den DSL-Router sowie Geräte im Providernetz, die Gäste, als auch meine privaten Geräte bleiben davon isoliert. Für "problematische Gäste" entfällt eine Haftung, wer weiß, welche Virenschleudern kreative Dinge im Internet machen ;)

Mit dem Providernetz ist auch sichergestellt das von diesem bereitgestelltes Equipment wie Media Reciever (Entertain) auch einfach funktioniert, im Support Fall kann direkt die Hotline angerufen werden und man muss nicht erst 2 Stunden dem netten Sachbearbeiter erklären, dass ein Problem mit dem Routing nicht auf einen alternativ verwendeten Router zurückzuführen ist.

Bisher problematische Dienste werden zukünftig funktionieren, da die Beschränkungen des Providers nicht mehr greifen. Der typische Telekom Kunde darf sich über ruckelfreies Youtube HD freuen ;)

Nachteile

Der Komplexe Aufbau dürfte vor allem Laien überfordern, ich sehe diese aber auch nicht als Zielgruppe für ein solches Setup. Ein weiteres Problem ist der deutlich höhere Hardware Einsatz (3 Router statt einer) und damit verbunden höhere Energieverbrauch. Neben den etwas höheren Kosten für diesen Energieverbrauch müssen auch die Anschaffungskosten für die zusätzlichen Router bedacht werden, eventuell reichen im Haus vorhandene Datendosen nicht mehr aus und man muss welche nachträglich installieren oder kreativ VPNs im eigenen Haus über das Providernetz schalten.

Fazit

Mein eigenes LAN wird im Laufe des Jahres auf dieses Setup umgestellt, sollten sich dabei nützliche Erfahrungen oder notwendige Korrekturen ergeben werde ich natürlich wieder berichten.