Mittwoch, 24. Juli 2013

Wie löscht man sicher, effizient und automatisiert Daten

Bei meiner neuen Stelle schnappt man auch viele Dinge nebenbei auf, die verbessert werden wollen.

Ein Beispiel ist das sichere Löschen von Notebooks / PCs / Servern zum Leasing-Ende, damit auf keinen Fall sensible Daten das Unternehmen verlassen und später bei Ebay landen können.

Bisher wurden die Geräte händisch mit einer DBAN (Darik's Boot and Nuke) CD einzeln gestartet und anschließend mit manueller Bestätigung gelöscht.
Als Löschmethode kam dabei DoD 5220.22-M Full zum Einsatz

Kurzer Exkurs zu DBAN:
DBAN unterstützt natürlich noch mehr Methoden:
  • Quick Erase: 1x mit "0" überschreiben, eigentlich nur bei Virenbefall empfehlenswert
  • RCMP TSSIT OPS-II: 8x mit Zufallswerten überschreiben, geht allerdings
  • DoD Short (5220.22-M): Schritt 1 (mit "0" überschreiben), 2 (mit "1" überschreiben) und 7 (mit "Zufalls"werten überschreiben) des "vollen" DoD  5220.22-M
  • DoD Full (5220.22-M): 7x überschreiben
  • Gutmann: 35x Durchläufe (http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html), wobei der Erfinder mittlerweile selbst gesagt, dass diese Variante über das Ziel hinaus schießt. 
  • PRNG: Pseudo Random Number Generator, wie der Name sagt, wird die Festplatte mit "Zufalls"-zahlen (bei heutigen Rechenwerke gibt es keine echte Zufälligkeit) überschrieben. Die Anzahl der Durchläufe kann angegeben werden.
Meine Empfehlung geht bei weniger sensiblen Daten zu DoD Short / PRNG mit 2-3 Durchläufen und bei sensibleren Daten zu DoD Full / PRNG 4-6 Durchläufe.

Je nach Auswahl der Löschmethode und Größe der Festplatten kann das Löschen der Geräte lange dauern, aber was tut man nicht alles für das sichere Löschen der Daten.


Um die Löschmethode effizienter durchzuführen, habe ich die Idee gehabt, einfach einen PXE-Server mit automatischem Löschen aufzusetzen, dieser soll komplett von der restlichen Netzwerk-Infrastruktur getrennt sein, theoretisch wäre es natürlich möglich den PXE-Server auf bestimmte MAC-Adressen einzuschränken, das führt aber in meinem Fall nicht ans Ziel.


Dazu wird im ersten Schritt ein Ubuntu 12.04 Server installiert, es reicht dabei eine minimale Installation, z.B. auf Oracle VirtualBox oder auf kleiner, energieeffizienter Hardware wie z.B. Raspberry Pi.

Nach erfolgter Installation loggt man sich via SSH oder Lokal auf dem System ein und installiert die nötigen Dienste via apt-get.

# paketquellen erneuern
apt-get update

# Installation tftpd-hpa, isc-dhcp-server, syslinux, wget (optional, wenn dban via winscp
# übertragen wird)
apt-get install tftpd-hpa isc-dhcp-server syslinux wget

# stoppen des dhcp-server Dienstes 
service isc-dhcp-server stop

# stoppen des tftpd-hpa Dienstes
service tftpd-hpa stop


Da nun die Dienste soweit installiert sind, geht es an die Konfiguration eben dieser, dazu werden die entsprechenden Konfiguration mit dem Lieblingseditor geöffnet und bearbeitet.

vim /etc/dhcp/dhcpd.conf (absolute minimal Konfiguration):
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
# Achtung: idealerweise wird ein Netz genommen, welches noch nicht vorhanden ist
# Die Netzmaske muss entsprechend der maximal möglichen PXE-Clients gewählt werden,
# bei mir reicht ein /24 vollkommen aus
subnet 192.168.220.0 netmask 255.255.255.0 {
       range 192.168.220.5 192.168.220.240;
       # hier kommt die eigene IP, also des PXE-Servers
       next-server 192.168.220.1;
       # pre boot loader, kommen wir später zu 
       filename "/pxelinux.0";
}

Die Konfiguration des tftpd-hpa ist, Stand Juli 2013, für unsere Zwecke ausreichend und kann dementsprechend im Standard gelassen werden, ggf. kann die Listen-Address (/etc/default/tftpd-hpa) noch auf

Nun beginnen  die Vorbereitungen für das DBAN PXE-Image, dazu wird das Image von www.dban.org via wget oder lokal heruntergeladen und auf den Server, z.B. unter /usr/src, abgelegt und gemountet.

# Download DBAN
wget -O /usr/src/dban-2.2.27.iso "http://downloads.sourceforge.net/project/dban/dban/dban-2.2.7/dban-2.2.7_i586.iso?r=http%3A%2F%2Fwww.dban.org%2Fdownload&ts=1374667513&use_mirror=surfnet"
# Mount der CD
mount -o loop /usr/src/dban-2.2.27.iso /mnt
# Kopieren der dban Dateien in das TFTP Verzeichnis
cp -r /mnt/* /var/lib/tftpboot

Anschließend brauchen wir noch ein Pre-Boot Environment, dazu bedienen wir uns bei syslinux:
# Kopieren 
cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot
# preboot cfg
mkdir /var/lib/tftpboot/pxelinux.cfg
# einfügen der Konfiguration
echo "DEFAULT autonuke"

LABEL autodban
 KERNEL dban.bzi
 APPEND nuke="dwipe --autonuke --method dod522022m" silent
" > /var/lib/tftpboot/pxelinux.cfg/default

Damit haben wir nun alle nötigen Schritte vorbereitet.

Da ich relativ paranoid bin, habe ich das automatische Starten des DHCP-Servers deaktiviert, dadurch wird man gezwungen den DHCP-Server manuell und dadurch bewusst zu starten.
Wichtig: seit Upstart muss man dieses allerdings an zwei Stellen tun!
# deaktiviere init.d dhcp-server beim boot
update-rc -f isc-dhcp-server remove
# deaktivere upstart dhcp-server beim boot
echo "manual" > /etc/init/isc-dhcp-server.override
# starte tftpd-hpa beim boot
update-rc.d tftpd-hpa defaults

Damit der DHCP-Server gestartet werden kann, muss noch die IP-Konfiguration angepasst werden, dazu wird die Datei /etc/network/interfaces mit dem Lieblingseditor geöffnet und eine statische IP eingetragen werden:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.220.1
        netmask 255.255.255.0

Nach einem Reboot haben wir nun alle nötigen Arbeiten erledigt und können das automatische Löschen durch Starten des DHCP-Servers beginnen.

Aber Achtung, verbindet das System niemals, mit gestartetem DHCP-Server, mit dem lokalen LAN, denn der neue DHCP-Server könnte schneller als die anderen DHCP-Server antworten und das Telefon würde anschließend wohl nicht mehr still stehen ;-)

Bei Fragen bitte einfach melden!

Keine Kommentare:

Kommentar veröffentlichen