Kommunikationsverschlüsselung: GPG

Heute schreibe ich über E-Mails, deren latente Unsicherheit und wie man daraus noch etwas ordentliches macht.

Zunächst einmal sollte man wohl beim Thema E-Mails ansetzen. Eine E-Mail ist, wie der Name schon sagt, eine elektronisch versendete Nachricht. Die Einzelheiten dazu findet ihr hier und hier.

Die Besonderheit dabei ist, dass E-Mails mitnichten mit Briefen gleichzusetzen sind, wie allenthalben angenommen wird. Vielmehr sind E-Mails das digitale Äquivalent zur Postkarte: Billig, schnell und lesbar von jedem, der sie auf dem Weg vom Sender zum Empfänger in die Hände bekommt. Mit ein wenig Geschick sind sie sogar manipulierbar und bergen damit ein großes Potenzial für Misslichkeiten aller Arten.

Dagegen hilft nicht viel, die einzige Möglichkeit um aus einer Postkarte eine sichere (siehe dazu auch einen älteren Eintrag) Möglichkeit zur Kommunikation zu machen ist, sie in einen Umschlag zu stecken und den Umschlag zu versiegeln. Wird das Siegel gebrochen weiß der Empfänger, dass die Nachricht nicht mehr in dem Zustand ist, in dem sie den Sender verlassen hat.

Das gleiche kann man problemlos auch bei E-Mails tun: Umschläge und Siegel benutzen.

Dazu installiert man sich das FOSS-Programm GPG, mit dessen Hilfe man sich die Umschläge und das Siegel selbst bauen kann. In den meisten Linux-Distributionen zählt GPG als Bordmittel und ist dementsprechend vorinstalliert. Der Grund dafür ist, dass GPG weit mehr kann, als nur E-Mails verschlüsseln. Was das ist kann man bei Interesse auf der Projektwebsite nachlesen.

Im Interesse der Benutzerfreundlichkeit empfehle ich außerdem, das Programm “Mozilla Thunderbird” sowie dessen Extension “Enigmail” zu installieren. Beides ist in den Debian-Repositories hinterlegt.

Wenn alles installiert ist könnt ihr loslegen. Eine bebilderte Schritt-für-Schritt-Anleitung, die selbst der letzte n00b verstehen sollte findet ihr hier.

Ich möchte gar nicht viel zum eigentlichen Einrichten sagen, da ich finde, dass das die Jungs vom CryptoCD-Team verdammt gut gelöst haben.

Zur Benutzung möchte ich euch allerdings einige Hinweise an die Hand geben.

Stellt euch die Technik vor, als würdet ihr jedem, der euch eine Nachricht schicken möchte, einen Stapel Stahlkisten zuschicken. Jede dieser Stahlkisten hat ein Schloss, das nur mit einem bestimmten Schlüssel zu öffnen ist. Diesen Schlüssel habt ihr allein. Wenn ein Freund euch jetzt eine Nachricht schicken will, nimmt er eine dieser Stahlkisten von seinem Stapel und steckt die Nachricht hinein. Dann schlägt er die Tür zu. Ab jetzt kann die Kiste nur noch mit dem richtigen Schlüssel geöffnet werden. Jetzt setzt sich der Bote ans Steuer seines LKW und fährt die Kiste zu euch. Ihr macht die Kiste auf und  siehe da – die Nachricht hat euch erreicht, ohne, dass jemand anderes sie lesen oder verändern konnte. Und damit ihr sicher sein könnt, dass die Nachricht auch von eurem Freund kommt, hat der sie unterschrieben und sein Siegel auf der Nachricht hinterlassen. Für die Antwort nehmt ihr eine Stahlkiste vom Stapel, den er euch geschickt hat und los gehts.

Prinzip klar? Wunderbar.

Dann noch einige Sicherheitshinweise:

1. Erstellt ein Backup eures geheimen Schlüssels an einem sicheren Ort. Wenn der Schlüssel verloren geht könnt ihr alle damit verschlüsselten E-Mails abschreiben.

2. Gebt den Schlüssel nicht aus der Hand. Jeder, der Zugriff auf den Schlüssel hat, kann in eurem Namen E-Mails verschicken. Und eure E-Mails lesen.

3. Unterstützt das Web of Trust der GPG-Nutzer und geht zu Keysigning-Partys oder veranstaltet selbst welche. Wenn ihr Hilfe braucht meldet euch bei mir.

4. Verschlüsselt so viele Nachrichten wie möglich und helft so, den Umschlag als Standard zu etablieren und die Postkarte zur Ausnahme zu machen.

Falls noch Fragen offen sind meldet euch in den Kommentaren.

Anmerkung: Das Bild zeigt eine graphische Darstellung meines GPG-Web-of-Trust. Erstellt wurde die Darstellung mit sig2dot und springgraph, vielen Dank an Darxus für diese epischen Tools!

Unerwünschte Werbung blockieren

Hi,

da ich leider zur Zeit nicht so viel schreiben kann, wie ich es mir wünschen würde, möchte ich euch die Wartezeit auf den nächsten Artikel meiner Serie ein wenig versüßen.

Heute zeige ich euch, wie man nervige Werbung los wird.

Diesmal nicht im Browser mit Adblock Plus und NoScript, sondern direkt noch auf der IP-Ebene.

Um zu wissen, wie das funktioniert muss man zunächst das Konzept dahinter kennen. Jede Website, die Werbung einblendet, liefert euch den Content via TCP/IP aus. Der Werbecontent wird dabei aber nicht direkt auf dem Server gehostet, der auch die Website enthält, sondern in der Regel von externen Anbietern geliefert wie zum Beispiel Google Ads. Euer Browser sucht also mit Hilfe des DNS nach der IP-Adresse, die zu $Werbeserver gehört und fordert von dort die Pakete an.

Wenn man jetzt also im Internet surft liefert man diesen externen Anbietern erstens ein wunderbares Bewegungsprofil und zweitens blockiert der Werbecontent die Bandbreite, die man eigentlich für den Nutztraffic braucht (das spielt gerade im mobilen Netz eine wichtige Rolle.)

Um diese Problematik zu umgehen gibt es eine relativ einfache Lösung: Ich sorge dafür, dass mein Rechner (oder mein Router, wenn ich die Lösung fürs gesamte Netzwerk einbauen will) diese externen Anbieter nicht mehr anwählen kann.

Dazu öffne ich mit root-Rechten ausgestattet die Datei /etc/hosts.

Dort trage ich die Website, die ich blockieren möchte, nach folgendem Muster ein:

127.0.0.1 $Website

Dadurch wird der unerwünschte Werbecontent nicht vom Server abgerufen sondern der Computer greift auf den localhost zu (sprich, sich selbst.) So lange dort die abzurufende Datei nicht hinterlegt ist (ich weiß ja nicht, was in eurer /var/www so rumschwirrt…) wird statt der Werbung eine Fehlermeldung auf der Seite angezeigt. Dadurch verringern sich die Ladezeiten besonders auf von Werbung überfrachteten Seiten signifikant.

Als Beispiel hänge ich euch meine hosts-Datei an.

Auf diese Weise kann man nicht nur Werbung ausschalten sondern auch allerlei andere Seiten blockieren bzw. umleiten. Ich bin mir sicher, dass da der eine oder andere eine schlaue Idee hat und freue mich wie immer über Kommentare.

Ebenso gilt wie immer: Für Risiken und Nebenwirkungen bemühen Sie die Suchmaschine Ihrer Wahl oder fragen Sie in den Kommentaren.

Textdatei html-komform konvertieren unter Linux

Letztens hatte ich eine Textdatei, die ich schnell in HTML wandeln wollte. Das Grundgerüst und die Bodytags einfügen geht ja schnell. Doch was ist mit den Sonderzeichen und Umlauten, die natürlich auch in normgerechter Schreibweise vorhanden sein sollen. Beispielsweise wird aus einem ü ein ü und Ö ein Ö. Ich habe dann dieses Problem schnell mit dem Streameditor sed gelöst. Erstellt zuerst die folgenden Dateien und füllt sie mit dem Inhalt in den Rahmen.

Es kann vorkommen, dass unter Linux eine Textdatei gewandelt werden muss. Als Beispiel bringe ich hier eine einfache Textdatei, die HTML-Konform konvertiert werden muss. Dazu gehören, dass alle Umlaute gewandelt werden müssen. Also aus einem ü wird ü und Ö ein Ö. Ich löse dieses Problem gerne mit dem Streameditor sed.


Dazu ein kleines Übungsbeispiel:

Inhalt der Datei txt2html.sh

#!/bin/bash
DATEINAME=$1
sed -f txt2html.sed $DATEINAME.txt >> $DATEINAME.html

Inhalt der Datei txt2html.sed

s/ä/\ä\;/g;
s/Ä/\Ä\;/g;
s/ü/\ü\;/g;
s/Ü/\Ü\;/g;
s/ö/\ö\;/g;
s/Ö/\Ö\;/g;
s/ß/\ß\;/g;

Inhalt der Datei beispiel.txt

# Beispieldatei für die Textkonvertierung- und Bearbeitung.
#
# Obst und Gemüse
1	Erdbeere
2	Zitrone
3	Apfel
4	Banane
5	Pfirsich
#6	Kirsche
7	Gurke
#8	Kiwi
9	Möhre
10	Salat
11	Aubergine
12	Mais
#13	Bohnen
14	Ananas
15	Spargel

Nun kann an den gewünschten Effekt sehen, wenn das Script txt2html.sh mit den folgenden Optionen aufgerufen wird:
thomas@linux: ~>./txt2html.sh beispiel

Lange nichts gehört …

Ihr habt hier lange nichts von mir gehört. Das liegt daran, dass ich momentan ziemlich eingespannt bin und mich mit diesem Thema beruflich extrem auseinandersetzen muss. Da fehlte mir in letzter Zeit Lust und mir fiel einfach kein passendes Thema ein. Markus hat ja in der Zwischenzeit schon fleißig Beiträge geschrieben. Aber ich verspreche, dass ich ab dem Herbst oder Winter mich hier wieder aktiv mit Themen beteiligen werde. Bis dahin wollte ich an dieser Stelle nur mal ein Lebenszeichen von mir geben. Damit ihr nicht glaubt, dass ich vom wahren Glauben abgewichen und zur Winzigweich-Fraktion übergelaufen bin

Warum Festplattenverschlüsselung?

Regelmäßig verschwinden mehrere tausend Notebooks pro Jahr. Der wirtschaftliche Schaden allein durch die Hardware geht dabei in den Millionenbereich. Doch viel problematischer ist der – ökonomisch schwer zu beziffernde – Schaden durch Datenverlust. Schützen kann man sich dabei nur durch zwei Maßnahmen: Backups und Festplattenverschlüsselung.

Die meisten von uns kennen die Situation: Man sitzt am Flughafen oder am Bahnsteig und wartet auf sein Transportmittel. Um sich die Zeit zu vertreiben bootet man kurz das Notebook und ackert seine E-Mails durch. Wer jetzt aufsteht um sich “mal eben” einen Kaffee zu holen riskiert einen Diebstahl und bei Firmeneigentum am Notebook auch gleich noch eine Abmahnung. Eine Binsenweisheit? Ja. Nur leider beachten viel zu wenige die tatsächlichen Sicherheitsregeln die in den meisten Firmen mittlerweile vorgeschrieben sind.

1. Laptop niemals unbeaufsichtigt lassen.
2. Falls das Gerät doch einmal allein bleiben muss, muss es mit einem Kensington-Schloss gesichert werden.
3. Für den Fall, dass das Gerät doch abhanden kommt muss die Festplatte verschlüsselt sein.

Bis hierhin klingt noch alles logisch und nachvollziehbar, gelten doch im Business-Bereich ganz andere Regeln als man sie für sich selbst privat anlegt.

Ein dazu immer wieder gehörtes Argument ist “Ach, das was da drauf ist interessiert doch keinen”. Meistens kommt dieses so genannte “Argument” von den gleichen Leuten, die auf eben dieser Maschine ihre Kontoauszüge als .pdf speichern, ihre Kreditkartendaten in einem Excel-File aufbewahren und am besten noch ein paar – freundlich ausgedrückt – nicht als jugendfrei klassifizierbare Fotos von sich selbst und der Freundin auf der Platte haben.

Diese Menschen sind dann immer sehr überrascht, was man so alles über sie herausfinden kann, einzig und allein indem man ihren Rechner durchforstet.

