Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Full-Encrypted Root Server

Status
Für weitere Antworten geschlossen.

meister85

Best Member
Boardveteran
Registriert
21. September 2009
Beiträge
7.781
Reaktionspunkte
5.020
Punkte
373
Hallo liebe DEB´ler.

Heute möchte ich euch zeigen, wie ihr euren gemieteten Root-Server per Remote komplett per AES 256 Bit verschlüsselt.

Vorteile:


  • Kein Realtime-Monitoring durch Provider
  • Kein Provider-Kernel
  • Download von Paketen nicht über Provider sondern direkt über Debian
  • Direkter SSH-Zugang als Superuser root
  • Möglichst unabhängig von Provider-Infrastruktur
  • Minimalsystem
  • Komplett verschlüsselter Root-Server mit Entschlüsselung über SSH


Als aller erstes müsst ihr folgende Datein sichern:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Dann muss der Server in das Rescue-System gebootet werden. Dies erfolgt über das Webinterface vom jeweiligen Provider.

Nachdem wir uns im Rescue-System angemeldet haben, müssen wir die Partionierung erstellen. Dies erledigen wir mit cfdisk.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

sda1
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

sda2
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

sda3
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun müssen diese formatiert werden.

Zunächst die Boot-Partition:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Als nächstes die Systempartition. Zugleich wird diese auch verschlüsselt. Bitte erstellt hierfür ein Passwort mit mindestens einer Länge von 100 Zeichen. Ich nutze z.B. die Webseite
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


Nachdem das Passwort generiert ist geben wir folgenden Befehl ein:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Hier müssen wir mit YES (Achtung in Großbuchstaben!) bestätigen.

Dann das zuvor generierte Passwort eingeben.

Dann mit folgenden Befehl die Partion öffnen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Und anschlißend formatieren:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun müssen die Verzeichnisse eingebunden werden:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Die Installtion von Debian (Wheezy) erfolgt über Debootstrap.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Anschließend die Dateien entpacken:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun prüfen wir, ob der Inhalt des Pakets unverändert im Rettungssystem angekommen ist.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Um mit der Installation fortzufahren müssen wir den Quelltext ein wenig modifizieren:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Bitte folgende Zeilen abändern:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Um sicherzugehen, dass nur offizielle Pakete ohne Backdoors auf dem neuen System installiert werden, müssen die Signaturen aller Pakete geprüft werden.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun wird die Installation gestartet:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Anschließend ins chroot wechseln:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Kommt nun keine Fehlermeldung, befindet ihr euch auf ein frisch installiertes Debian-System 64bit.

Password für Root ändern:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Jetzt kommen wir zu der Konfiguration des Basissystems. Hierzu benötigen wir nun die zuvor gesicherten Daten.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun müssen wir die crypttab bzw. fstab abändern:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Dort bitte folgendes einpflegen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Selbe gilt für die fstab:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Jetzt noch die Paket-Liste anpassen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Und aktualisieren:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Sprache und Zone anpassen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Sprache = de_DE.UTF-8
Zone = Europa --> Berlin

Jetzt installieren wir den Kernel.

Hierfür erstmal folgenden Befehl:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Und anschlißend:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Installation von wichtigen Paketen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Bei der Installation von Grub werdet ihr gefragt, wohin es installiert werden soll. Da die meisten nur eine Festplatte nutzen, wählt ihr bitte /dev/sda aus und bestätigt mit OK.

Jetzt muss der Remote-Unlock eingerichtet werden:

nano /etc/initramfs-tools/initramfs.conf

Nach DEVICE suchen und folgend ergänzen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Änderungen in das initrd übernehmen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Jetzt müssen wir den RSA-Key kopieren und am besten in notepad ++ einfügen. Anschließend unter id_rsa abspeichern.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Jetzt müsst ihr Puttygen öffnen und auf Conversations --> Importkey klicken. Anschlißend auf save privatekey. Dieser ist für die Anmeldung notwendig. Ohne diesen Schritt kommt ihr nicht auf dem Server!

Nun noch Grub updaten:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun wieder in das Webinterface vom Provider gehen und als Netboot die HDD wieder auswählen!

Anschlißend wie gewohnt rebooten:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nach einigen Minuten sollte der Server wieder hochgefahren sein.

Es steht euch der Dropbear als SSH im unverschlüsselten Bereich zur Verfügung. Der Dropbear wird über die initrd mit geladen.


Um die Anmeldung erfolgreich abzuschließen benötigt ihr den zuvor gespeicherten private key!

Nachdem ihr euch angemeldet habt, seid ihr im unverschlüsselten minimal SSH des Servers. Nun müsst ihr folgenden Befehl eingeben:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!


Mit Enter bestätigen. Jetzt bootet der Server erst komplett durch.

Nun Putty schließen und erneut ein loggen. Allerdings nicht mehr mit dem private key sondern mit eurem festgelegten Passwort (siehe Punkt passwd).

Man kann auch hier ein zweites authorized_key nutzen. Bitte hierfür folgendes How-To nutzen.
 
Zuletzt bearbeitet von einem Moderator:
AW: Full-Encrypted Root Server

Hallo liebe DEB´ler.

Da nun Debian Jessie schon seit einiger Zeit verfügbar ist will ich euch hier nun die adaptierte Anleitung zur Verfügung stellen.
Grundsätzlich unterscheidet sich die Anleitung nicht so extrem von der bereits verfügbaren Anleitung.

