PXE-Server unter CentOS 7.x erweitern - Anwendungsbeispiel: Festplatten sicher löschen mit DBAN

Bild: DBAN Logo Will man einen Rechner verschrotten oder der Wiederverwertung zuführen, stellt sich die wichtige Frage, was passiert mit den Daten, die auf der/den Festplatten gespeichert waren. Ein simples Löschen, steht ausser Frage, da das Wiederherstellen der Daten ohne grosse Mühen, fast jedem gelingt. Sollte man sich trotz aller Vorsichtsmassnahmen einen Virus eingefangen haben, stellt sich auch meist die Frage, wie bekomme ich diesen wieder los und restlos aus dem System entfernt, wie z.B. dem MBR1).

Zum sicheren Löschen und Vernichten der Inhalte von Datenträgern greifen wir daher auf DBAN2) zurück. DBAN ist ein kleines Festplattenimage, welches Inhalte/Datenstrukturen einer vorhandenen Festplatte erkennt und automatisch löscht.

Bevor wir uns das aktuelle ISO-Image herunter laden, erstellen wir uns im Verzeichnis /var/lib/tftpboot/images/ für DBAN ein eigenes Unterverzeichnis.

 # mkdir -p /var/lib/tftpboot/images/dban

Als nächstes holen wir uns von der Projektseite das aktuelle ISO-Image auf unseren PXE-Boot-Server.

 # wget http://downloads.sourceforge.net/project/dban/dban/dban-2.3.0/dban-2.3.0_i586.iso

Anschließend mounten wir dieses ISO-Image über das Loopback-Device:

 # mount -o loop dban-2.3.0_i586.iso /mnt/

Nun können wir das zu bootende DBAN-Image wie auch die Hilfetexte in unser Zielverzeichnis kopieren

 # cp /mnt/dban.bzi /var/lib/tftpboot/images/dban/
 # cp /mnt/*.txt /var/lib/tftpboot/images/dban/

Ist dies erledigt, können wir das ISO-Image wieder unmounten, da wir dieses nicht mehr benötigen.

 # umount /mnt/

Damit wir bei einem PXE-Boot DBAN auch als Option im Bootmenü auftaucht, müssen wir noch die Konfigurationsdatei /var/lib/tftpboot/pxelinux.cfg/default ein klein wenig erweitern.

Da es für DBAN sehr viele Optionen beim Laden und ausführen gibt, werden wir all diese Optionen nicht direkt in das Hauptmenü unseres PXE-Bootservers ein, sondern werden diese in ein eigenes Untermenü auslagern.

Hierzu werden wir nun mit dem Editor unserer Wahl, als z.B. vim, einfach den folgenden Block am Ende der Konfigurationsdatei „default“ einfügen.

LABEL A
   MENU LABEL ^A) Untermenue DBAN: Festplatten sicher loeschen
   KERNEL vesamenu.c32
   APPEND pxelinux.cfg/dban

Die Bezeichnung LABEL passen wir natürlich den eigenen Begebenheiten nach an!

 # vim /var/lib/tftpboot/pxelinux.cfg/default
/var/lib/tftpboot/pxelinux.cfg/default
# Django 2011-11-24
# erstes einfaches Bootmenü für PXE-Boot
 
# Einbinden des User-Interface-Module vesamenu.c32
default vesamenu.c32
# starten des Standardeintrages nach 10 Sekunden
timeout 100 
# [0] Boot-Prompt ausblenden [1] Boot-Prompt standardmäßig angezeigen
prompt 0
# [0] Öffnen des Boot mit ESC ermöglichen [1] Funktion deaktivieren.
noescape 0
 
# Definition der Überschrift unseres Bootmenüs
menu title *** PXE Boot-Auswahl Menue ***
# Definition einer Hintergrundgraphik für das Bootmenü (Größe: 640x480 Format: PNG) 
menu background bootgraphik.png
 
menu color title 1;36;44        #0824b5 #00000000 std 
menu color sel *                #00000000 #0824b5 *
menu color hotsel 1;7;37;40     #00000000 #999999ff *
menu color unsel 1;36;44        #0824b5 #00000000 std
menu color hotkey 1;36;44       #0824b5 #00000000 std
menu color tabmsg 1;36;44       #ed7500 #00000000 std
menu color cmdline 1;36;44      #0824b5 #00000000 std
menu color timeout_msg 1;36;44  #0824b5 #00000000 std
menu color timeout 1;36;44      #0824b5 #00000000 std
 
# Definition der einzelnen Booteinträge:
# LABEL      : Eindeutige Bezeichnung eines Booteintrages
# MENU LABEL : Aussagekräftige Beschreibung des LABELs, welche im Mootmenü angezeigt werden soll 
# KERNEL     : Definition des zu bootenden Kernel Images
# APPEND     : Definition von Benutzerspezifischen Kerneloptionen
 
LABEL 1
   MENU LABEL ^1) Boot from ^HD (default)
     localboot 0
 
LABEL 2
   MENU LABEL ^2) CentOS 6.x (64 Bit) Installation (Intranet)
   KERNEL images/centos/6/x86_64/vmlinuz
   APPEND ks=http://10.0.0.50/kickstart/ks_centos60_x86_64_intra.cfg initrd=images/centos/6/x86_64/initrd.img ramdisk_size=128000 ksdevice=eth0 ip=dhcp method=http://10.0.0.50/centos/6/os/x86_64
 
LABEL 3
   MENU LABEL ^3) CentOS 6.x (64 Bit) Desktop-Installation (Intranet)
   KERNEL images/centos/6/x86_64/vmlinuz
   APPEND ks=http://10.0.0.50/kickstart/ks_centos60_x86_64_intra_desktop.cfg initrd=images/centos/6/x86_64/initrd.img ramdisk_size=128000 ksdevice=eth0 ip=dhcp method=http://10.0.0.50/centos/6/os/x86_64
 
LABEL 4
   MENU LABEL ^4) CentOS 6.x (64 Bit) Installation (DMZ)
   KERNEL images/centos/6/x86_64/vmlinuz
   APPEND ks=http://10.0.0.50/kickstart/ks_centos60_x86_64_dmz.cfg initrd=images/centos/6/x86_64/initrd.img ramdisk_size=128000 ksdevice=eth0 ip=dhcp method=http://10.0.0.50/centos/6/os/x86_64
 
LABEL 5
   MENU LABEL ^5) CentOS 6.x (32 Bit) Installation (Intranet)
   KERNEL images/centos/6/i386/vmlinuz
   APPEND ks=http://10.0.0.50/kickstart/ks_centos60_i386_intra.cfg initrd=images/centos/6/i386/initrd.img ramdisk_size=128000 ksdevice=eth0 ip=dhcp method=http://10.0.0.50/centos/6/os/i386
 
LABEL 6
   MENU LABEL ^6) CentOS 6.x (32 Bit) Desktop-Installation (Intranet)
   KERNEL images/centos/6/i386/vmlinuz
   APPEND ks=http://10.0.0.50/kickstart/ks_centos60_i386_intra_desktop.cfg initrd=images/centos/6/i386/initrd.img ramdisk_size=128000 ksdevice=eth0 ip=dhcp method=http://10.0.0.50/centos/6/os/i386
 
LABEL 7
   MENU LABEL ^7) CentOS 6.x (32 Bit) Installation (DMZ)
   KERNEL images/centos/6/i386/vmlinuz
   APPEND ks=http://10.0.0.50/kickstart/ks_centos60_i386_intra.cfg initrd=images/centos/6/i386/initrd.img ramdisk_size=128000 ksdevice=eth0 ip=dhcp method=http://10.0.0.50/centos/6/os/i386
 
# Django : 2014-02-28 Fedora 20 angefügt
LABEL 8
   MENU LABEL ^8) Fedora 20 (32 Bit) Installation (Intranet)
   KERNEL images/fedora/20/i386/vmlinuz
   APPEND initrd=images/fedora/20/i386/initrd.img ramdisk_size=128000 ip=dhcp method=http://dl.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/i386/os/
 
LABEL 9
   MENU LABEL ^9) Fedora 20 (64 Bit) Installation (Intranet)
   KERNEL images/fedora/20/x86_64/vmlinuz
   APPEND initrd=images/fedora/20/x86_64/initrd.img ramdisk_size=128000 ip=dhcp method=http://dl.fedoraproject.org/pub/fedora/linux/releases/20/Fedora/x86_64/os/
 
 
LABEL A
   MENU LABEL ^A) Untermenue DBAN: Festplatten sicher loeschen
   KERNEL vesamenu.c32
   APPEND pxelinux.cfg/dban
 
LABEL C
   MENU LABEL ^C) Clonezilla (i686-PAE)
   KERNEL images/clonezilla/i686-pae/vmlinuz
   APPEND initrd=images/clonezilla/i686-pae/initrd.img fetch=http://10.0.0.50/clonezilla/i686-pae/filesystem.squashfs boot=live config noswap edd=on nomodeset noprompt nosplash locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no gfxpayload=1024x768x16,1024x768 ip=frommedia i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.blacklist=yes
 
LABEL D
   MENU LABEL ^D) Clonezilla (AMD-64)
   KERNEL images/clonezilla/amd64/vmlinuz
   APPEND initrd=images/clonezilla/amd64/initrd.img fetch=http://10.0.0.50/clonezilla/i686-pae/filesystem.squashfs boot=live config noswap edd=on nomodeset noprompt nosplash locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no gfxpayload=1024x768x16,1024x768 ip=frommedia i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.blacklist=yes

Das eigentliche Auswahlmenü der einzelnen Boot-Parameter von DBAN lagern wir, wie Eingangs schon angeschnitten in eine eigene Konfigurationsdatei dban aus. Diese Datei legen wir uns nun an.

 # vim /var/lib/tftpboot/pxelinux.cfg/dban
/var/lib/tftpboot/pxelinux.cfg/dban
# Django 2014-07-02
# verschachteltes Bootmenü ( Baumstruktur) für PXE-Boot
 
# Einbinden des User-Interface-Module vesamenu.c32
default vesamenu.c32
# starten des Standardeintrages nach 60 Sekunden
timeout 600 
# [0] Boot-Prompt ausblenden [1] Boot-Prompt standardmäßig angezeigen
prompt 0
# [0] Öffnen des Boot mit ESC ermöglichen [1] Funktion deaktivieren.
noescape 0
 
# Definition der Überschrift unseres Bootmenüs
menu title *** DBAN - Festplatten/Partitionen unrettbar loeschen ***
# Definition einer Hintergrundgraphik für das Bootmenü (Größe: 640x480 Format: PNG) 
menu background bootgraphik.png
 
menu color title 1;36;44        #0824b5 #00000000 std 
menu color sel *                #00000000 #0824b5 *
menu color hotsel 1;7;37;40     #00000000 #999999ff *
menu color unsel 1;36;44        #0824b5 #00000000 std
menu color hotkey 1;36;44       #0824b5 #00000000 std
menu color tabmsg 1;36;44       #ed7500 #00000000 std
menu color cmdline 1;36;44      #0824b5 #00000000 std
menu color timeout_msg 1;36;44  #0824b5 #00000000 std
menu color timeout 1;36;44      #0824b5 #00000000 std
 
# Definition der einzelnen Booteinträge:
# LABEL      : Eindeutige Bezeichnung eines Booteintrages
# MENU LABEL : Aussagekräftige Beschreibung des LABELs, welche im Mootmenü angezeigt werden soll 
# KERNEL     : Definition des zu bootenden Kernel Images
# APPEND     : Definition von Benutzerspezifischen Kerneloptionen
 
LABEL 1
   MENU LABEL ^1) Zurueck zum Hauptmenue
   KERNEL vesamenu.c32
   APPEND pxelinux.cfg/default
 
LABEL 2
   MENU LABEL ^2) DBAN - Standard: autonuke 
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke" silent nousb vga=785
 
LABEL 3
   MENU LABEL ^3) DBAN - Standard: mit Auswahl der Methode
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe" silent vga=785
 
LABEL 4
   MENU LABEL ^4) DBAN - Standard: Methode "dod"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method dod522022m" silent vga=785
 
LABEL 5
   MENU LABEL ^5) DBAN - Standard: Methode "dod3pass"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method dod3pass" silent vga=785
 
LABEL 6
   MENU LABEL ^6) DBAN - Standard: Methode "dodshort"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method dodshort" silent vga=785
 
LABEL 7
   MENU LABEL ^7) DBAN - Standard: Methode "gutmann"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method gutmann" silent vga=785
 
LABEL 8
   MENU LABEL ^8) DBAN - Standard: Methode "ops2"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method ops2" silent vga=785
 
LABEL 9
   MENU LABEL ^9) DBAN - Standard: Methode "paranoid"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method prng --rounds 8 --verify all" silent vga=785
 
LABEL A
   MENU LABEL ^A) DBAN - Standard: Metode "prng"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method prng --rounds 8" silent vga=785
 
LABEL B
   MENU LABEL ^B) DBAN - Standard: Methode "quick"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method quick" silent vga=785
 
LABEL C
   MENU LABEL ^C) DBAN - Standard: Methode "zero"
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --autonuke --method zero" silent vga=785
 
