axel
Boardveteran
- Registriert
- 9. September 2011
- Beiträge
- 11.349
- Lösungen
- 3
- Reaktionspunkte
- 42.944
- Punkte
- 473
- Ort
- Niederrhein
Teil 1 von 3
Hallo liebes DEB,
angelehnt an diese Anleitung: HowTo - Full-Encrypted Root Server
möchte ich Euch in diesem (aktualisiertem) Howto gerne folgende Installation präsentieren/zeigen.
Das Howto dreht sich um folgende Aspekte:
Ein Danke! vorab an @meister85 und @T1x.
########################################
Howtos:
HowTo - Full-Encrypted Root Server
HowTo - Simplebuild (2.34/1.41)
HowTo - Ubuntu Server 15.x --> Systemd Firewall Script / OpenVPN Routing
########################################
Dieses Howto erstelle ich auf Wunsch und Nachfragen diverser User und aufkommender Probleme bei der Installation -> Threads diesbezüglich.
Das ganze wurde auf einem Kimsufi-KS2 (
Ich füge Screenshots und Installationslogs verspoilert (von dem KS2^^) an.
So! :ja Nun aber genug des Geschwafels, ab dafür! :ja
########################################
Vorteile:
Zu Beginn gehen wir ins Webinterface unseres "Rootserver-Providers" und installieren ein Provider-Image (Debian), das sieht bei Kimsufi so aus:
Das dauert eine Weile, diese "Provider-Installation" benötigen wir vorab, um grundlegende Informationen über unseren Server zu bekommen, hier deaktivieren wir erstmal das Monitoring:
OK, ist der Server dann fertig installiert, loggen wir uns via Putty (
Folgende Informationen / Ausgaben speichern wir uns (Textdatei etc.) ab:
Wenn wir alles "zusammenhaben", gehen wir wieder zu unserem Provider-Webinterface und stellen den Bootvorgang/Netboot auf "Rescue-Modus" um:
Bei Kimsufi nennt sich die Geschichte "rescue-pro":
Das bestätigen wir und drücken danach auf "Neu starten".
Nach einem Augenblick ist der Server dann im "Rescue-Modus" gestartet, dieser erlaubt uns die Partitionierung und Vollverschlüsselung.
Wir fangen mit der Partitionierung an:
und wählen "gpt":
sda1
sda2
sda3
So schaut das am Ende korrekt aus:
Wenn wir die Partitionstabelle erfolgreich "geschrieben" haben, müssen wir selbige natürlich auch formatieren.
Zunächst die Boot-Partition:
Das wird unsere unverschlüsselte Partition für den Dropbear / Minimalsystem.
So schaut das aus:
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
Nachdem das Passwort generiert ist geben wir folgenden Befehl ein:
Hier müssen wir mit YES (Achtung in Großbuchstaben!) bestätigen.
Dann das zuvor generierte Passwort eingeben.
Dann mit folgenden Befehl die Partition öffnen:
Und anschließend formatieren:
So schaut das aus:
Nun müssen die Verzeichnisse eingebunden werden:
Die Installation von Debian (in diesem Falle Jessie) erfolgt über Debootstrap.
Anschließend die Dateien entpacken:
Nun prüfen wir, ob der Inhalt des Pakets unverändert im Rettungssystem (Rescue) angekommen ist.
Um mit der Installation fortzufahren müssen wir den Quelltext ein wenig modifizieren:
Bitte folgende Zeilen abändern:
So schaut das aus:
Um sicherzugehen, dass nur offizielle Pakete ohne "Backdoors" auf dem neuen System installiert werden, müssen die Signaturen aller Pakete geprüft werden.
Nun wird die Installation (Jessie) gestartet:
Das Log dazu:
Anschließend ins chroot wechseln:
Achtung: Hierbei kommt am Ende folgende Fehlermeldung, welche wir pauschal ignorieren können:
Als nächstes ändern wir das Passwort für den Superuser "root":
Desweiteren legen wir einen User an -WICHTIG-:
("axfa77" natürlich mit dem gewünschten Usernamen ersetzen!)
So schaut das aus:
Jetzt kommen wir zu der Konfiguration des Basissystems. Hierzu benötigen wir nun die zuvor gesicherten Daten (unsere "Serverinfos").
Nun müssen wir die crypttab bzw. fstab abändern:
Dort bitte folgendes einpflegen:
Selbiges gilt für die fstab:
Jetzt noch die Paketliste anpassen:
Folgende Quellen fügen wir ein (Jessie):
EDIT: Latest Stable ("Stretch") ist als OK getestet:
HowTo - Rootserver mit Debian Jessie *FULL ENCRYPTED* inkl. Iptables-Firewall und Simplebuild
Als nächstes bearbeiten wir unsere /etc/resolv.conf, damit unser Rootserver auch alles findet im www:
(Hier ggfs. aus unseren "Serverinfos" anpassen)
Und aktualisieren:
Sprache und Zone anpassen:
Wir wählen folgende Einstellungen:
Als nächstes:
Jetzt installieren wir den Kernel.
Hierfür erstmal folgenden Befehl:
Und anschließend:
Installation von wichtigen Paketen:
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:
Nach DEVICE suchen und folgend ergänzen (aus unseren Serverinfos):
Änderungen in das initrd übernehmen:
Jetzt müssen wir den RSA-Key kopieren und am besten in notepad++ einfügen. Anschließend unter "id_rsa" abspeichern.
Jetzt müsst ihr Puttygen (
Anschließend auf "Save Privatekey".
Dieser ist für die Anmeldung notwendig.
Ohne diesen Schritt kommt Ihr nicht auf den Server!
(Ich habe hier noch einen "Passphrase" zusätzlich genommen, ist nicht! zwingend notwendig, könnt Ihr auch weglassen.)
Nun noch Grub updaten:
Nun wieder in das Webinterface vom Provider gehen und als Netboot die HDD wieder auswählen!
Anschließend wie gewohnt rebooten:
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 den initrd-Daemon mitgeladen.
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 (Dropbear) des Servers. Nun müsst Ihr folgenden Befehl eingeben:
Mit Enter bestätigen. Jetzt bootet der Server erst komplett durch.
Nun Putty schließen und erneut einloggen. Allerdings nicht mehr mit dem "Private Key" sondern mit eurem festgelegten Passwort und dem User "axfa77" bzw. Eurem angelegten "normalen User" (siehe Punkt passwd^^).
Superuser "root" werdet Ihr als User "axfa77" bzw. Eurem angelegten "normalen User" via:
:ja
Ich hoffe ich habe dem ein oder anderen damit etwas "Licht ins Dunkel" gebracht.
Weiter mit der Firewall via iptables geht es in "Teil 2 von 3".
Gruß
PS: Ich habe mal einen Laberthread hierzu erstellt damit das hier "sauber" bleibt:
Talk - Laberthread: Rootserver mit Debian Jessie *FULL ENCRYPTED* inkl. Iptables-Firewall...
Hallo liebes DEB,
angelehnt an diese Anleitung: HowTo - Full-Encrypted Root Server
möchte ich Euch in diesem (aktualisiertem) Howto gerne folgende Installation präsentieren/zeigen.
Das Howto dreht sich um folgende Aspekte:
- Angemieteten "Dedicated Rootserver" vollverschlüsseln via "Rescue-System"
- Iptables- (Firewall-)Skript zur Absicherung des Servers
- Installation Simplebuild zum "selbstbacken" von Oscam
Ein Danke! vorab an @meister85 und @T1x.
########################################
Howtos:
HowTo - Full-Encrypted Root Server
HowTo - Simplebuild (2.34/1.41)
HowTo - Ubuntu Server 15.x --> Systemd Firewall Script / OpenVPN Routing
########################################
Dieses Howto erstelle ich auf Wunsch und Nachfragen diverser User und aufkommender Probleme bei der Installation -> Threads diesbezüglich.
Das ganze wurde auf einem Kimsufi-KS2 (
Sie müssen registriert sein, um Links zu sehen.
; OVH-Tochter und relativ beliebt in der CS-Szene) beispielhaft durchgeführt.Ich füge Screenshots und Installationslogs verspoilert (von dem KS2^^) an.
So! :ja Nun aber genug des Geschwafels, ab dafür! :ja
########################################
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
Zu Beginn gehen wir ins Webinterface unseres "Rootserver-Providers" und installieren ein Provider-Image (Debian), das sieht bei Kimsufi so aus:
Du musst Regestriert sein, um das angehängte Bild zusehen.
Das dauert eine Weile, diese "Provider-Installation" benötigen wir vorab, um grundlegende Informationen über unseren Server zu bekommen, hier deaktivieren wir erstmal das Monitoring:
Du musst Regestriert sein, um das angehängte Bild zusehen.
OK, ist der Server dann fertig installiert, loggen wir uns via Putty (
Sie müssen registriert sein, um Links zu sehen.
) ein.Folgende Informationen / Ausgaben speichern wir uns (Textdatei etc.) ab:
Code:
cat /etc/resolv.conf
hostname
cat /etc/network/interfaces
Wenn wir alles "zusammenhaben", gehen wir wieder zu unserem Provider-Webinterface und stellen den Bootvorgang/Netboot auf "Rescue-Modus" um:
Du musst Regestriert sein, um das angehängte Bild zusehen.
Bei Kimsufi nennt sich die Geschichte "rescue-pro":
Du musst Regestriert sein, um das angehängte Bild zusehen.
Das bestätigen wir und drücken danach auf "Neu starten".
Nach einem Augenblick ist der Server dann im "Rescue-Modus" gestartet, dieser erlaubt uns die Partitionierung und Vollverschlüsselung.
Wir fangen mit der Partitionierung an:
Code:
cfdisk -z
und wählen "gpt":
Du musst Regestriert sein, um das angehängte Bild zusehen.
sda1
Code:
Größe 1GB
Typ 83 (Wird unverschlüsselte /boot Partition)
Bootfähig
sda2
Code:
Größe 512MB
Typ 83 (wird später verschlüsselter Linux Swap)
sda3
Code:
Größe Rest (wird von cfdisk automatisch vorgeschlagen)
Typ 83 (wird später verschlüsselter Linux Datenbereich)
So schaut das am Ende korrekt aus:
Du musst Regestriert sein, um das angehängte Bild zusehen.
Wenn wir die Partitionstabelle erfolgreich "geschrieben" haben, müssen wir selbige natürlich auch formatieren.
Zunächst die Boot-Partition:
Code:
mkfs.ext4 /dev/sda1
Das wird unsere unverschlüsselte Partition für den Dropbear / Minimalsystem.
So schaut das aus:
root@rescue:~# mkfs.ext4 /dev/sda1
mke2fs 1.42.12 (29-Aug-2014)
Discarding device blocks: done
Creating filesystem with 244224 4k blocks and 61056 inodes
Filesystem UUID: 9e018f27-e33e-4717-af6e-1fd625a25ece
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
mke2fs 1.42.12 (29-Aug-2014)
Discarding device blocks: done
Creating filesystem with 244224 4k blocks and 61056 inodes
Filesystem UUID: 9e018f27-e33e-4717-af6e-1fd625a25ece
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
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
Sie müssen registriert sein, um Links zu sehen.
Nachdem das Passwort generiert ist geben wir folgenden Befehl ein:
Code:
cryptsetup luksFormat /dev/sda3
Hier müssen wir mit YES (Achtung in Großbuchstaben!) bestätigen.
Dann das zuvor generierte Passwort eingeben.
Dann mit folgenden Befehl die Partition öffnen:
Code:
cryptsetup luksOpen /dev/sda3 sda3_crypt
Und anschließend formatieren:
Code:
mkfs.ext4 /dev/mapper/sda3_crypt
So schaut das aus:
root@rescue:~# cryptsetup luksFormat /dev/sda3
WARNING!
========
This will overwrite data on /dev/sda3 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
root@rescue:~# cryptsetup luksOpen /dev/sda3 sda3_crypt
Enter passphrase for /dev/sda3:
root@rescue:~# mkfs.ext4 /dev/mapper/sda3_crypt
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 9400745 4k blocks and 2351104 inodes
Filesystem UUID: 34378e71-7704-46f1-9a0a-c716967ad032
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
WARNING!
========
This will overwrite data on /dev/sda3 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
root@rescue:~# cryptsetup luksOpen /dev/sda3 sda3_crypt
Enter passphrase for /dev/sda3:
root@rescue:~# mkfs.ext4 /dev/mapper/sda3_crypt
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 9400745 4k blocks and 2351104 inodes
Filesystem UUID: 34378e71-7704-46f1-9a0a-c716967ad032
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
Nun müssen die Verzeichnisse eingebunden werden:
Code:
mount /dev/mapper/sda3_crypt /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
Die Installation von Debian (in diesem Falle Jessie) erfolgt über Debootstrap.
Code:
mount -t tmpfs none /tmp
cd /tmp
wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.67_all.deb
Anschließend die Dateien entpacken:
Code:
ar -xf debootstrap_1.0.67_all.deb
tar xzf data.tar.gz
tar xzf control.tar.gz
Nun prüfen wir, ob der Inhalt des Pakets unverändert im Rettungssystem (Rescue) angekommen ist.
Code:
cat md5sums | cut -d " " -f 3 | xargs md5sum $1 > md5sums.local; diff md5sums md5sums.local
Um mit der Installation fortzufahren müssen wir den Quelltext ein wenig modifizieren:
Code:
nano usr/sbin/debootstrap
Bitte folgende Zeilen abändern:
Code:
DEBOOTSTRAP_DIR=/tmp/usr/share/debootstrap
DISABLE_KEYRING ="1"
So schaut das aus:
Du musst Regestriert sein, um das angehängte Bild zusehen.
Um sicherzugehen, dass nur offizielle Pakete ohne "Backdoors" auf dem neuen System installiert werden, müssen die Signaturen aller Pakete geprüft werden.
Code:
wget --no-check-certificate https://ftp-master.debian.org/keys/archive-key-6.0.asc
gpg --import archive-key-6.0.asc
Nun wird die Installation (Jessie) gestartet:
Code:
usr/sbin/debootstrap --keyring=/root/.gnupg/pubring.gpg --arch amd64 jessie /mnt/ http://ftp2.de.debian.org/debian
Das Log dazu:
root@rescue:/tmp# wget
--2016-05-21 15:41:56--
Resolving ftp.de.debian.org (ftp.de.debian.org)... 141.76.2.4
Connecting to ftp.de.debian.org (ftp.de.debian.org)|141.76.2.4|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 62742 (61K) [application/x-debian-package]
Saving to: ‘debootstrap_1.0.67_all.deb’
debootstrap_1.0.67_all.deb 100%[==========================================================================================================================================>] 61.27K --.-KB/s in 0.04s
2016-05-21 15:41:56 (1.38 MB/s) - ‘debootstrap_1.0.67_all.deb’ saved [62742/62742]
######################################################
root@rescue:/tmp# ar -xf debootstrap_1.0.67_all.deb
root@rescue:/tmp# tar xzf data.tar.gz
root@rescue:/tmp# tar xzf control.tar.gz
root@rescue:/tmp#
######################################################
root@rescue:/tmp# cat md5sums | cut -d " " -f 3 | xargs md5sum $1 > md5sums.local; diff md5sums md5sums.local
######################################################
root@rescue:/tmp# wget --no-check-certificate
--2016-05-21 15:45:00--
Resolving ftp-master.debian.org (ftp-master.debian.org)... 138.16.160.12
Connecting to ftp-master.debian.org (ftp-master.debian.org)|138.16.160.12|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5587 (5.5K) [text/plain]
Saving to: ‘archive-key-6.0.asc’
archive-key-6.0.asc 100%[==========================================================================================================================================>] 5.46K --.-KB/s in 0.001s
2016-05-21 15:45:01 (4.29 MB/s) - ‘archive-key-6.0.asc’ saved [5587/5587]
root@rescue:/tmp# gpg --import archive-key-6.0.asc
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 473041FA: public key "Debian Archive Automatic Signing Key (6.0/squeeze) <ftpmaster@debian.org>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
gpg: no ultimately trusted keys found
root@rescue:/tmp#
######################################################
root@rescue:/tmp# usr/sbin/debootstrap --keyring=/root/.gnupg/pubring.gpg --arch amd64 jessie /mnt/
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
...
I: Base system installed successfully.
Sie müssen registriert sein, um Links zu sehen.
--2016-05-21 15:41:56--
Sie müssen registriert sein, um Links zu sehen.
Resolving ftp.de.debian.org (ftp.de.debian.org)... 141.76.2.4
Connecting to ftp.de.debian.org (ftp.de.debian.org)|141.76.2.4|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 62742 (61K) [application/x-debian-package]
Saving to: ‘debootstrap_1.0.67_all.deb’
debootstrap_1.0.67_all.deb 100%[==========================================================================================================================================>] 61.27K --.-KB/s in 0.04s
2016-05-21 15:41:56 (1.38 MB/s) - ‘debootstrap_1.0.67_all.deb’ saved [62742/62742]
######################################################
root@rescue:/tmp# ar -xf debootstrap_1.0.67_all.deb
root@rescue:/tmp# tar xzf data.tar.gz
root@rescue:/tmp# tar xzf control.tar.gz
root@rescue:/tmp#
######################################################
root@rescue:/tmp# cat md5sums | cut -d " " -f 3 | xargs md5sum $1 > md5sums.local; diff md5sums md5sums.local
######################################################
root@rescue:/tmp# wget --no-check-certificate
Sie müssen registriert sein, um Links zu sehen.
--2016-05-21 15:45:00--
Sie müssen registriert sein, um Links zu sehen.
Resolving ftp-master.debian.org (ftp-master.debian.org)... 138.16.160.12
Connecting to ftp-master.debian.org (ftp-master.debian.org)|138.16.160.12|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5587 (5.5K) [text/plain]
Saving to: ‘archive-key-6.0.asc’
archive-key-6.0.asc 100%[==========================================================================================================================================>] 5.46K --.-KB/s in 0.001s
2016-05-21 15:45:01 (4.29 MB/s) - ‘archive-key-6.0.asc’ saved [5587/5587]
root@rescue:/tmp# gpg --import archive-key-6.0.asc
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 473041FA: public key "Debian Archive Automatic Signing Key (6.0/squeeze) <ftpmaster@debian.org>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
gpg: no ultimately trusted keys found
root@rescue:/tmp#
######################################################
root@rescue:/tmp# usr/sbin/debootstrap --keyring=/root/.gnupg/pubring.gpg --arch amd64 jessie /mnt/
Sie müssen registriert sein, um Links zu sehen.
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
...
I: Base system installed successfully.
Anschließend ins chroot wechseln:
Code:
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
mount -t tmpfs none /mnt/tmp
mount -o bind /sys /mnt/sys
LANG=C chroot /mnt /bin/bash
Achtung: Hierbei kommt am Ende folgende Fehlermeldung, welche wir pauschal ignorieren können:
Code:
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Als nächstes ändern wir das Passwort für den Superuser "root":
Code:
passwd
Desweiteren legen wir einen User an -WICHTIG-:
Code:
adduser axfa77
("axfa77" natürlich mit dem gewünschten Usernamen ersetzen!)
So schaut das aus:
root@rescue:/# adduser axfa77
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = "en_US.UTF-8",
LANG = "C"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Adding user `axfa77' ...
Adding new group `axfa77' (1000) ...
Adding new user `axfa77' (1000) with group `axfa77' ...
Creating home directory `/home/axfa77' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for axfa77
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = "en_US.UTF-8",
LANG = "C"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Adding user `axfa77' ...
Adding new group `axfa77' (1000) ...
Adding new user `axfa77' (1000) with group `axfa77' ...
Creating home directory `/home/axfa77' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for axfa77
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
Jetzt kommen wir zu der Konfiguration des Basissystems. Hierzu benötigen wir nun die zuvor gesicherten Daten (unsere "Serverinfos").
Code:
echo euerhostname > /etc/hostname
Code:
echo eureipadressevomserver euerhostname >> /etc/hosts
Code:
touch /etc/default/bootlogd && cat > /etc/resolv.conf /etc/network/interfaces /etc/default/bootlogd
Nun müssen wir die crypttab bzw. fstab abändern:
Code:
nano /etc/crypttab
Dort bitte folgendes einpflegen:
Code:
sda2_crypt /dev/sda2 /dev/urandom cipher=aes-cbc-essiv:sha256,size=256,swap
sda3_crypt /dev/sda3 none luks
Selbiges gilt für die fstab:
Code:
nano /etc/fstab
Code:
/dev/sda1 /boot ext4 noatime 0 2
/dev/mapper/sda2_crypt none swap sw 0 0
/dev/mapper/sda3_crypt / ext4 noatime,defaults,errors=remount-ro 0 1
proc /proc proc defaults
Jetzt noch die Paketliste anpassen:
Code:
nano /etc/apt/sources.list
Folgende Quellen fügen wir ein (Jessie):
Code:
deb http://ftp.de.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.de.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.de.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ jessie-updates main contrib non-free
EDIT: Latest Stable ("Stretch") ist als OK getestet:
HowTo - Rootserver mit Debian Jessie *FULL ENCRYPTED* inkl. Iptables-Firewall und Simplebuild
Code:
deb http://ftp.de.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free
deb http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
Als nächstes bearbeiten wir unsere /etc/resolv.conf, damit unser Rootserver auch alles findet im www:
Code:
nameserver 127.0.0.1
nameserver 213.186.33.99
search ovh.net
(Hier ggfs. aus unseren "Serverinfos" anpassen)
Und aktualisieren:
Code:
apt-get update && apt-get upgrade && apt-get dist-upgrade
Sprache und Zone anpassen:
Code:
apt-get install locales && dpkg-reconfigure locales
Wir wählen folgende Einstellungen:
Sprache = de_DE.UTF-8
Zone = Europa --> Berlin
Du musst Regestriert sein, um das angehängte Bild zusehen.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Als nächstes:
Code:
dpkg-reconfigure tzdata
Du musst Regestriert sein, um das angehängte Bild zusehen.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Jetzt installieren wir den Kernel.
Hierfür erstmal folgenden Befehl:
Code:
cat /proc/mounts > /etc/mtab
Und anschließend:
Code:
apt-get install linux-image-amd64
Installation von wichtigen Paketen:
Code:
apt-get install ssh grub-pc pciutils psmisc cryptsetup dropbear busybox nmap mc ntpdate
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.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Jetzt muss der Remote-Unlock eingerichtet werden:
Code:
nano /etc/initramfs-tools/initramfs.conf
Nach DEVICE suchen und folgend ergänzen (aus unseren Serverinfos):
Code:
DEVICE=eth0
IP=ipvomserver::gatewayvomserver:subnetvomserver:hostnamevomserver:eth0:off
DROPBEAR=y
Änderungen in das initrd übernehmen:
Code:
update-initramfs -u -k all
Jetzt müssen wir den RSA-Key kopieren und am besten in notepad++ einfügen. Anschließend unter "id_rsa" abspeichern.
Code:
cat /etc/initramfs-tools/root/.ssh/id_rsa
Jetzt müsst ihr Puttygen (
Sie müssen registriert sein, um Links zu sehen.
) ö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 den Server!
Du musst Regestriert sein, um das angehängte Bild zusehen.
(Ich habe hier noch einen "Passphrase" zusätzlich genommen, ist nicht! zwingend notwendig, könnt Ihr auch weglassen.)
Nun noch Grub updaten:
Code:
update-grub
exit
Nun wieder in das Webinterface vom Provider gehen und als Netboot die HDD wieder auswählen!
Du musst Regestriert sein, um das angehängte Bild zusehen.
Anschließend wie gewohnt rebooten:
Code:
reboot
Du musst Regestriert sein, um das angehängte Bild zusehen.
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 den initrd-Daemon mitgeladen.
Um die Anmeldung erfolgreich abzuschließen benötigt Ihr den zuvor gespeicherten "Private Key"!
Du musst Regestriert sein, um das angehängte Bild zusehen.
Nachdem Ihr Euch angemeldet habt, seid Ihr im unverschlüsselten minimal SSH (Dropbear) des Servers. Nun müsst Ihr folgenden Befehl eingeben:
Code:
echo -n 'das100stelligegeneriertepasswort' > /lib/cryptsetup/passfifo
Mit Enter bestätigen. Jetzt bootet der Server erst komplett durch.
Nun Putty schließen und erneut einloggen. Allerdings nicht mehr mit dem "Private Key" sondern mit eurem festgelegten Passwort und dem User "axfa77" bzw. Eurem angelegten "normalen User" (siehe Punkt passwd^^).
Superuser "root" werdet Ihr als User "axfa77" bzw. Eurem angelegten "normalen User" via:
Code:
su -
:ja
Ich hoffe ich habe dem ein oder anderen damit etwas "Licht ins Dunkel" gebracht.
Weiter mit der Firewall via iptables geht es in "Teil 2 von 3".
Gruß
PS: Ich habe mal einen Laberthread hierzu erstellt damit das hier "sauber" bleibt:
Talk - Laberthread: Rootserver mit Debian Jessie *FULL ENCRYPTED* inkl. Iptables-Firewall...
Anhänge
Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet: