Veraltet: OpenIndiana und Solaris werden kaum noch als Desktop eingesetzt. Dual-Monitor-Konfiguration unter Linux erfolgt über xrandr oder die jeweilige Desktop-Umgebung.
Der OpenSolaris fork Openindiana und Dualscreen / TwinView
Die automatische Konfiguration des X-Server läuft auf den meisten Systemen mehr als zuverlässig. Mir ist noch kein System unter die Finger gekommen bei welchem es wirklich ein Problem war den Xorg-Server lauffähig zu bekommen.
Ich bin seit langem schon ein Fan von Nvidia-Karten. Schuld ist da wohl die alte Firma Elsa (die vor der Pleite…)! Die Treiberunterstützung unter Linux oder Solaris ist bei Nvidia-Karten auch wunderbar. Es funktioniert einfach und sauber.
Jetzt habe ich also einen Arbeitsplatzrechner mit zwei Monitoren an einer Nvidia VGA Karte. Openindiana fährt hoch, erkennt die Karte, schaltet den primären Monitor ein und richtet Auslösung/Farbtiefe usw. korrekt ein. Ich kann mich anmelden und per Klickibunti ganz Windooflike unter ==> System == > Einstellungen ==> NVIDIA X-Server-Einstellungen den zweiten Monitor einfach aktivieren. Nvidias TwinView auswählen, sagen wie und wie der Monitor sein soll und fertig. Klappt alles sofort und so einfach das man weinen könnte (sofern man sich früher schon mal an so etwas probiert hat).
Dumm nur dieses bei jedem Reboot neu einstellen zu müssen. Also sollte man diese Einstellungen am besten gleich in seine xorg.conf schreiben, oder? Richtig….. Selbst dafür bieten die nvidia-settings einen Button: „Save to X Configuration File“. Dieses nun einfach noch als xorg.conf unter „/etc/X11/xorg.conf“ speichern und auch nach dem Reboot ist alles gut
Für Spaß findet man >>hier<< meine xorg.conf, auch wenn das ja so einfach ist, das es jeder schaffen sollte!
Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. Unter Linux: umount /dev/sdX, unter FreeBSD: umount /dev/daX.
Der OpenSolaris fork Openindiana und das USB mount Problem
Inzwischen ist man selbst als Unix Mensch verwöhnt von seinem GUI. Daher nerven kleinere Problemchen welche einen zwingen doch wieder die Konsole zu öffnen sehr….
So ging es mir mit allem was man so mal eben in die Kiste stopfen kann. Ob es nun ein USB-Stick, eine CD/DVD oder eine Wechselplatte ist. Sie wird sauber erkannt und automatisch eingebunden. Es gibt ein schönes Symbol auf dem Gnome Desktop und in dessen Dateiverwaltung. Selbst der Zugriff auf alles klappt tadellos. Aber wehe man möchte das Teil wieder los werden.
Sobald man auf „Aushängen“ klickt, springt einem das System mit der GUI-Meldung an: cannot unmount volume
Sehr nervig…. Konsole aufmachen, su, unmount…..
Dass dieses ein Problem mit irgendeiner Berechtigung sein muss ist schnell klar, aber welcher? Google konnte mir schnell helfen. Das Problem besteht seit 147 bzw. Solaris Express, soll aber inzwischen gefixt sein. Ist es auch, nur taucht es inzwischen durch eine andere Änderung wieder auf. Das ganze ist bekannt und soll gelöst werden. Bisher gibt es einen Workaround.
Einfach nachstehende Zeile in die folgende Datei packen:
/etc/logindevperm
/dev/vt/console_user 0620 /dev/console # workaround for defect.opensolaris.org 12133
Einen einfachen Reboot später klappt dann alles mit dem unmount per GUI.
Veraltet: OpenIndiana und Solaris werden kaum noch als Desktop eingesetzt. LibreOffice läuft unter Linux und FreeBSD problemlos.
Der OpenSolaris fork Openindiana und OpenOffice
Ein Office Paket darf kaum auf einem Desktopsystem fehlen. In den ersten Versionen von OpenSolaris hat Sun (jetzt Oracle) sogar noch ihre kommerzielle Version StartOffice mitgeliefert. Das hat sich inzwischen sehr geändert. Von OpenOffice.org gibt es fertige Pakete für Solaris. Zwar bevorzuge ich LibreOffice, müsste dieses für Solaris nur selbst aus den Quellen bauen. Dafür fehlt mir die Zeit/Lust…
Also OpenOffice.org… Dieses ist schnell in einer aktuellen Version inkl. Javainstaller von www.openoffice.org heruntergeladen.
Nach dem entpacken
$ tar xczf OOo_3.3.0_Solaris_x86_install-wJRE_de.tar.gz
lässt sich die Installation schnell und einfach wie folgt starten:
$ cd OOO330_m20_native_packed-1_de.9567
$ ./setup
Der Rest ist dann sogar für jeden Windows-User selbsterklärend.
Veraltet: OpenIndiana und Solaris werden kaum noch produktiv eingesetzt. gpodder läuft problemlos unter Linux und FreeBSD.
Der OpenSolaris fork Openindiana und gPodder
Ich nutze zur Verwaltung meiner abonnierten Podcasts schon seit langer Zeit gPodder. Es ist schlank klein, schnell und tut nur das was ich möchte Das soll unter Openindiana nun auch so sein. Zusätzlich möchte ich auch gerne die Podcasts auf meinen Creative ZEN mozaic per MTP schieben. Hier gibt es zwar ein kleines Problem, dieses konnte ich aber für mich mit einem (ganz ganz ganz ganz bösen) Workaround lösen, davon später mehr.
Um gpodder auf mein System zu bekommen sind zusätzlich noch folgende Python Erweiterungen nötig:
$ gzcat feedparser-5.0.1.tar.gz | tar xvf -
$ gzcat mygpoclient-1.6.tar.gz | tar xvf -
Und dann ganz schnell als root installieren:
$ cd feedparser
$ python setup.py build
$ python setup.py install
$ cd ..
$ cd mygpoclien
$ python setup.py build
$ python setup.py install
Man man man…. Das ging ja noch. Jetzt also gpodder (http://gpodder.org/downloads.html). Nach dem Download entpacken und dann…
$ gzcat gpodder-2.19.tar.gz | tar xvf -
$ cd gpodder
$ python setup.py build
Immer wenn ich nun ein python setup.py install gestartet habe blieb er mit folgender Meldung hängen:
error: can't copy 'data/org.gpodder.service': doesn't exist or not a regular file
Ganz braun hat mir hie folgendes geholfen:
$ cd data
$ cp org.gpodder.service.in org.gpodder.service
$ cd ..
$ org.gpodder.service
Damit lässt sich gpodder auch schon starten und benutzen. Mir fehlt nur noch die Unterstützung von MTP (http://libmtp.sourceforge.net/) nach Download und Auspacken kommt der bekannte Dreisatz zum Tragen:
$ ./configure
$ make
$ make install
Fertig…
Fertig? Na ja fast!
$ mtp-detect
erkennt meinen Player. mtp-files listet die auf dem Player befindlichen Files auf und ein mtp-sendfile schiebt eine mp3 Datei sauber und abspielbar auf den MP3-Player. Wenn ich nun im gpodder unter: Preferences ==> Devices ==> Device type: MTP einstelle. Kann ich mit der rechten Maustaste Podcasts an meinen MP3-Player senden. Diese kommen dort wirklich an und sind in der Liste auswählbar. Ich bekomme nur im MP3-Player die Meldung: „Problem bei der Audiowiedergabe“ das File wieder übersprungen und Ende. So habe ich mir das nicht vorgestellt :-/ Vor allem lassen sich Dateien abspielen, welche ich von Hand auf der Konsole per mtp-sendfile herüberschiebe. Daher müsste es doch auch über den gpodder funktionieren, oder?
Beim Auflisten der Files vom MP3-Player ist mir aber etwas spannendes aufgefallen:
AHA… Der funktionsfähige, von Hand angeschobene, Podcast hat den Filetype: ISO MPEG-1 Audio Layer 3
Dieses ist für ein MP3-File auffallend korrekt. Der vom gpodder hochgeschobene Podcast hat den Filetype: RIFF WAVE file. Das kann ja nicht klappen.
Ich tippe nun mal dass es irgendwo im gpodder auf meiner Solaris Kiste ein Problem damit gibt den Filetype richtig zu erkennen oder zu setzten (Vermutung halt)… Ich habe den Quelltext nun einmal hoch und runter gescrollt aber nichts gefunden (ich bin halt kein Programmierer)…. Ich habe nur eine Liste von Filetypen gefunden mit dem Hinweiss das diese immer syncron mit den Einträgen aus der libmtp.h sein müssen.
Daher habe ich mir mal die libtmp.h.in angeschaut. Hier finden sich diese Filetypen wieder. Was soll ich sagen? An erster Stelle steht jeweils WAV… Nun zu meinem bösen Versuch (bitte nicht schimpfen) ich habe einfach den ersten Eintrag:
LIBMTP_FILETYPE_WAV,
ausgetauscht gegen:
LIBMTP_FILETYPE_MP3,
Weiter unten habe ich dann MP3 gegen WAV getauscht. Nun einfach libmtp neu übersetzen und, ja es funktioniert. Zumindest mit MP3 Files.
Bei Zeiten müsste ich mich hier wohl mal eingehender beschäftigen oder mal einen Bug aufmachen, das Problem könnte auch hausgemacht sein. Bei Zeiten…..
Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. VirtualBox läuft unter FreeBSD und Linux problemlos.
Der OpenSolaris fork Openindiana und VirtualBox
Nicht nur das die modernen Systeme inzwischen meist genug Leistung haben um zu einem Hostsystem noch ein weiteres oder mehrere zu „Emulieren“ nein, man kann es auch ganz gut gebrauchen. Bedingt durch meine Arbeit bin ich leider an vielen Stellen auf Produkte von Microsoft angewiesen. Zusätzlich ist es ganz praktisch für Schulungen oder Vorträge immer ein dazu passendes, sauberes und funktionsfähiges System aus dem Glas holen zu können. Natürlich ist es auch mehr als praktisch wenn man Experimente nicht immer in seinem echten System fahren muss.
Ich setzte hier derzeit auf VirtualBox, da dieses die für mich wichtigsten Plattformen abdeckt und ich so die VMs einfach von hier nach da schieben und nutzen kann. Das darf natürlich auf meinem Solaris Desktop nicht fehlen!
Bei Oracle gibt es fertige Pakete für Solaris. Ein solches ist schnell heruntergeladen und entpackt sich fast von alleine:
$ tar xvzf VirtualBox-4.1.2-73507-SunOS.tar.gz
Die Installation stellt einen auch nicht weiter vor große Probleme:
$ cd VirtualBox-4.1.2-73507-SunOS
$ pkgadd -d VirtualBox-4.1.2-SunOS-r73507.pkg
Damit ist Virtualbox schon nutzbar und fertig installiert. Man sollte nun aber nicht vergessen seinen User mit in die Gruppe vboxuser zu packen, sonst gibt es so lustige Fehlermeldungen beim Versuch an USB Geräte zu kommen:
Could not load the Host USB Proxy service (VERR_ACCESS_DENIED).
USB 2.0 und noch etwas mehr Lulu bekommt man über das Oracle VM VirtualBox Extension Pack. Hier sollte man sich aber (wie bei allen Dingen) die Lizenzbestimmungen durchlesen.
Veraltet: OpenIndiana und Solaris werden kaum noch als Desktop eingesetzt. Multimedia-Codecs sind unter Linux trivial installierbar.
Der OpenSolaris fork Openindiana und Multimedia
Ich nutze Openindiana auf meinem Notebook als Desktopsystem. Natürlich wird damit hauptsächlich gearbeitet, denn noch sehe ich mir gerne mal ein Video an, höhre eine mp3 oder einen Livestream im Internet. Dafür benötigt man passende Codecs und Player. Diese stehen oft unter Lizenzen, welche einem ausliefern mit Openindiana im Wege stehen.
Nun kann man also anfangen sich alles Stückchen für Stückchen zusammen zu suchen oder auf ein Multimedia Repository zurückgreifen. Das spart viel Arbeit.
Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. Wine läuft unter Linux deutlich besser als je unter Solaris.
Der OpenSolaris fork Openindiana und Wine
Wine braucht man immer mal wieder für irgendwas. Ich auf meiner Solariskiste auch…. Auf der Download Seite von wienhq.org (http://www.winehq.org/download) gibt es zwar einen direkten Link zu einem fertigen Paket für Solaris (OpenSolaris binär .pkg für OpenSolaris x86) aber dieser scheint irgendwie tot zu sein:
This application is no longer in service. For those in the community who participated in the past we thank you for your contributions.
Damit ist wohl wieder mal Handarbeit angesagt. Um wine selbst zu übersetzten fehlen noch ein paar Pakete, diese lassen aber glücklicherweise schnell mit dem Paketmanager installieren:
Nun schnell den heruntergeladenen Tarball von wine auspacken und in das Verzeichnis springen:
$ bunzip2 wine-1.3.13.tar.bz2
$ tar xvfwine-1.3.13.tar
$ cd wine-1.3.13
Damit nun auch gleich alles gefunden wird muss noch ein Symlink angelegt werden:
$ ln -s /usr/bin/automake-1.10 /usr/bin/automake
Jetzt noch schnell der kleine Dreisatz:
$ ./configure --prefix=/usr
$ make
$ make install
Fertig ist wine… Da stand man schon vor größeren Herausforderungen, oder?
*Update*
Ihr solltet euch unbedingt mal das Spec Files Extra Repository anschauen, bevor ihr hier etwas macht !
Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. NFS funktioniert unter FreeBSD und Linux identisch und ist dort besser dokumentiert.
Der OpenSolaris fork Openindiana und NFS zu Linux
Es gibt leider ein kleines Problem zwischen den Lizenzen unter welchen Linux und Opensolaris herausgegeben werden. Diese sind nämlich inkompatibel. Das bedeutet man kann nicht einfach Code welcher unter der CDDL erstellt wurde in den GPL Linux Kernel packen und umgekehrt. Dieses merkt man, wie ich, sehr schnell beim einfachen Versuche seine lang genutzte externe ext4 formatierte USB Festplatte in mein Opensolaris zu mounten…..
Es gibt zwar Mittel und Wege sein ext2 / ext3 read only zu mounten aber bei ext4 ist hängen im Schacht :-/ In Zeiten von GB-Netzwerken geht das ja bei kleineren Datenmengen dank NFS noch.
Pahhh da boote ich ganz cool meine Linux-Schüssel, hänge die USB-Platte ein und passe meine exports für einen ganz einfachen und schnellen Share an:
$ cat /etc/exports
/festpladde (ro)
Dann noch schnell dem NFS Server auf der Linuxschüssel sagen das er die exports neu einliest:
$ exportfs -ra
Und noch mal gegenchecken ob der Export auch sauber in der Liste steht:
$ showmount -e
/festpladde *
Perfekt nun sollte jeder Rechner einfach die Daten mounten können, denke ich!
Auf meinem Solaris gebe ich schnell in der Konsole den mount Befehl ein und:
$ mount 192.168.1.88:/festpladde /mnt
No such file or directory
No such file or directory?????
Ich prüfe alle Einstellungen noch 3 mal nach…. Alles richtig! Alles richtig?
Ja im groben schon. Solaris versucht die Linux Kiste per NFSv4 anzusprechen. Dieses unterstützen zwar beide Maschinen, es kann denn noch Probleme damit geben. Schaltet man aber bewusst auf NFSv3 zurück klappt es (darauf soll mal einer kommen.).
$ mount -o vers=3 192.168.1.88:/festpladde /mnt
Ganz blöde Falle, oder?
Hat man häufiger Datenaustausch per NFS zu Linux Maschinen könnte man Solaris dazu bringen per default immer NFSv3 zu nutzen:
$ sharectl set -p client_versmax=3 nfs
Will man es später ändern reicht es natürlich die 3 gegen eine 4 zu ersetzten, schlau was?
Ich wollte wissen, wie gut sich Daten mit Linux-Bordmitteln wiederherstellen lassen. Also habe ich eine alte Festplatte genommen und es systematisch ausprobiert. Erst normal gelöschte Dateien, dann ein RAW-Image, und am Ende habe ich die Platte physisch zerstört, um zu sehen was ddrescue und PhotoRec aus den Trümmern holen.
Vorbereitung: Testplatte befüllen
Die älteste funktionierende Platte aus meinem Fundus: eine WD Expert 136BA. Erst komplett mit Nullen überschrieben, dann partitioniert und als NTFS formatiert:
Die Optionen: -u für Undelete-Modus, -m '*.*' für alle Dateien (mit -m '*.doc' könnte man nur Word-Dateien holen), -p 100 für nur zu 100 % wiederherstellbare Dateien, -d /test als Zielverzeichnis. Bei Bildern könnte man den Prozentsatz auch niedriger setzen, Teile eines JPEG sind besser als nichts.
Alle 154 Dateien kamen vollständig zurück. Einzige Einschränkung: Dateien mit gleichem Namen werden nicht überschrieben. Sollte man beachten oder per Script lösen.
Arbeiten mit RAW-Images
Im Ernstfall arbeitet man nie mit der Originalplatte. Sobald man den Datenverlust bemerkt, am besten sofort den Stecker ziehen. Jeder weitere Betrieb, selbst ein Herunterfahren, kann die gelöschten Daten überschreiben. Also erst ein RAW-Image ziehen:
ntfsundelete funktioniert genauso mit dem Image-File. Gleiche Ergebnisse, gleiche Wiederherstellung. Genau so soll es sein.
Die Festplatte zerstören
Jetzt wird es interessant. Mich hat natürlich interessiert, was bei einer physisch beschädigten Platte passiert. Also Platte wieder voll gemacht und dann aufgeschraubt.
Vorsichtig ein paar Kratzer mit dem Schraubendreher auf die Magnetscheiben gesetzt. Nicht zu viel, aber genug, dass einige Gigabyte unlesbar sein sollten.
ddrescue: 52 Stunden an einer zerkratzten Platte
Platte wieder zugeschraubt und ddrescue drauf losgelassen:
Nach meiner kleinen Kratzorgie hat ddrescue 52 Stunden an der Platte gefummelt, bevor es durch war.
Wann zum Profi?
Wenn einem die Daten mehr als 3.000 Euro wert sind, sollte man einen professionellen Datenretter aufsuchen. Die nehmen zur Diagnose oft um die 90 Euro und sagen dann, was es wirklich kostet. Bei einem Fall aus 2010 hat ein Kunde mit einer 160 GB HDD und Headcrash einen Kostenrahmen von 15.000 bis 18.000 Euro genannt bekommen. Jede Bewegung an der Platte kann weitere Daten zerstören.
Ich habe selbst mal bei einer Seagate SCSI-Platte die komplette Elektronik von einer baugleichen getauscht, weil sie keinen Spin-Up mehr machte. Lief danach wieder, als wäre nie etwas gewesen. Auch ein Tausch der Schreib-/Leseköpfe hat einmal funktioniert, nachdem einer halb abgerissen war. Die Platte sprang genau ein Mal an, ich konnte sichern, beim nächsten Versuch ging nichts mehr. Solche Experimente klappen nicht immer. Hat man an der Platte herumgefummelt, hat oft auch der Profi keine Chance mehr.
PhotoRec: Dateien anhand des Headers retten
Das ddrescue-Image ließ sich in meinem Fall nicht mehr mounten. Durch die Kratzer war auch das NTFS-Dateisystem total im Eimer, selbst fsck half nicht. Also brauchte ich ein Programm, das Dateien anhand ihres Headers wiederherstellen kann: PhotoRec.
photorec datenrettung_parti_sicher.img
PhotoRec hat erstaunlich viele Dateien aus der zerkratzten Platte zurückgeholt. Wer sich das Programm anschaut, sollte sich auch TestDisk vom gleichen Entwickler ansehen. Damit lassen sich gelöschte Partitionen rekonstruieren und noch vieles mehr.
Update 2026: Was bei SSDs und NVMe anders ist
Der Beitrag oben ist von 2010 und das merkt man. Die meisten Endgeräte haben heute keine drehende Festplatte mehr, sondern eine SSD oder NVMe. Das ändert das Spiel komplett.
Sobald TRIM oder UNMAP aktiv sind, meldet das Dateisystem dem Controller, welche Blöcke nach einem DELETE freigegeben sind. Der Controller löscht diese Zellen oft sofort oder beim nächsten Garbage-Collection-Lauf. Ergebnis: ntfsundelete oder PhotoRec laufen ins Leere, weil die Daten physisch schon weg sind. Wer ein Recovery-Tool an einer SSD ansetzt, sollte das Laufwerk vorher per Software-Hardware-Befehl ruhigstellen, also nicht mounten und keine TRIM-Befehle mehr absetzen lassen.
NVMe legt noch eine Schaufel drauf. Mit nvme sanitize oder nvme format --ses=1 ist nach Sekunden alles weg, kryptografisch sauber. Das ist gut für Hardware-Verkauf oder -Entsorgung, ein Albtraum für Recovery.
Verschlüsselte Datenträger sind ein eigenes Kapitel. BitLocker, LUKS, FileVault, APFS-Encryption: ohne den Schlüssel oder das Recovery-Passwort hilft kein Tool der Welt. Bei einem PCB-Defekt einer SSD wird es zusätzlich kritisch, weil moderne Controller die Verschlüsselung intern anders handhaben als der Host. Selbst wenn die NAND-Chips noch heile sind, bekommt ohne den passenden Controller-State niemand mehr Klartext zurück. Mit anderen Worten: ein einfacher PCB-Tausch wie bei meiner alten Seagate SCSI ist 2026 nicht mehr drin, schon gar nicht im Selbstbau.
Update 2026: Backup schlägt Recovery
Die ehrliche Wahrheit nach 15 Jahren: ich habe nicht mehr ein einziges Mal in echt eine Datenrettung gemacht. Nicht weil die Tools schlechter geworden wären, sondern weil ich Backups habe. Wenn eine Platte stirbt, ziehe ich den letzten Snapshot zurück und gut ist. Recovery ist die Notlösung, wenn das Backup fehlt oder kaputt ist.
Was ich heute tatsächlich nutze:
ZFS-Snapshots mit zfs-auto-snapshot: stündlich, täglich, wöchentlich. Auf der Workstation und im Storage. Versehentliches rm -rf oder ein Crypto-Trojaner sind in Sekunden zurückgerollt.
zfs send / zfs recv auf einen externen Pool und auf ein Offsite-System. Inkrementell, verschlüsselt mit zfs send -w, vollautomatisch per Cron.
Borg / Restic für die Geräte, die kein ZFS sprechen. Deduplizierend, verschlüsselt, push und pull-Modi.
Time Machine auf dem MacBook, weil es genau das macht was es soll.
Die 3-2-1-Regel ist alt und immer noch korrekt: drei Kopien, auf zwei verschiedenen Medien, eine davon räumlich getrennt. Cloud-Sync wie Dropbox, OneDrive oder Google Drive ist dabei kein Backup. Wenn dort etwas gelöscht wird, ist es im selben Moment auch lokal weg. Ein Backup ist immer eine Kopie, die nicht automatisch mitläuft.
Update 2026: Tools und Preise heute
Die guten Nachrichten zuerst: alle vier Tools aus dem Original werden weiter aktiv gepflegt.
GNU ddrescue: aktuell Version 1.28, läuft auf jedem Linux/BSD/macOS. Mit ddrescueview gibt es eine GUI, die das Mapfile visualisiert.
PhotoRec / TestDisk: Version 7.2, von cgsecurity.org. Versteht inzwischen über 500 Dateiformate, auch moderne wie HEIC, AVIF, MKV-Container.
ntfsundelete: Teil der ntfs-3g/ntfsprogs, weiterhin im Standard-Repository jeder Distribution.
SMART und Vorhersage: smartctl aus smartmontools ist Pflicht. Die Werte Reallocated_Sector_Ct, Current_Pending_Sector und Offline_Uncorrectable sagen oft schon Tage vorher, dass die Platte sterben wird.
Bei den Preisen für professionelle Datenrettung hat sich einiges getan. Die Diagnose liegt heute meist zwischen 50 und 200 Euro, oft sogar kostenlos wenn man den Auftrag erteilt. Die eigentliche Rettung ist stark gestaffelt: einfache Logikfehler ab etwa 300 Euro, mechanische Defekte mit Reinraum ab 800 bis 1.500 Euro, schwere Schäden mit Plattentausch und Adaption-Tabellen können immer noch vier- bis fünfstellig werden. Anbieter wie CBL, Ontrack oder Stellar geben kostenlose Erstdiagnose, das nutze ich heute auch wenn nur ein Verdacht im Raum steht.
Ein Hinweis noch: SSD- und NVMe-Recovery ist deutlich teurer als HDD-Recovery, weil der Reinraum-Aufwand durch teure Equipment-Setups für NAND-Reads ersetzt wird. Wer also wirklich wichtige Daten auf einer SSD hatte, fährt mit einem soliden Backup-Konzept finanziell und nervlich besser.
Fazit
Für normal gelöschte Dateien auf NTFS reicht ntfsundelete. Bei physischen Schäden ist ddrescue das Mittel der Wahl, um erst ein Image zu sichern. Und wenn das Dateisystem komplett zerstört ist, kann PhotoRec anhand der Datei-Header noch erstaunlich viel retten. Wichtigste Regel: Nie an der Originalplatte arbeiten, immer zuerst ein Image ziehen.
2026 gilt das alles weiter, mit zwei Einschränkungen. Auf SSDs und NVMe kommt man oft schon gar nicht mehr an die Daten. Und: das beste Recovery ist das, das man nie machen muss. Backup, Backup, Backup.
DNSSEC (Domain Name System Security Extensions) schützt DNS-Antworten vor Fälschung. Ein anfragender Resolver kann damit prüfen, ob die gelieferten Zonendaten tatsächlich vom autorisierten Nameserver stammen und unterwegs nicht verändert wurden. DNSSEC wurde als Mittel gegen Cache Poisoning entwickelt — Serverauthentifizierung findet nicht statt.
Die Vertrauenskette
Was mich beim ersten Lesen zu DNSSEC durcheinandergebracht hat, war das Umherwerfen mit Begriffen: KSK, ZSK, DNSKEY, RRSIG, DS. Im Grunde ist es einfach:
Der KSK (Key Signing Key) hat eine Aufgabe: den ZSK unterschreiben. Der KSK wird als DS-Record in der übergeordneten Zone hinterlegt. Der ZSK (Zone Signing Key) hat auch nur eine Aufgabe: die eigentlichen Zonendaten unterschreiben.
Es beginnt bei der Root-Zone. Die Root-Server wissen, welche Nameserver für die TLDs zuständig sind. Die TLD-Server wissen, welche Nameserver für die einzelnen Domains zuständig sind. Jede Ebene signiert ihre Zone und veröffentlicht den DS-Record der Ebene darunter. So entsteht eine durchgehende Kette vom Root-KSK bis zu meiner Zone.
Will ein Angreifer dafür sorgen, dass www.kernel-error.org auf seinen Server zeigt, hat er zwei Möglichkeiten:
Er antwortet auf die Delegation-Anfrage mit seinem eigenen Nameserver.
Er antwortet mit gefälschter Absenderadresse schneller als der echte Server.
Mit DNSSEC kann der Resolver beide Angriffe erkennen — die gefälschte Antwort hat keine gültige Signatur.
DNSSEC in BIND aktivieren
Auf dem autoritativen Nameserver muss DNSSEC-Validierung aktiv sein. In modernen BIND-Versionen (ab 9.16) reicht im options-Block:
options {
dnssec-validation auto;
};
auto bedeutet, dass BIND den eingebauten Root-Trust-Anchor nutzt und diesen bei KSK-Rollovers automatisch aktualisiert (RFC 5011). Der alte dnssec-enable yes wurde in BIND 9.18 entfernt — DNSSEC ist seitdem immer aktiv.
Zone signieren — der moderne Weg
Seit BIND 9.16 gibt es dnssec-policy. Damit übernimmt BIND die Schlüsselerzeugung, das Signieren und den Key-Rollover vollautomatisch:
zone "kernel-error.org" {
type primary;
file "kernel-error.org";
dnssec-policy default;
inline-signing yes;
};
Die default-Policy verwendet ECDSAP256SHA256 (Algorithmus 13) — schneller und sicherer als das früher übliche NSEC3RSASHA1 mit 4096-Bit-Schlüsseln. inline-signing yes bedeutet: BIND signiert die Zone im Speicher, die Zonendatei auf der Platte bleibt unsigniert und lässt sich wie gewohnt bearbeiten.
Zone manuell signieren
Wer mehr Kontrolle will oder eine ältere BIND-Version hat, kann die Schlüssel von Hand erzeugen. KSK erstellen:
$ dnssec-keygen -a ECDSAP256SHA256 -f KSK -n ZONE kernel-error.org
Kkernel-error.org.+013+12345
ZSK erstellen:
$ dnssec-keygen -a ECDSAP256SHA256 -n ZONE kernel-error.org
Kkernel-error.org.+013+67890
Die öffentlichen Teile (*.key) in die Zonendatei einbinden und signieren:
$ cat Kkernel-error.org.+013+*.key >> kernel-error.org
$ dnssec-signzone -S -K /pfad/zu/keys -o kernel-error.org kernel-error.org
Verifying the zone using the following algorithms: ECDSAP256SHA256.
Zone signing complete:
Algorithm: ECDSAP256SHA256: ZSKs: 1, KSKs: 1 active, 0 stand-by
kernel-error.org.signed
Dann BIND anweisen, die signierte Zonendatei zu laden. Nach jeder Änderung an der Zone muss neu signiert werden — oder man nutzt inline-signing, dann entfällt das.
DS-Record beim Registrar einreichen
Der öffentliche KSK muss als DS-Record in der übergeordneten Zone landen. Bei der DENIC (.de) und den meisten TLD-Registries gibt es dafür ein Webinterface beim Registrar. Man schickt den öffentlichen KSK hin, der Registrar erstellt daraus einen DS-Record und veröffentlicht ihn neben den NS-Records.
Ob der DS-Record gesetzt ist, lässt sich prüfen, indem man die TLD-Nameserver direkt fragt:
DNSSEC-Signaturen machen DNS-Antworten deutlich größer als die 512 Bytes, die klassisches DNS über UDP erlaubt. EDNS (RFC 6891) hebt dieses Limit auf. Das ist seit 1999 spezifiziert, aber manche Firewalls und Billig-Router haben damit immer noch Probleme — sie filtern große UDP-Pakete oder EDNS-Optionen.
Wichtig: Gehen die Schlüssel verloren oder die signierte Zonendatei brennt ab, hat man ein Problem. Vor jeder großen Änderung (Key-Rollover, Algorithmus-Wechsel) immer die längste TTL der Zone abwarten. Sonst sind gecachte Antworten mit der alten Signatur noch gültig, während die neue Signatur schon aktiv ist — die Zone wird temporär nicht validierbar.
Meinen „analogen“ DNSSEC-Masterplan dazu habe ich mir damals aufgezeichnet:
Was man auf DNSSEC aufbauen kann
Wenn die Zone signiert ist, lassen sich darüber weitere Sicherheitsmechanismen verteilen:
DANE/TLSA — TLS-Zertifikate per DNS verifizieren, unabhängig von CAs.