Chaospott Wiki

Wir sind da wat am dokumentieren dran...

Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Project
name pam_panic
status stable
descr. Bei Panik, mach verschlüsseltes kaputt!
owner Bandie
location git.chaospott.de
projekte:pam_panic:start

pam_panic

pam_panic ist ein Softwareprojekt, welches unter mindestens zwei verschiedene Linux-Distributionen getestet wurde. Es wurde auf dem 35C3 präsentiert.

Idee

Das Ziel ist, Daten in einer verschlüsselten LUKS-Partition zu zerstören, sobald man ein bestimmtes Passwort oder ein bestimmten USB-Stick am bereits kryptogaphisch geöffneten System eingibt; wie zum Beispiel bei einem Login-Screen oder Screensaver.

Es soll im Falle einer Bedrohung helfen, mögliche wichtige Daten, wie Zugangsschlüssel oder Passwörter zu vernichten. (Oder halt ein ganzes System, wenn wir gerade dabei sind.)

Rechtliche Voraussetzung

Man sollte sich im Rechtsstaat befinden und sicher sein, dass von exekutiver Seite keine Spiegelung der Festplatte erstellt worden ist.

Systemvoraussetzung

Ein Linux, welches eine Partition enthält, die mit LUKS verschlüsselt wurde. Ubuntu-Systeme bieten dies beim Installieren an.

Wenn man eines der folgenden Systeme benutzt, existiert dafür ein fertiges Paket, was man sich installieren kann:

Bau des Paketes

Falls dein Betriebssystem nicht dabei ist und es dennoch ausprobieren/verwenden möchtest, muss es für das Betriebssystem gebaut werden. Wenn du ein altes Ubuntu Xenial benutzt, siehe dir das hier an.

Allgemein gesprochen gibt es folgende Abhängigkeiten:

  • git
  • automake
  • autoconf
  • make
  • m4
  • fakeroot
  • which
  • gcc
  • groff
  • gettext
  • gawk
  • pam (developer, auch libpam0g-dev)
  • cryptsetup
  • dialog

Wer schon mal Dinge gebaut hat, für denen ist diese Liste kaum eine Überraschung. "dialog" wird für das Konfigurationsmenü gebraucht.

Mit einem

git clone https://git.chaospott.de/Bandie/pam_panic

holen wir uns das Projekt.

Anschließend gehen wir mit cd pam_panic in das Projekt rein und führen dieses in der Reihenfolge aus:

autoreconf -i
./configure
make
sudo make install

Konfiguration

In der Kommandozeile führt man sudo pam_panic_config auf. Dieses Menü erstellt eine gültige pam_panic-Konfiguration. Dabei stellt es dich vor die Wahl, ob du ein Passwort oder ein USB-Stick einrichten möchtest. Die USB-Sticks müssen GPT-formatiert sein.

Anschließend muss pam_panic noch in das gegebene System durch includes in anderen Dateien der /etc/pam.d erfolgen. Man beachte dabei die Hinweise des Konfigurationsprogramms.

Ein Beispiel für xscreensaver:

#%PAM-1.0

auth       include      pampanic
account    include      pampanic

auth       include      system-auth
account    include      system-auth

Nachdem man dieses hinzugefügt hat, ist pam_panic sofort aktiv. In der obigen Beispiel-Konfiguration bedeutet das, dass xscreensaver zu erst nach dem pam_panic USB-Gerät oder Passwort fragen wird, bevor es das normale Benutzerpasswort verlangt.

Tipp: Zusätzliche Sicherheit durch Memory-Poisoning

Man kann den Kernel anweisen bei einem Herunterfahren bzw. Neustart den Speicher mit random-Daten zu überschreiben. Dazu fügt man in /etc/default/grub dem Parameter GRUB_CMDLINE_LINUX folgendes an:

GRUB_CMDLINE_LINUX="[...] page_poison=on slub_debug=P"

Anschließend sollte die Config von GRUB neu erzeugt werden:

sudo grub-mkconfig -o /boot/grub/grub.cfg
projekte/pam_panic/start.txt · Zuletzt geändert: 06.08.2019 21:08 von Bandie