Seltsame DNS-Anfragen beim Starten von Chromium/Google Chrome

Es war einer dieser Abende an dem ich „nur mal kurz“ etwas testen wollte, über ein Ereignis gestolpert bin, anschließend vom Hundertsten ins Tausendste gekommen, um am Ende meine Browserwahl hinterfragen zu müssen.

Ihr kennt das.

Eigentlich wollte ich versuchen den SMB-Traffic zwischen meinem Homeserver und den Linux-Clients zu verschlüsseln, da ich gelesen hatte dass dies ab SMB Version 3 implementiert ist und der Samba Server ab Version 4.1 dies unterstützt. Leider funktioniert das nur mit neueren Windows Clients, da der Linux Client cifs-vfs (im Paket cifs-utils) Verschlüsselung bisher leider noch nicht integriert hat.

Beim Überprüfen ob der Traffic jetzt wirklich verschlüsselt ist oder nicht, ist mir aufgefallen dass mein Computer in unregelmäßigen Abständen seltsame DNS-Anfragen gestellt hat.

So zeigte Wireshark dass z.B. versucht wurde lhoxswzjeosw oder aqxoikiod (bzw. lhoxswzjeosw.fritz.box oder aqxoikiod.fritz.box wenn die Fritzbox als DNS Server gesetzt war) aufzulösen.

Weiterlesen

Shellscript ohne execute-flag im Terminal ausführen

Normalerweise muss zum Ausführen einer Datei unter Linux zuerst mit chmod das execute-flag gesetzt werden. Also z.B. chmod +x Dateiname, oder chmod 744 Dateiname. Damit wird die Datei für alle, oder nur dem Besitzer der Datei, ausführbar gemacht. Versucht man ein Skript  direkt auszuführen, für welches dieses Flag nicht gesetzt ist erhält man eine Fehlermeldung.

Möchte man ein Shellscript ausführen, für welches man das Execute-Flag aus Sicherheits- oder sonstigen Gründen nicht setzen möchte, so kann man dies tun indem das Script im Terminal mit dem Befehl sh aufgerufen wird.

sh skriptname.sh

Auf diese Weise lassen sich auch andere Skripte wie PHP oder Python Skripte im Terminal ausführen, sofern der entsprechende Interpreter installiert ist.

python skriptname.py

php skriptname.php


88x31_CC_by
Dieser Text ist lizensiert unter einer Creative Commons Namensnennung 4.0 International Lizenz.
Titelbild „linux-window-terminal-command-154766“ von Pixabay steht unter Creative Commons CC0

OpenVPN Server mit IPv4 und IPv6

Ich nutze schon länger einen eigenen VPN Server auf Basis von OpenVPN um meinen Internettraffic in öffentlichen, nicht vertrauenswürdigen Netzwerken zu verschlüsseln. Dieser hat allerdings nur einen IPv4 Tunnel unterstützt. Meine wenig zufriedenstellende Lösung für dieses Problem war immer das deaktivieren von IPv6 in solchen Situationen, um sicherzustellen dass keine Daten über die IPv6 Verbindung am VPN vorbei gelangen.

Da ich diese Situation für nicht akzeptabel hielt habe ich schon länger versucht den Server so zu konfigurieren dass der Client auch eine IPv6 Adresse erhält und IPv6 Traffic durch den VPN Tunnel geleitet wird.

Der einfachste Weg dies zu realisieren war lange Zeit die Nutzung der OpenVPN kompatiblen VPN Software pritunl. Pritunl lässt sich schnell einrichten, lässt sich einfach über ein Webinterface konfigurieren und unterstützt auch IPv6.
Allerdings war Pritunl bei mir nie so zuverlässig wie mein alter OpenVPN Server. Außerdem vergibt Pritunl keine öffentlichen IPv6 Adressen an die Clients sondern, sondern private und leitet den Traffic via NAT über die öffentliche Adresse des Servers. Aus diesem Grund war ich mit Pritunl leider auch nicht zufrieden.

Meine Wunsch war der Aufbau eines Tunnels über IPv4 (da eine IPv4 Verbindung i.d.R. immer vorhanden ist). Außerdem sollte darüber der IPv6 Traffic getunnelt werden und die Clients sollen eine öffentliche IPv6 Adresse aus dem /64 des Servers erhalten

Weiterlesen

Kill the Newsletter – Newsletter als RSS Feed abonnieren

Ich bin nach wie vor ein großer RSS Feed Fan. Meine Tiny-Tiny RSS Installation und die dazugehörige Android App gehören zu den von mir am meisten genutzten und geliebten Programmen. Über RSS Feeds habe ich viele Dutzend Blogs, Nachrichtenseiten, Podcasts uvm. abonniert, damit verbringe ich meine Zeit in öffentlichen Verkehrsmitteln und darüber informiere ich mich und darüber Nutze ich eine Vielzahl an Unterhaltungsangeboten.