Vorteile:


  • Kein Realtime-Monitoring durch Provider
  • Kein Provider-Kernel
  • Download von Paketen nicht über Provider sondern direkt über Debian
  • Direkter SSH-Zugang als Superuser root
  • Möglichst unabhängig von Provider-Infrastruktur
  • Minimalsystem
  • Komplett verschlüsselter Root-Server mit Entschlüsselung über SSH


Als aller erstes müsst ihr folgende Datein sichern:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Dann muss der Server in das Rescue-System gebootet werden. Dies erfolgt über das Webinterface vom jeweiligen Provider.

Nachdem wir uns im Rescue-System angemeldet haben, müssen wir die Partionierung erstellen. Dies erledigen wir mit cfdisk.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

sda1
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

sda2
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

sda3
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun müssen diese formatiert werden.

Zunächst die Boot-Partition:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Als nächstes die Systempartition. Zugleich wird diese auch verschlüsselt. Bitte erstellt hierfür ein Passwort mit mindestens einer Länge von 100 Zeichen. Ich nutze z.B. die Webseite
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


Nachdem das Passwort generiert ist geben wir folgenden Befehl ein:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Hier müssen wir mit YES (Achtung in Großbuchstaben!) bestätigen.

Dann das zuvor generierte Passwort eingeben.

Dann mit folgenden Befehl die Partion öffnen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Und anschlißend formatieren:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun müssen die Verzeichnisse eingebunden werden:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Die Installtion von Debian (Jessie) erfolgt über Debootstrap.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Anschließend die Dateien entpacken:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun prüfen wir, ob der Inhalt des Pakets unverändert im Rettungssystem angekommen ist.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Um mit der Installation fortzufahren müssen wir den Quelltext ein wenig modifizieren:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Bitte folgende Zeilen abändern:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Um sicherzugehen, dass nur offizielle Pakete ohne Backdoors auf dem neuen System installiert werden, müssen die Signaturen aller Pakete geprüft werden.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun wird die Installation gestartet:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Anschließend ins chroot wechseln:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Kommt nun keine Fehlermeldung, befindet ihr euch auf ein frisch installiertes Debian-System 64bit.

ACHTUNG: Der Root User ist bei Zugriff über SSH deaktivert.
Sprich ihr müsst euch einen neuen User für die weitere Nutzung des Systems einrichten, anderenfalls könnt ihr euer System nach dem Boot ins verschlüsselte System nicht entsperren.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Der Root User kann im nachhinein wieder aktivert werden, stellt aber im Bezug auf Sicherheit eine Lücke dar.
Danke an Osprey für das How-to

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Password für Root ändern:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Jetzt kommen wir zu der Konfiguration des Basissystems. Hierzu benötigen wir nun die zuvor gesicherten Daten.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun müssen wir die crypttab bzw. fstab abändern:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Dort bitte folgendes einpflegen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Selbe gilt für die fstab:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Jetzt noch die Paket-Liste anpassen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Und aktualisieren:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Sprache und Zone anpassen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Sprache = de_DE.UTF-8
Zone = Europa --> Berlin

Jetzt installieren wir den Kernel.

Hierfür erstmal folgenden Befehl:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Und anschlißend:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Installation von wichtigen Paketen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Bei der Installation von Grub werdet ihr gefragt, wohin es installiert werden soll. Da die meisten nur eine Festplatte nutzen, wählt ihr bitte /dev/sda aus und bestätigt mit OK.

Jetzt muss der Remote-Unlock eingerichtet werden:

nano /etc/initramfs-tools/initramfs.conf

Nach DEVICE suchen und folgend ergänzen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Änderungen in das initrd übernehmen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Jetzt müssen wir den RSA-Key kopieren und am besten in notepad ++ einfügen. Anschließend unter id_rsa abspeichern.

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Jetzt müsst ihr Puttygen öffnen und auf Conversations --> Importkey klicken. Anschließend auf save privatekey. Dieser ist für die Anmeldung notwendig. Ohne diesen Schritt kommt ihr nicht auf dem Server!

Nun noch Grub updaten:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nun wieder in das Webinterface vom Provider gehen und als Netboot die HDD wieder auswählen!

Anschlißend wie gewohnt rebooten:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nach einigen Minuten sollte der Server wieder hochgefahren sein.

Es steht euch der Dropbear als SSH im unverschlüsselten Bereich zur Verfügung. Der Dropbear wird über die initrd mit geladen.


Um die Anmeldung erfolgreich abzuschließen benötigt ihr den zuvor gespeicherten private key!

Nachdem ihr euch angemeldet habt, seid ihr im unverschlüsselten minimal SSH des Servers. Nun müsst ihr folgenden Befehl eingeben:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!


Mit Enter bestätigen. Jetzt bootet der Server erst komplett durch.

Nun Putty schließen und erneut ein loggen. Allerdings nicht mehr mit dem private key sondern mit eurem festgelegten Passwort (siehe Punkt passwd).

Die Anmeldung passiert nun mit dem bereits vorher angelegten "eueruser". Um Root Rechte zu bekommen habt ihr 2 Möglickeiten.

1. sudo vor den commands schreiben
2. mit dem Command "su" und anschliessender eingabe des Root Password

Man kann auch hier ein zweites authorized_key nutzen. Bitte hierfür folgendes How-To nutzen.
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben