Wähle einen Artikel
Ubuntu auf vServer/VPS installieren
Ubuntu auf vServer/VPS installieren

1. Ubuntu 20.04 LTS installieren

Im ersten Schritt wollen wir auf unseren vServer Ubuntu 20.04 LTS installieren. Dazu geht ihr auf folgende Webseite: https://cloudpit.io/

Nach dem Login klickt ihr auf die „Wolke“ und wählt „Übersicht“ aus.

CloudPIT-Dashboard: dunkler Header; CloudPIT-Logo links; roter Rahmen um Cloud-Symbol und Übersichts-Tab.

Nun seht ihr alle eure vServer. Hier wählt ihr nun den vServer aus, auf dem ihr Ubuntu installieren möchtet.

Screenshot einer Cloud-Server-Verwaltungsseite. Rote Box markiert eine Zeile mit Hostname, IP, Status (gestartet) und OS.

Klickt anschließend auf das aktuelle Betriebssystem eures Servers. Bei mir ist dies in dem Fall „Debian 10.0 / 64 bit“

Screenshot eines CloudPIT-Dashboards: Logo, Breadcrumb Cloud Server > Testbereich.net, Debian 10.0 / 64 Bit, 178.250.170.125

Nun solltet ihr folgendes sehen:

Web-Oberfläche mit linker Navigationsleiste, zentrale Karte 'Betriebssystem: Debian 10.0 / 64 Bit' und Installieren-Button.

Wählt euch nun Ubuntu aus der Liste aus.

Installationsdialog: BETRIEBSSYSTEM, Ubuntu-Varianten (20.04/64 Bit, 18.04/64 Bit) und roter Installieren-Button.

Nachdem ihr Ubuntu gewählt habt, gebt ihr noch ein Kennwort ein. Dies wird später euer root Kennwort.

Installationsoberfläche: OS-Auswahl, Debian 10.0/64, Ubuntu 20.04 LTS/64; Plesk, zwei Passwortfelder, roter Installieren

Nun klickt ihr auf „Betriebssystem installieren“. Ihr solltet dann folgende Meldung erhalten:

Bestätigungsdialog: Betriebssystem neu installieren; Warnhinweis. NEIN und JA (JA hervorgehoben).

Diese Meldung bestätigt ihr mit „Ja“.

Nun sollte bei euch folgende Meldung erscheinen. Dieser Vorgang dauert nun einige Minuten.

Weboberfläche für Cloud-Server; Meldung in roter Box: Der Cloud Server wird neu installiert.

2. vServer starten

Nach der Installation ist euer vServer noch gestoppt. Um ihr zu starten, klickt ihr auf den „grünen Pfeil“.

Screenshot einer Cloud-Verwaltungsoberfläche: blaue Kopfzeile Logo Breadcrumbs Serverdaten roter Stopp-Status grüner Play.

Wartet nun einige Sekunden. Anschließend solltet ihr folgendes sehen:

Screenshot einer Cloud-Verwaltungsoberfläche: blaue Kopfzeile; CLOUD SERVER > TESTBEREICH.NET; IP 178.250.170.125; GESTARTET.

3. Per SSH mit eurem vServer verbinden

Nachdem ihr euren Server installiert und gestartet habt, wollen wir uns das erste Mal damit verbinden. Dazu benötigt ihr einen SSH Client. Ein kostenloser, beliebter SSH Client ist PuTTy.

Screenshot einer Webseite mit der Überschrift Download PUTTY und kleinem Fenster, das PuTTY-Text zeigt.

Startet nun Putty und gebt bei „Host Name“ die IP an, welche euch Cloudpit anzeigt.

PuTTY-Konfigurationsfenster mit Host/IP-Feld 178.250.170.125 und Port 22; linke Navigationsstruktur sichtbar.
Screenshot: Server-Verwaltungsoberfläche; Cloud Server > TESTBEREICH.NET; OS Debian 10.0 / 64 Bit; IP 178.250.170.125

Wenn ihr euch bereits vor der Neuinstallation schon mal mit dem Server verbunden habt, dann solltet ihr folgende Meldung bekommen. Dies ist normal. Klickt hier auf „ja“ um euch mit dem Server zu verbinden.