# Troubleshooting Labels
 
LABEL D
   MENU LABEL ^D) DBAN - Troubleshooting - Option: nofloppy
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe" floppy=0,16,cmos vga=785
 
LABEL E
   MENU LABEL ^E) DBAN - Troubleshooting - Option:  nosilent
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe" vga=785
 
LABEL F
   MENU LABEL ^F) DBAN - Troubleshooting - Option:  noverify
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --verify off" vga=785
 
# Debugging Labels
 
LABEL G
   MENU LABEL ^G) DBAN - Debugging - Option: debug
   KERNEL images/dban/dban.bzi
   APPEND nuke="exec /bin/ash" debug vga=785
 
LABEL H
   MENU LABEL ^H) DBAN - Debugging - Option: shell
   KERNEL images/dban/dban.bzi
   APPEND init=/bin/sh vga=785
 
LABEL I
   MENU LABEL ^I) DBAN - Debugging - Option: verbose
   KERNEL images/dban/dban.bzi
   APPEND nuke="dwipe --method quick" vga=785
 
# Print the product banner and liability disclaimer.
DISPLAY images/dban/warning.txt
 
# Extra screens.
F1 images/dban/warning.txt
F2 images/dban/about.txt
F3 images/dban/quick.txt
F4 images/dban/raid.txt
 
 
# The Boot Prompt
# ---------------
#
#  Usage: [label [kernel options] [nuke="dwipe [dwipe options]"]]
#
#  Dwipe Options:
#
#       --autonuke  Be really sure.
#    -m --method    The wipe method to use.
#    -r --rounds    The number of times to run the method.
#       --verify    The verification level.
#
#  Dwipe Methods:
#
#    dod522022m         American Department of Defense 5220.22-M standard wipe.
#    dodshort dod3pass  DoD short wipe, passess 1,2,7 from the standard wipe.
#    gutmann            Peter Gutmann's wipe.
#    ops2               RCMP TSSIT OPS-II standard wipe.
#    prng random        PRNG stream wipe.
#    quick zero         Quick erase.
#
#  Verification Levels:
#
#    0  off         Do not read anything back from the device.
#    1  last        Check whether the device is empty after wiping.
#    2  all         Check whether all passes were written properly.
#
#  Notes:
#
#    * The rounds option does not apply to to the quick method. This method
#      always runs one round.
#
#    * Use at least four rounds with the prng method. Using eight rounds with
#      the prng method is recommended.
#
#    * The last pass of every method fills the device with zeros, except the
#      ops2 method which fills the device with a random stream on its last pass.
#

An dem fraglichen Rechner führen wir einen Netzwerk-Boot aus. Bild: PXE Boot-Menü

Hier wählen wir dann den Menüpunkt Untermenue DBAN: Festplatten sicher loeschen aus.

Bild: PXE Boot-Menü

Wählen wir die Option autonuke aus, wird unmittelbar das betreffende Boot-Image geladen und die Festplatte automatisch gelöscht.

Bild: DBAN Bootvorgang

Nachdem DBAN gebootet wurde, erfolgt auch gleich das Löschen. Je nach Festplattengröße kann dies durchaus mehrere Stunden betragen!

Bild: DBAN Festplattenlöschvorgang

Am Ende der erfolgreichen Datenverbichtung, wird dies am Bildschirm angezeigt und man wird gebeten, eine Taste zu drücken oder den Rechner auszuschalten.

Bild: DBAN erfolgreicher Löshvorgang beendet

Haben wir die Option DBAN - Standard: mit Auswahl der Methode beim PXE-Auswahlmenü ausgewählt, können wir manuell die einzelnen Lösch- und Überschreiboptionen auswählen, wie auch das Hilfe-Menü duch Drücken der Taste [F1] erreichen.

Bild: DBAN Hilfemenü "F1"

Mit [F2] werden uns weitere Informationen zu DBAN angezeigt.

Bild: DBAN Hilfemenü "F2"

Mit Drücken der Taste [F3] erhalten wir weitere Informationen zu den einzelnen Löschoptionen.

Bild: DBAN Hilfemenü "F3"

Spezielle Hinweise zu RAID-Controllern erhalten wir, sofern wir die Taste [F4] drücken.

Bild: DBAN Hilfemenü "F4"

Links


1)
Master Boot Record
2)
Darik’s Boot And Nuke
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
  • centos/pxe_c7/dban.txt
  • Zuletzt geändert: 20.04.2018 09:07.
  • (Externe Bearbeitung)