Deshalb nochmals zum mitmeißeln: In dem Augenblick wo euer Computer seinen Stammplatz verlässt und mitgenommen wird ist eine Verschlüsselung der Festplatte keine Kür mehr sondern Pflicht. Jeder von uns hat etwas auf dem Rechner, von dem er nicht möchte, dass andere es sehen können. Verstanden? Gut. Auch wenn der Rechner stehen bleibt, ist es übrigens immer noch sinnvoll, die Platten zu verschlüsseln. Wer möchte schon riskieren, dass Einbrecher außer der Hardware auch noch Daten finden, die sie zu Geld machen können?

Und für den Fall, dass das Notebook gestohlen werden sollte hat sicherlich jeder von euch ein (hoffentlich ebenso verschlüsseltes) Backup, richtig?

Sicherheitslücke in Android

Android LogoHeute wurde bekannt, dass es in Android eine Sicherheitslücke gibt, die das Auslesen und Manipulieren von Daten auf dem Smartphone ermöglicht.

Dieses Loch lässt sich recht einfach ausnutzen, wenn man sich in einem WLAN befindet. Dann nämlich können Hacker (ich mag den Begriff in diesem Zusammenhang nicht) Adressbuch und Kalenderdaten auslesen, Bilder herunterladen, und die Daten auch manipulieren.

Natürlich trifft es einen am ehesten in ungeschützten WLANs, wie sie oft in Cafés oder an Bahnhöfen angeboten werden. Aber auch in verschlüsselten WLANs ist man nicht sicher, wenn der Angreifer sich im gleichen Netzwerk befindet.

Wenn man unterwegs auf ein Netzwerk trifft, welches einen bekannten Namen hat, loggt sich Android je nach Einstellung automatisch dort ein, ohne dass der Hansybesitzer das mitbekommt. Das ist wohl die größte Gefahr dabei.

Google hat die Lücke mit Android Version 2.3.4 bereits geschlossen. Wie lange es nun dauert, bis die Hersteller der Handys das Update an die Kunden weiterreichen, steht in den Sternen. Für einige ältere Smartphones wird es wohl überhaupt kein Update mehr geben. Bisher gibt es das Update nur für das Google Nexus S, und einige Geräte mit Custom ROM.

Bis man das Update bekommt, gibt es einfache Abhilfe: Wenn man das eigene, sichere WLAN verlässt, die WLAN-Funktion am Handy abschalten. Positiver Nebeneffekt: Der Akku hält länger.

Weitere Infos zum Thema:

Neues Verzeichnis im root

TuxSeit Jahren dient das Verzeichnis /var/run dazu, Laufzeit-Dateien diverser Programme zu beherbergen. Das Problem stellt sich, wenn /var beim Booten nicht sofort zur Verfügung steht, weil es auf einer eigenen Partition gemountet wird.

Bisher wurde dem immer mit den verschiedensten Workarounds begegnet, so dass man beim Support von Distribution zu Distribution umdenken musste. Fedora geht jetzt einen neuen Weg, in dem es im root, also im Stammverzeichnis, das Verzeichnis /run anlegt, und die Laufzeitdaten dorthin verfrachtet. /var/run bleibt aus Kompatibilitätsgründen zunächst als Bind Mount, ab Fedora 16 als Symlink im System.

Die Änderung soll mit der im Mai erscheinenden Version 15 von Fedora eingeführt werden, und die anderen großen Distributoren openSuse, Ubuntu und Debian haben bereits angekündigt, diese Änderung auch in ihre Pakete zu übernehmen. Damit wäre wieder eine Einheitlichkeit bei der Verzeichnisstruktur eines Linux-Systems hergestellt, was natürlich sehr zu begrüßen ist.

/run soll als RAM-Disk implementiert werden, damit die mit /var bekannten Probleme gar nicht erst auftreten. Das ebenfalls problematische /var/lock soll nach /run/lock verschoben werden.

[via Pro-Linux]

Guten Rutsch!

Prosit Neujahr

Wir wünschen Euch allen einen guten Rutsch, und ein glückliches neues Jahr 2011. Bleibt wie Ihr seid, und vor allem bleibt (oder werdet) gesund!

Wir lesen uns im nächsten Jahr in alter Frische wieder. Bis dahin: Bleibt uns gewogen.