Windows-PuTTY-Sicherheitswarnung: Gelbes Warnsymbol, Dialog mit Warnungstext und Tasten Ja/Nein/Abbrechen/Hilfe.

Gebt nun als Nutzername „root“ ein und euer eben gewähltes Kennwort.

PuTTY-Terminal auf schwarzem Hintergrund; Text 'login as: root', 'root@178.250.170.125's password:' und grüner Cursor.

Nach erfolgreichem Login seht ihr folgendes:

Schwarzes Terminalfenster mit Ubuntu-Login: root@testbereich:~#, Willkommensnachricht, Linkliste.

4. Programme updaten

Nun können wir ein Update aller bereits installierten Programme durchführen. Gebt dazu folgendes ein:

apt-get update 

apt-get upgrade 

Diese Meldung müsst ihr nun nur noch mit „y“ bestätigen. Anschließend werden alle oben aufgeführten Programme geupdatet.

Schwarzes Terminalfenster mit weißem Monospace-Text, apt-get upgrade-Ausgabe, Paket-Downloads und Abhängigkeiten.

Während des Updates erscheint diese Meldung:

Bildschirm mit textbasiertem Konfigurationsdialog in Terminal, blaue Auswahlleiste markiert eine Option.

Diese könnt ihr einfach mit „OK“ bestätigen, da wir später diese Datei selbst noch anpassen werden.

Als nächstes werdet ihr folgendes gefragt:

Terminal zeigt Abfrage zur Datei '/etc/systemd/resolved.conf': Y/N/O/D/Z-Optionen für Update, Standard N.

Gebt hier einfach „n“ ein, damit ihr die derzeitige Konfiguration behält.

5. Benutzer erstellen

Nun wollen wir uns neben unserem Benutzer „root“ noch einen weiteren Benutzer erstellen. Gebt dazu folgendes ein:

adduser <Name> 

Mein Benutzer soll „dogado“ heißen. Also gebe ich folgendes ein:

adduser dogado 

Nun müsst ihr noch ein Kennwort für diesen Benutzer vergeben.

Terminalausgabe: Befehl adduser dogado; Meldungen zu Gruppe, Benutzer, Home-Verzeichnis und Passworteingabe.

Bei den Fragen nach Namen etc. könnt ihr einfach mit „ENTER“ bestätigen.

Schwarzes Terminalfenster mit Befehlen zur Benutzeranlage; Passwortsetzung, Bestätigung, grüner Cursor

6. Texteditor nano installieren

Nun installieren wir uns noch einen Texteditor, welchen wir später zum Anpassen einiger Einstellungen benötigen. Gebt dazu folgendes ein:

apt-get install nano 

Nun wird nano installiert.

7. SSH Port ändern und root Login deaktivieren

Nun wollen wir noch unseren SSH Port ändern. Dies ist nützlich, da dieser normalerweise immer auf Port 22 läuft. Im Internet gibt es viele automatische Scanner, welche genau diesen Port scannen. Indem wir diesen also abändern, werden wir bei diesen automatischen Scans nicht erkannt. Ebenfalls wollen wir noch den root Login deaktivieren. Dies bedeutet, dass sich der Benutzer „root“ später nicht mehr direkt per SSH anmelden kann. Dies gibt uns zusätzliche Sicherheit, da so ein Angreifer sich erst als Benutzer Zugang zu unserem Server verschaffen muss und dann erst Zugang zu unserem root Nutzer bekommen kann, wenn er das root Kennwort besitzt.

Um die Änderungen durchzuführen, gebt ihr nun folgenden Befehl ein:

nano /etc/ssh/sshd_config 

7.1 Port ändern

Dazu ändert ihr folgende Zeile ab:

# Port 22 

Bei mir soll SSH auf Port 2222 bereitgestellt werden. Also gebe ich folgendes ein:

Port 2222 
Terminalfenster mit Nano, geöffnetes /etc/ssh/sshd_config; Port 2222, Kommentarzeilen und Konfigurationsoptionen sichtbar.

7.2 Root Login verbieten

Dies könnt ihr nur machen, wenn ihr in Schritt 5 einen neuen Benutzer erstellt habt. Habt ihr keinen neuen Benutzer erstellt, so könnt ihr euch später nicht mehr anmelden.

Scrollt nun ganz ans Ende der Datei. Dort findet ihr folgenden Eintrag:

PermitRootLogin yes 

Dies ändert ihr auf folgendes ab:

PermitRootLogin no 
Terminalanzeige einer SSHD-Konfiguration mit Kommentaren und Befehlen, z. B. Subsystem sftp und PermitRootLogin no.

Anschließend könnt ihr mit „STRG+O“ die Datei speichern und mit „STRG+X“ das Programm beenden.

7.3 SSH Dienst neu starten

Nun müsst ihr noch den SSH Dienst neu starten, damit die Änderungen übernommen werden. Gebt dazu folgendes ein:

/etc/init.d/ssh restart 

7.4 Per SSH verbinden

Nun starten wir eine zusätzliche Putty Sitzung. Lasst eure aktuelle Konsole noch offen! Dies ist wichtig, falls ihr Fehler gemacht haben solltet, da ihr sonst keinen Zugriff mehr auf euren Server habt.

Gebt nun folgendes bei Putty ein:

PuTTY-Konfigurationsfenster mit Kategorienbaum links; rechts Host 178.252.170.125 und Port 2222 (rot markiert)

Wichtig ist, dass ihr hier euren „neuen SSH Port“ angebt.

Meldet euch nun mit eurem neuen Benutzer aus Schritt 5 an.

PuTTY-Terminalfenster mit schwarzem Bildschirm und grünem Text 'Login as:'

Wenn alles funktioniert hat, dann seid ihr nun mit eurem neuen Benutzer angemeldet.

Schwarzes Terminalfenster mit Ubuntu-Willkommensnachricht, Hinweis auf Garantie, Prompt: dogado@testbereich:~$, grüner Cursor.

8. Zum Benutzer root wechseln

Wenn ihr zum Benutzer „root“ wechseln wollt, so müsst ihr einfach „su“ eingeben. Anschließend werdet ihr dann nach dem root Kennwort gefragt.

Schwarzes Terminalfenster mit Ubuntu-Login: login as: dogado, Password:; Windows-Fensterrahmen sichtbar.

Wenn ihr das korrekte Kennwort eingegeben habt, seht ihr den Namen „root“ vor eurem Servernamen / IP stehen.

Windows-Terminalfenster zeigt Ubuntu-Anmeldebildschirm; Aufforderungen 'login as:' und 'Password:', sowie 'root@...:~#'.

9. UFW Firewall installieren und einrichten

9.1 Installieren

Nun wollen wir auf unserem Ubuntu vServer noch eine Firewall installieren. Die nachfolgenden Befehle führe ich als root aus. Gebt nun folgendes ein:

apt-get install ufw 

9.2 aktuell genutzte Ports anzeigen

Nach der Installation schauen wir uns alle aktuell genutzten Ports an. Dies ist wichtig, da ihr diese Ports gegeben falls später wieder freigeben müsst. Gebt dazu folgenden Befehl ein:

ss -nptl 

Bei mir sieht die Ausgabe so aus:

Terminalfenster mit ss-Befehl; mehrere Zeilen, rote Kästen markieren Portnummern.

Dies bedeutet, dass folgende Ports genutzt werden:

  • 25: SMTP
  • 53: DNS
  • 80: Webserver
  • 2222: SSH

9.3 Ports freigeben

Nun erlauben wir also die aktuell genutzten Ports, damit unser Server später wieder korrekt funktioniert. Gebt dazu folgendes ein:

ufw allow 25 
ufw allow 53 
ufw allow 80 
ufw allow 2222

Für jeden Port wird nun eine Regel angelegt.

Schwarzes Terminalfenster mit weißem Text; Befehle 'ufw allow 25/53/80/2222'; Meldung 'Rules updated (v6)'.

9.4 UFW starten / beenden

Ihr könnt die ufw Firewall mit folgenden Befehlen starten bzw. beenden:

