Archive

Archive for the ‘Verschlüsselung’ Category

Externe Festplatte mit LUKS verschlüsseln

September 2, 2009 3 comments

Seit einiger Zeit benutze ich die in Ubuntu 9.04 Jaunty eingebaute Verschlüsselung eCryptfs für mein persönliches Verzeichnis. Das funktioniert auch sehr zuverlässig und schnell. Bisher habe ich überhaupt keine Probleme gehabt.

Nun möchte ich auch meine Backups auf einer externen Festplatte verschlüsselt speichern. Dazu gibt es mehrere Möglichkeiten, u.A.:

  • das plattformübergreifende Truecrypt
  • das linuxbasierende Luks

Da ich nicht vorhabe Windows einzusetzen, benutze ich Luks. Außerdem ist Luks hervorragend in den Dateimanager Nautilus integriert.

Schlau gemacht habe ich mich mit diesem Artikel von Ubuntuusers.de, allerdings sind dann noch einige Fragen bei mir offen geblieben, deshalb hier eine maßgeschneiderte Anleitung. Weitergehende Information sind über den angegebenen Link verfügbar.

Als erstes ist festzustellen, wie die externe Festplatte heißt. Also einstecken und im Terminal eingeben:

sudo fdisk -l

Es werden alle Platten aufgelistet, meine heißt /dev/sdb1.

Achtung!
Bevor man weitermacht, sollte man sich versichern, dass alle Daten auf der externen Platte und auf dem eigenem System gesichert sind. Alle Daten auf der externen Platte werden gelöscht! Bei Fehlbedienung evtl. auch alle Daten auf dem eigenem System! Wie immer kann für die Richtigkeit keine Gewähr übernommen werden! Bei Unsicherheiten auf keinen Fall die beschriebenen Aktionen durchführen!

Cryptsetup installieren und in den Kernel laden:

sudo apt-get install cryptsetup
modprobe dm-crypt

Nun das verschlüsselte Gerät auf der Platte anlegen. Der Text “Platte” ist entsprechend auszutauschen. Bei mir also gegen /dev/sdb1.

sudo cryptsetup -c aes-xts-plain -s 512 luksFormat Platte

Nach eingegebener Passphrase und erfolgt die Verschlüsselung. Diese Passphrase sollte recht lang sein, Zahlen und Sonderzeichen enthalten. Es ist auch möglich, die Passphrase auf einem USB-Stick zu speichern und sich die Eingabe zu sparen. Anschließend öffnen:

sudo cryptsetup luksOpen Platte luks

Der Text “Platte” muss wieder ausgetauscht werden. Bei mir also gegen /dev/sdb1. Der Name luks kann frei gewählt werden. Ich habe einfach luks stehen gelassen. Die Platte hängt jetzt im Verzeichnis: /dev/mapper/luks, muss aber noch formatiert werden. Ich habe ext4 benutzt.

sudo mkfs.ext4
/dev/mapper/luks

Und aushängen:

sudo umount /dev/mapper/luks

Ausstecken und wieder einstecken. Jetzt sollte Nautilus, der Gnome-Dateimanager nach der Passphrase fragen. Man kann sich entscheiden, ob man sie speichern möchte.

Nun muss man noch einmal zum Terminal zurück und die Benutzerrechte ändern, denn bis jetzt darf nur Root darauf schreiben. Bitte den eigenen Benutzernamen angeben.

Achtung, jetzt muss der neue Einhängepunkt angegeben werden! Diesen kann man sich in Nautilus in den Volumeneigenschaften des Datenträgers anzeigen lassen. Dazu muss mit dem Button “Computer” in die Computeranzeige gewechselt werden.

LUKS, Ubuntu, Verschlüsselung
sudo chown steffen:steffen /media/disk

Fertig!

Achtung die Platte immer korrekt aushängen!

Links
http://wiki.ubuntuusers.de/LUKS
http://wiki.ubuntuusers.de/Sicherheit

Wie immer kann für die Richtigkeit keine Gewähr übernommen werden! Bei Unsicherheiten auf keinen Fall oben beschriebene Aktionen durchführen!

Home-Verzeichnis verschlüsseln in Jaunty – Verschieben der Passphase nach /home.ecryptfs/$user

August 7, 2009 Leave a comment

In meinen früheren Artikeln habe ich gezeigt, wie in Ubuntu Jaunty das Home-Verzeichnis verschlüsselt werden kann. Diese Variante der Verschlüsselung ist sehr performant und einfach einzurichten, so dass es u.A. für ein Netbook geradezu ein Muss ist.

Dustin Kirkland, einer der Entwickler von Ubuntu hat nun in seinem Blog schrieben, dass die Passphrase im kommenden Ubuntu Karmic nicht mehr in /var/lib/ecryptfs sondern im /home/.ecryptfs/$USER gespeichert wird. Dort wird auch verschlüsselte Home-Verzeichnis selbst gespeichert.


Der Hauptvorteil ist, dass nun bei einem Backup des Home-Verzeichnisses auch die Passphrase mit gesichert wird. Auch haben viele Nutzer Home auf einer extra Partition, nun sind alle benötigten Datei in dieser Partition gespeichert.

Für
Jaunty-Anwender, die diese Variante ebenfalls benutzen wollen, hat er auch gleich die Terminal-Kommandos angegeben:

#!/bin/sh -e
cd /
grep -qs " $HOME ecryptfs " /proc/mounts || ecryptfs-mount-private
sudo mkdir -p /home/.ecryptfs/$USER
sudo chown $USER:$USER /home/.ecryptfs/$USER
sudo mv -f /var/lib/ecryptfs/$USER /home/.ecryptfs/$USER/.ecryptfs
rm -f $HOME/.ecryptfs $HOME/.Private
ln -sf /home/.ecryptfs/$USER/.ecryptfs $HOME/.ecryptfs
ln -sf /home/.ecryptfs/$USER/.Private $HOME/.Private
while ecryptfs-umount-private | grep "Sessions still open"; do
true
done
sudo chmod 700 $HOME
mv -f $HOME/.Private /home/.ecryptfs/$USER/
rm -f $HOME/.ecryptfs $HOME/.Private
ln -sf /home/.ecryptfs/$USER/.ecryptfs $HOME/.ecryptfs
ln -sf /home/.ecryptfs/$USER/.Private $HOME/.Private
ecryptfs-mount-private

Categories: Jaunty, Verschlüsselung

Mit SSH GUI-Anwendungen auf entferten Rechnern starten

May 22, 2009 Leave a comment

Kürzlich habe ich zwei Artikel zu SSH (secure shell) veröffentlicht:

Mit SSH können sichere Verbindungen zu entferten Rechnern hergestellt werden. Auf diesen kann dann im Terminal gearbeitet werden. Es ist auch möglich, mit scp und sftp Dateien zu kopieren. Andere Protokolle können getunnelt werden.

Beispielsweise kann die Ausgabe von grafischen (GUI) Anwendungen getunnelt werden. Damit ist es möglich auf dem lokalen Rechner eine Anwendung anzuzeigen, die auf dem entfernten Rechner läuft.

Das kann man mit dem Parameter -X (großes X) erreichen. Bsp.:

ssh -X user@beispielIP

Die GUI-Anwendung wird dann durch Eingabe des Programmnamens in dem Terminal gestartet. Das funktioniert meist nur unter Unix/Linux.

Bei einer langsamen Verbindung kann man zusätzlich den Parameter -C benutzen, um die Übertragung zu komprimieren. Dabei wird natürlich auch Zeit für die Komprimierung benötigt. Bsp.:

ssh -C -X user@beispielIP

Categories: SSH, Verschlüsselung

Encrypted Home in Ubuntu Jaunty with eCryptfs (English Version)

April 29, 2009 Leave a comment

(Die deutsch Version ist hier)

Encryption is very important especially on a mobile device. It is normally done in the Linux world with block device encryption, e.g. LUKS. Since Intrepid exists the option to encrypt a private directory within the home directory eCryptfs.

Now, in Jaunty eCryptfs is available with complete encryption of the personnel directory in /home. This encryption works per user, it is possible to have one user encrypted and an other user not encrypted. Only have the personnel directory encrypted, should bring more performance than the whole drive, but it is less safe. A comparison with other encryption methods could be found in the eCryptfs FAQ (link below). In any case you should also encrypt your swap partition, if you have one.

You should also refer to my former posts about encryption principles in Ubuntu “Verschlüsselung in Ubuntu – Überblick“. Sorry, only in German at the moment.

How does the installation work?

First the user is deleted incl. all of his data in /home. Then the user is recreated with encrypted directory in /home. It is not necessary to have /home on a separate partition. Because all data of the personnel directory in /home is deleted you should do this directly after installing Jaunty. Otherwise you have to safe all your date incl. hidden directories to a different place.

There is no second password required, the users login password encrypts the passphrase which encrypts the data. Therefore your login password should be strong as well, means contain numbers and special characters.

Attention!
After encrypting is not easily possible to access the personnel data from e.g. a live-CD. How this works you can read in my post Mounten eines mit Ecryptfs verschlüsselten Home
Verzeichnisses
(in German) or directly in Dustin Kirklands blog for the English version.

Please backup your data now on a external media.

Installation ecryptfs-utils
First you have to install the package ecryptfs-utils. You could do this by using Synaptic or type in a terminal:

sudo apt-get install ecryptfs-utils

Encryption of the home directory for the only user

After installing Jaunty restart the computer and choose in the Grub menu (boot menu) the recovery entry. If you do not see the Grub menu you can press ESC to show it.
Depending if you have friendly-recovery installed you see either a second menu. There you can choose the root entry (scroll down). Or you are directly at the prompt.

to delete the user type:

deluser –remove-home steffen

Please change “steffen” to your user. With that command every personnel data of this user is deleted!

to recreate the user type:

adduser –encrypt-home steffen

Then you have to set the users password. Following you can answer the questions by accepting the presets with Enter. Please note the shown passphrase, you can also do it later.

Our recreated user needs to be the admin again:

adduser steffen admin

In Jaunty users are also member of group sambashare:

adduser steffen sambashare

And users should be able to add a printer (group LPADMIN):

adduser steffen lpadmin

With that commands everything should be as before, except of the encrypted personnel directory.

Press in the terminal Ctrl+D to boot normally.

Attention! If something goes wrong, you can recreate a non-encrypted user with:

adduser steffen
adduser steffen admin

adduser steffen sambashare
adduser steffen lpadmin

Additional user
If you only want to create a additional encrypted user please type this instead in a normal terminal. You do not have to reboot and use the recovery session. Also there is no need to delete any user.

sudo adduser –encrypt-home steffen

Replace “steffen” by your user. Normally this user needs no root rights.

Encrypt Swap partition
If you have one, you should encrypt it. But this breaks you ability to hibernate. Stand by works. On a big machine normally is no need for a swap. On my NC10 netbook I do not use one as well. This encryption is done by block device encryption with the package cryptsetup.

In a normal terminal type:

sudo apt-get install cryptsetup
sudo ecryptfs-setup-swap

Please note the passphrase
You can show it every time in a terminal by typing :

ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase

Then you will be asked for your normal login password.

Links:
Ecryptfs FAQ
Ecryptfs Homepage at Launchpad

Attention: Everything is tested but I can give no warranty.

Mounten eines mit eCryptfs verschlüsselten Home Verzeichnisses

April 26, 2009 4 comments

In meinem Artikel Home verschlüsseln in Ubnutu Jaunty 9.04
habe ich gezeigt, wie man mit eCryptfs sein Home-Verzeichnis, genauer sein persönliches Verzeichnis in /home verschlüsselt.

Wie kommt man nun aber nach einem Systemcrash an seine Daten? Dustin Kirkland hat in seinem Blog gezeigt, wie man von einer Jaunty Live-CD auf sein Home-Verzeichnis zugreift. Ich habe seine Anleitung in das Deutsche übersetzt.

Nach dem Starten der Live-CD muss man ein Terminal öffnen und folgendes eingeben:

ubuntu@ubuntu$ sudo mount /dev/sda1 /mnt

(Sda1 ist die Partition, wo normalerweise das Ubuntu liegt. Falls man auf der ersten Partition Windows hat, müsste man sda2 benutzen)

ubuntu@ubuntu$ sudo mount -o bind /dev /mnt/dev
ubuntu@ubuntu$ sudo mount -o bind /proc /mnt/proc
ubuntu@ubuntu$ sudo mount -o bind /sys /mnt/sys
ubuntu@ubuntu$ sudo chroot /mnt
root@ubuntu$ su – steffen
steffen@ubuntu$ ecryptfs-mount-private

Danach muss man sein normales Login Passwort, also nicht die lange Passphrase eingeben.

steffen@ubuntu$ cd $HOME
steffen@ubuntu$ ls -alF

Nun werden die Dateien angezeigt. Jetzt kann man den Dateimanager noch mit Rootrechten starten und die Dateien kopieren.

steffen@ubuntu$ gksu nautilus

Home verschlüsseln in Ubuntu Jaunty 9.04 mit Ecryptfs

April 24, 2009 10 comments

(The English version is here)

Verschlüsselung der persönlichen Daten ist gerade bei kleinen Netbooks sehr wichtig. Sie können viel leichter “mitgenommen” werden als große Desktops oder manche Notebooks.

Seit Intrepid gibt es die Möglichkeit ein privates verschlüsseltes Verzeichnis mit eCryptfs anzulegen. Die logische Weiterentwicklung dieses Konzepts ist, das gesamte persönliche Verzeichnis in /home zu verschlüsseln. Dadurch sind automatisch alle Dateien beispielsweise in den Verzeichnissen Dokumente oder Bilder verschlüsselt.

Diese Variante ist auch performanter als das gesamte System zu verschlüsseln, jeder Nutzer auf dem System kann getrennt verschlüsselt werden.

Sie bietet aber auch nicht den gleichen Schutz wie eine Verschlüsselung des gesamten Systems, da ein Angreifer mit Zugriff auf den Rechner Veränderungen an Root, etc, … vornehmen kann und dadurch die Verschlüsselung aushebeln kann. Wer sich gegen Spionage (kein Witz!) schützen muss, sollte sein gesamtes System verschlüsseln.

Einen Vergleich mit anderen Verschlüsselungsmöglichkeiten ist in den eCryptfs FAQ enthalten. Der Link dazu befindet sich Unten.

In meinem früheren Artikel “Verschlüsselung in Ubuntu – Überblick” gab ich eine Einführung über die möglichen Varianten der Verschlüsselung. Wer sich nicht sicher ist, welche Variante die richtige ist, sollte dort noch einmal nachlesen. Hier zeige ich, wie man das gesamte persönliche Verzeichnis eines Nutzers, sowie die Swap-Partition verschlüsselt.

Die Konfiguration des verschlüsselten persönliches Verzeichnisses sollte direkt nach der Installation geschehen. Dabei wird das gesamte persönliche Verzeichnis gelöscht. Wer bereits Daten in seinem Verzeichnis hat, muss sie vorher auf einen anderen Ort und nach erfolgter Verschlüsselung wieder zurück kopieren.

Achtung!
Nach der Verschlüsselung kann nicht mehr einfach von einer Live-CD auf das verschlüsselte Verzeichnis zugegriffen werden! Wie man das macht, zeige ich in Mounten eines mit Ecryptfs verschlüsselten Home Verzeichnisses.

Wie immer bei diffizilen Tätigkeiten sollte vorher und dann regelmäßig ein Backup auf einem externen Datenträger erstellt werden.

Das Passwort
Zum Verschlüsseln der Daten wird nicht das User-Passwort benutzt, sondern eine Passphrase. Diese wird mit dem User-Passwort verschlüsselt. Der Vorteil ist, dass zum Anmelden nur das User-Passwort erforderlich ist. Auf Grund dieser Funktionsweise muss unbedingt auch das gewählte User-Passwort ausreichend stark sein. Das Passwort sollte nicht aus Wörtern oder Namen bestehen und es sollte Zahlen und Sonderzeichen enthalten.

Installation ecryptfs-utils
Bei dem beschriebenen Verfahren wird das Paket ecryptfs-utils benutzt. Dieses muss als erstes installiert werden, falls es noch nicht ist. Dazu einfach die Synaptic Paketverwaltung benutzen oder im Terminal eingeben:

sudo apt-get install ecryptfs-utils

Verschlüsselung des Home-Verzeichnis für einen User

Nach der Installation startet man den Rechner neu und wählt im Grub-Menü (Boot-Menü) den Recovery Eintrag. Evtl. muss während des Bootens die ESC-Taste gedrückt werden, um in das Grub-Bootmenü zu kommen. Anschließend kommt man entweder direkt auf den Root-Prompt oder in das friendly-recovery Menü. Dort mit den Cursor-Tasten den Root-Eintrag auswählen.

Anschließend folgendes zum Löschen des Users eingeben:

deluser –remove-home steffen

Dabei ist steffen durch den gewünschten Benutzernamen zu ersetzen. Bei diesem Kommando wird der angegebene Nutzer inkl. aller seiner Dateien im Home-Verzeichnis gelöscht!

Dann einen neuen User anlegen:

adduser –encrypt-home steffen

Jetzt muss das noch das Passwort eingegeben werden. Es folgen noch Abfragen nach weiteren Daten, z.B. Raum, Telefon. Diese kann man einfach durch Drücken von Return auf der Vorgabe belassen. Die Passphrase, die ausgegeben wird, sollte man sich notieren.

Da wir den einzigen Nutzer gelöscht und neu angelegt haben, muss dieser auch noch Admin werden, falls das gewünscht ist. Das erfolgt mit:

adduser steffen admin

Den Nutzer noch zur Gruppe sambashare zufügen:

adduser steffen sambashare

Dem Nutzer noch ermöglichen Drucker (LPADMIN) hinzuzufügen:

adduser steffen lpadmin

Damit sollten die originalen Gruppen von Ubuntu Jaunty wieder hergestellt sein. Nun im Terminal Strg+D drücken und normal booten.

Achtung! Falls das Anlegen eines verschlüsselten Verzeichnisses nicht erfolgreich war, kann mit den folgenden Befehlen ein normaler User angelegt werden:

adduser steffen
adduser steffen admin

adduser steffen sambashare
adduser steffen lpadmin

Zusätzlicher User
Wenn man nur einen zusätzlichen Nutzer mit einem verschlüsselten Verzeichnis anlegen will, gibt man folgendes in einem normalen Terminal ein.

sudo adduser –encrypt-home $USER

Der Umweg über die Recovery ist hier nicht erforderlich. Dieser Nutzer benötigt keine normalerweise Root-Rechte.

Swap-Partition verschlüsseln
Wenn eine Swap-Partition vorhanden ist, sollte sie jetzt noch verschlüsselt werden. Es ist aber zu überlegen, ob man überhaupt eine benötigt, da bei einer verschlüsselten Swap-Partition der Rechner nicht mehr in den Ruhezustand versetzt werden. Standby funktioniert weiterhin.

Zur Verschlüsselung der Swap-Partition muss vorher noch das Paket cryptsetup installiert werden.

Beides zusammen geschieht im normalen Terminal mit:

sudo apt-get install cryptsetup
sudo ecryptfs-setup-swap

Notieren der Passphrase
Man sollte sich unbedingt die Passphrase notieren, damit man später auf die verschlüsselten Daten auch beim Systemcrash zugreifen kann.
Das geschieht jederzeit im Terminal mit:

ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase

Anschließend muss das User-Passwort eingegeben werden.

Links:
Ecryptfs FAQ
Ecryptfs Homepage bei Launchpad

Hinweis: Alle Anleitungen sind getestet worden, es kann aber keinerlei Haftung übernommen werden.

Verschlüsselung in Ubuntu – Überblick

April 19, 2009 Leave a comment

Verschlüsselung wird immer wichtiger. Das gilt nicht nur für professionelle Anwender die Firmendaten oder Kundendaten vor Missbrauch oder der Konkurrenz schützen müssen, sondern auch für den privaten Anwender.

Dieser Artikel soll eine Reihe von Artikeln zu diesem Thema einleiten.

Ein bei nicht Computer-erfahrenen Anwendern weit verbreitetes Vorurteil ist, dass der Rechner ja durch ein Passwort geschützt ist. Das ist nicht der Fall! Das Passwort beim Anmelden an das System schützt nur, wenn der Angreifer keinen physischer Kontakt zum Rechner hat. Wie beispielsweise im Internet.

Jeder, der physischen Kontakt zum Rechner hat, sei es, weil er zu Hause in der WG rumsteht oder weil ihn jemand gestohlen hat, kann mit einer Live-CD auf alle nicht verschlüsselten Daten zugreifen. Er besitzt Administratorrechte! Dabei ist es unerheblich, ob man Windows oder Ubuntu einsetzt.

Verschlüsselung muss also für Alle sein, die sensible Daten auf dem Rechner gespeichert haben.

Welche Möglichkeiten der Verschlüsselung gibt es in Ubuntu?

  • Verschlüsselung von Passwörtern
  • Verschlüsselung von einzelnen Dateien
  • Verschlüsselung eines Containers/Verzeichnisses für Dateien
  • Verschlüsselung des Home-Verzeichnisses
  • Verschlüsselung des gesamten Systems

Diese Liste erhebt natürlich keinen Anspruch auf Vollständigkeit:-).

Verschlüsselung von Passwörtern
Wer keine sensiblen Daten auf dem Rechner speichert, diesen auch nur zu Hause stehen hat, aber sich viele Passwörter merken muss, für den ist diese Variante die richtige. Programme dafür sind Seahorse und KeepassX.

Verschlüsselung von einzelnen Dateien
Einzelne Dateien können in Nautilus dem Dateimanager von Ubuntu im Kontextmenü (rechte Maustaste) verschlüsselt werden. Allerdings werden die Dateinamen nicht mit verschlüsselt. Beim ersten Mal wird man dazu aufgefordert, einen Schlüssel zu erstellen

Verschlüsselung eines Containers/Verzeichnisses für Dateien
Man kann ein verschlüsseltes Verzeichnis mit ecryptfs erstellen. Dazu muss das Script ecryptfs-setup-private aufgerufen werden, nachdem man ecryptfs-utils installiert hat.
Wer Container nicht nur in Linux sondern auch in Windows oder Mac OS X benutzen will, kann das plattformübergreifende Truecrypt verwenden.

Verschlüsselung des Home-Verzeichnisses
Diese Variante erscheint auf dem ersten Blick als sinnvollste, allerdings ist sie nicht komplett sicher. Anwendungsprogramme können Dateien im Temp-Verzeichnis zwischenspeichern, die Swap-Partition ist nicht verschlüsselt. Ausserdem können Angreifer in den Systemverzeichnissen Veränderungen durchführen, die die Verschlüsselung aushebeln.

Verschlüsselung des gesamten Systems
Diese Art der Verschlüsselung bietet den größten Schutz. Dabei ist darauf zu achten, dass auch die Swap-Partition verschlüsselt wird.
Die gesamte Festplatte kann mit LVM bei Installation mit der Alternate CD verschlüsselt werden. Leider funktioniert das nicht bei einem Dual-Boot-System mit Windows. Hier muss man manuell Partitionen verschlüsseln. Für das es verschiedene Alternativen gibt. Es kann alles bis auf /boot verschlüsselt werden.

Truecrypt bietet eine einfache Möglichkeit, ein gesamtes Windows-System zu verschlüsseln. Leider funktioniert das nicht in einem Dual-Boot-System mit Linux.

Bei allen Verschlüsselungsvarianten gilt, Sicherheit gibt es nicht umsonst. Man muss umsichtig mit seinem System umgehen, Backups regelmäßig durchführen. Auch sollte man sich vorher informieren, wie man im Fall eines Systemcrashs an seine verschlüsselte Daten kommt. Die verwendeten Schlüssel müssen für die Weiderherstellung an einem sicheren Ort ausserhalb des Rechners gespeichert werden.

Categories: Ubuntu, Verschlüsselung
Follow

Get every new post delivered to your Inbox.