Dass RSS tot ist sehe ich überhaupt nicht. So bieten alle großen, von mir genutzten Nachrichtenseiten wie Spiegel Online, Tagesschau, TAZ oder FAZ einen RSS Feed an. Sogar Youtube Kanälelassen sich über einen RSS Feed abonnieren (Youtube-Kanal als RSS Feed abonnieren).

Ein für mich bisher ungelöstes Problem waren allerdings Email-Newsletter. Es gibt doch einige informative Newsletter, die ich gerne abonniert habe und die ich sehr gerne lese. Nervig fand ich eben dass diese als Email ausgeliefert werden. Dies passt einfach nicht zu der Art wie ich Informationen konsumiere. Ich halte Newsletter nicht für wichtig genug um mir deren Eingang als Pushnachricht auf dem Smartphone signalisieren zu lassen. Wenn ich das allerdings nicht tue, dann gehen die Newsletter in irgendeinem Emailordner unter.

Offensichtlich bin ich nicht der einzige Mensch der vor diesem Problem stand, denn ein Mann Namens Leandro Facchinetti, der sich selbst als Autor von Prosa, Software und Liedern beschreibt hat den Dienst „Kill The Newsletter“ ins Leben gerufen.

Kill the Newsletter wandelt Email-Newsletter in einen RSS Feed um.

Weiterlesen

SHA512 Passwort-Hash für Nginx Basic Auth nutzen

Vor einiger Zeit rief Mike Kuketz in seinem Microblog dazu auf MD5 htpasswd Hashes zu ersetzen. Dabei empfiehlt er anstatt MD5 oder SHA1 auf bcrypt zu wechseln.

Für den Apache Webserver können Bcrypt verschlüsselte Passwörter einfach mit dem tool htpasswd und dem Schalter -B erzeugt werden (htpasswd -Bc passwordfile username). Apache unterstützt die Formate bcrypt, apr1 (MD5), SHA1, crypt () und unverschlüsselten Plain text.

Das Nginx Basic Auth Modul versteht jedoch keine bcrypt Hashes.

Tatsächlich unterstützt Nginx laut Dokumentation nur Plain text, crypt(),  apr1 (MD5), SHA1 und SSHA (salted SHA1) welche alle als mehr oder weniger anfällig für Kollissionsangriffe gelten (unterschiedliche Passwörter können den selben Hash ergeben).

Weiterlesen

Ubuntu Homeserver-Virtualisierung mit KVM und QEMU

Seit mehreren Jahren betreibe ich einen Homeserver auf Ubuntu Server Basis, ähnlich wie im Artikel Selbstgebauter Homeserver/NAS mit Ubuntu Server beschrieben. Im Gegensatz zum Artikel befinden sich die Daten jedoch auf einem verschlüsselten Laufwerk. Dies bedeutet dass ich beim Booten des Rechners immer das Passwort zum entschlüsseln der Laufwerke über eine am Homeserver angeschlossene Tastatur eingeben muss. Es hat außerdem den Nachteil dass bei einem unbeabsichtigten Neustart, z.B. aufgrund einer Stromschwankung, der Homeserver solange nicht erreichbar ist bis das Passwort eingegeben wurde. Wenn ich mich in diesem Fall außer Haus befinde kann ich von unterwegs nicht auf meine Daten zugreifen.

Aus diesem Grund habe ich mich als Wochenendprojekt mit der Virtualisierung eines Homeservers beschäftigt. Hierbei wurde ein unverschlüsseltes Hostsystem eingerichtet, was auch nach einem Stromausfall wieder vollständig starten kann. Darauf wurde eine Virtuelle Maschine erstellt, deren virtuelles Laufwerk bei der Installation verschlüsselt wurde. Über eine virtuelle Maschinenverwaltung kann man dann von einem beliebigen Rechner aus das Festplattenpasswort für den Homeserver während des Bootprozesses eingeben.

Das Setup hat außerdem den Vorteil dass nach Bedarf einfach zusätzliche virtuelle Computer erstellt werden können, um z.B. Software zu testen oder ein anderes Betriebssystem zu nutzen.

Zur Virtualisierung habe ich KVM verwendet und zur Verwaltung den virt-manager.

Weiterlesen

Nginx Logfiles anonymisieren und mit AWstats auswerten

Bei AWStats handelt es sich um ein recht bekanntes Werkzeug zum Auswerten von Serverlogfiles. Es eignet sich wunderbar um einen Eindruck davon zu bekommen wie häufig eine Webseite aufgerufen wird und auch welche Beiträge am beliebtesten sind. Eine Demo des Tools findet sich auf der offiziellen Webseite des Projekts. Der Vorteil gegenüber richtigen Tracking Lösungen wie Google Analytics oder Piwik ist, dass nur Daten ausgewertet werden welche sowieso schon in den Serverlogfiles vorhanden sind. Da keine zusätzlichen Daten über Cookies oder Javascript Code erfasst wird ist das Tracking allerdings auch weniger genau.