Starten der Firewall

ufw enable 

Beenden der Firewall

ufw disable 

Wenn ihr die Firewall startet, erscheint folgenden Meldung. Diese müsst ihr mit „y“ bestätigen.

Terminal mit Root-Prompt; Befehl ufw enable; Bestätigungsabfrage; Meldung Firewall is active and enabled on system startup.

9.5 Status der Firewall anzeigen

Ihr könnt mittels folgenden Befehls euch den Status anzeigen lassen. So erfahrt ihr, ob ufw aktiviert ist und welche Regeln aktuell aktiv sind.

ufw status 
Terminalfenster: ufw status, Status aktiv; Tabelle zeigt erlaubte Ports: 25, 53, 80, 2222 (auch v6).

10. Server gegen Brute Force Angriffe absichern

Euer Server wird als Teil des Internets regelmäßig von Bots „angegriffen“. Dies bedeutet, dass Angreifer versuchen sich Zugang per SSH auf euren Server zu verschaffen. Daher haben wir bereits den SSH Port angepasst. Ein Angreifer findet jedoch auch ohne Probleme euren frei gewählten SSH Port heraus. Daher wollen wir nun die Anzahl der Versuche der Passworteingabe beschränken. Dies bedeutet, dass man später nur beispielsweise 5 Versuche in 30 Minuten hat und danach für einen gewissen Zeitraum gebannt wird. Somit wird es für einen Angreifer viel schwerer Zugang zu eurem Server zu bekommen. Das Tool hierfür ist „fail2ban“.

Dies installieren wir mit folgendem Befehl:

apt-get install fail2ban 

Anschließend erstellen wir uns eine Konfigurationsdatei:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 

Diese öffnen wir nun

nano /etc/fail2ban/jail.local 

Wenn ihr nun etwas nach unten scrollt, solltet ihr folgende Einträge finden:

Terminal-Text mit farbigem Code: Kommentare zu bantime, findtime und maxretry; bantime=10m, findtime=10m, maxretry=5.

Standardmäßig ist hier eingestellt, dass man 5 Versuche innerhalb von 10 Minuten hat. Wenn man also 5x innerhalb von 10 Minuten das Passwort eingibt, wird man für 10 Minuten gebannt. Diese Werte könnt ihr beliebig anpassen.

Scrollt nun noch weiter nach unten, bis ihr folgendes seht:

Terminal mit grünem Text auf dunklem Hintergrund; sshd-Modi und Codeblock mit Mode, Port, Logpath, Backend, Enabled.

Wir wollen nun unseren SSH Dienst absichern. Dazu schreiben wir in den Bereich „sshd“ folgendes:

enabled = true 

Anschließend ändern wir noch den Port auf unseren veränderten SSH Port ab. Bei mir also der Port „2222“.

So sieht dann meine Konfiguration aus:

Terminalfenster mit grüner Monospace-Schrift auf schwarzem Hintergrund; sshd-Mode, Port, logpath, backend, enabled.

Anschließend könnt ihr mit „STRG+O“ die Datei speichern und mit „STRG+X“ das Programm beenden.

Nun müssen wir „fail2ban“ noch neu starten, damit die Änderungen übernommen werden. Gebt dazu folgendes ein:

/etc/init.d/fail2ban restart 

Nun können wir uns den aktuellen Status von fail2ban anschauen. Dazu gebt ihr folgendes ein:

service fail2ban status 

Hier sehen wir nun, dass fail2ban korrekt läuft.

Terminal-Ausgabe: Fail2ban-Dienststatus; Loaded: loaded; Active: active (running); Startmeldungen, Server ready.

Ebenfalls könnt ihr euch noch die Log Dateien anschauen. Dort finden wir noch weitere Informationen. Gebt einfach folgendes ein:

cat /var/log/fail2ban.log 

Hier sehen wir auch, dass unser Schutz „sshd“ aktiviert ist und wie die genauen „Bannzeiten“ sind.

Terminal-Fenster mit Logausgaben (INFO/WARN/ERROR) und Dateipfaden wie /var/log/auth.log.
Weitere passende Themen