Ein Problem bei der Auswertung von Serverlogs ist dass in der Standardkonfiguration alle Webserver die vollständige IP Adresse der Besucher speichern. Auch wenn dies rechtlich noch nicht abschließend geklärt sein mag, handelt es sich nach Ansicht vieler Fachleute bei der IP Adresse um ein personenbezogenes Datum, welches ohne ausdrückliche Einwilligung des Besuchers nicht ausgewertet werden darf. Aus rechtlichen Erwägungen und aus Respekt vor der Privatsphäre der Webseitenbesucher müssen die Logfiles also zuerst einmal anonymisiert, also mit verkürzeter IP Adresse gespeichert werden.

Der nächste Stolperstein ist Nginx selber. AWStats liegt als Perl Skript vor, welche von Nginx selbst jedoch nicht ausgeführt werden können.

Weiterlesen

Mit mp3splt Audiodateien nach bestimmter Länge bei Stille schneiden

Leider sind die von mir genutzten Mediacenter nicht in der Lage sich bei Audiodateien die Stelle zu merken an welcher man aufgehört hat zu hören. Bei Filmen ist diese Funktion eine Selbstverständlichkeit, bei Audio leider nicht, was besonders bei sehr langen Audiodateien wie Hörbücher ein Problem ist.

Um nicht immer an die Stelle spulen zu müssen an der ich aufgehört habe zu hören wollte ich meine Hörbücher in mehrere kleine Stücke zerteilen, um schnell an eine bestimmte Stelle springen zu können. Noch schöner wären natürlich Kapitelmarken in Audiodateien, aber diese Funktion hat sich leider außerhalb von Podcasts noch nicht wirklich durchgesetzt.

Zum einfachen Zerteilen von Mp3 Dateien bietet sich unter Ubuntu das Programm mp3splt an, welches als Kommandozeilenwerkzeug einfach aus den Paketquellen installiert werden kann. Bis Ubuntu 15.10 war auch die GUI Version mp3splt-gtk in den Paketquellen enthalten. Wer möchte kann sich das .deb Paket aus dieser Version nach wie vor bei packages.ubuntu.com herunterladen und installieren, allerdings gibt es dann dafür keine Updates und ich fand die Kommandozeilenversion deutlich einfacher zu bedienen als das unübersichtliche GUI.

Weiterlesen

TOP – Ein Standardprogramm zum Anzeigen von Prozessen und Systemresourcen

Das Programm Top ist sicherlich den meisten ein Begriff. Beim Aufruf in einem Terminalfenster mit dem Befehl „top“ werden einem mehr oder weniger übersichtlich Informationen zu den Systemressourcen und den laufenden Prozessen angezeigt.

Im Gegensatz zum beliebten Htop, welches den gleichen Zweck etwas übersichtlicher erfüllt, ist Top bei den meisten Linuxdistributionen standardmäßig installiert. Das Vorhandensein von Top auf einem Linuxrechner kann quasi vorausgesetzt werden. Auch wenn man auf einem System arbeitet auf dem Htop nicht installiert ist und man nicht die Rechte hat Programme nachzuinstallieren, kann man mit Top einen Überblick über die verfügbaren und verwendeten Systemressourcen sowie die laufenden Prozesse gewinnen.

Ich dachte also dass es sich lohnt sich einmal etwas genauer mit Top auseinanderzusetzen.

Top kann ohne weitere Parameter mit dem Befehl top aufgerufen werden und empfängt einen dann mit folgender Übersicht

top-1

Weiterlesen

HTTP Public Key Pinning (HPKP) mit Apache/Ubuntu Webserver

Die verschlüsselte Übertragung von Webseiten via HTTPS funktioniert sicher und zuverlässig. Weniger sicher und zuverlässig ist jedoch die verwendete Technik zur Identifizierung des Gegenübers. Derzeit sollen Certificate Authorities (CAs) sicherstellen dass man beim Aufruf von z.B. https://www.techgrube.de auch wirklich direkt mit techgrube.de spricht und nicht etwa mit einer Phisingsite. Das Problem ist dass die gängigen Browser hunderten von CAs vertrauen. Wenn ich als Webseitenbetreiber mir ein Zertifikat von „TrustedCA Number 1“ erstellen lassen hindert das einen Angreifer nicht daran sich ein gültiges Zertifikat von „TrustedCA Number2“ erstellen zu lassen. Der Besucher merkt nicht dass er auf eine falsche Seite umgeleitet wurde.

Die Gefahr dass eine HTTPS Verbindung aufgebrochen und vom Besucher unbemerkt neu verschlüsselt wird ist dabei keineswegs nur eine theoretische. So hat die auf Lenovo vorinstallierte Adware Superfish genau das gemacht. Auch in Unternehmen ist dies aus „Sicherheitsgründen“ nicht unüblich.

HTTP Public Key Pinning (kurz: HPKP) kann diese Problematik deutlich entschärfen.

Weiterlesen

1 2 3 8