Wähle einen Artikel
AlmaLinux auf VPS installieren
AlmaLinux auf VPS installieren

Volle Kontrolle mit deinem eigenen VPS von easyname

Mit einem VPS von easyname hast du volle Kontrolle über deinen Server – flexibel, skalierbar und umweltbewusst betrieben in ISO-zertifizierten Rechenzentren in Österreich. Ideal für deine Anwendungen, Projekte und maximale Performance.

Hinweis
Einige Screenshots zeigen das Backend unseres Schwesterunternehmens dogado. Die gezeigten Schritte können jedoch auch im easyname-Backend durchgeführt werden.

1. AlmaLinux 8 installieren

Im ersten Schritt wollen wir unseren VPS AlmaLinux 8 64 bit installieren. Dazu im easyname Login unter "Server" und klickst auf "Login", um zum easyname-Cloudpit zu gelangen. Nach dem Login klickst du auf die „Wolke“ und wählst „Übersicht“ aus.

Dunkler Kopfbereich mit CloudPIT-Logo; rechts hervorgehobenes Wolken-Symbol; linke Seitenleiste mit 'ÜBERSICHT' und Icons.

Nun siehst du deine VPS. Hier wählst du nun den VPS aus, auf dem du AlmaLinux installieren möchtest.

Cloud-Server-Verwaltung; rote Umrandung um Zeile mit testserver.net, IP 178.250.170.125, Status gestartet.

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

UI-Dashboard: Cloud-Server > TESTBEREICH.NET; Debian 10.0/64 Bit; IP 178.250.170.125; SYSTEMZUSTAND

Nun solltest du folgendes sehen:

Screenshot einer Server-Verwaltungsoberfläche mit Debian 10.0 / 64 Bit, linke Symbolleiste und rotem Installieren-Button.

Wähle dir nun AlmaLinux 8 aus der Liste aus.

Installationsdialog mit Betriebssystem-Auswahl; AlmaLinux-Option markiert; roter Installieren-Button unten rechts.

Nachdem du AlmaLinux gewählt hast, gibst du noch ein Kennwort ein. Dies wird später dein root Kennwort.

Installationsfenster mit Debian 10/64-Bit, Drop-down AlmaLinux 8, Plesk-Option, zwei Passwortfelder, rote Installieren-Taste.

Nun klickst du auf „Betriebssystem installieren“. Du solltest dann folgende Meldung erhalten, die du mit „Ja“ bestätigst.

Bestätigungsdialog: Titel 'BETRIEBSSYSTEM NEU INSTALLIEREN'; Warntext in Rot; Knöpfe 'NEIN' und 'JA'.

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

Meldung: 'Der Cloud Server wird neu installiert.' UI mit Betriebssystemauswahl und Installieren-Button.

Du kannst wieder oben auf die „Wolke“ klicken. Hier siehst du die Übersicht deiner Server. In dieser Übersicht sollte dann stehen „Betriebssystem wechseln“. Du musst die Seite öfter dann mit „F5“ aktualisieren.

Screenshot einer Cloud-Server-Verwaltungsoberfläche: Tabelle mit Serverdaten und hervorgehobenem Button 'Betriebssystem wechseln'.

Nach kurzer Zeit sollte es dann so aussehen:

Screenshot einer Cloud-Server-Verwaltungsoberfläche; Tabelle mit Hostname, IP und Status; rote Markierung einer Zeile.

2. VPS starten

Nach der Installation ist dein VPS noch gestoppt. Um ihn zu starten, klickst du auf deinen Server und anschließend auf den „grünen Pfeil“.

Dashboard mit CloudPIT-Logo; CLOUD SERVER, TESTBEREICH.NET; AlmaLinux 8 64 Bit; IP 178.250.170.125; rote Stoppt-Anzeige

Warte nun einige Sekunden. Anschließend solltest du folgendes sehen:

Screenshot einer Cloud-Server-Verwaltungsoberfläche: blaue Kopfzeile mit CloudPIT-Logo; grüner GESTARTET-Status.

3. Per SSH mit deinem VPS verbinden

Nachdem du deinen Server installiert und gestartet hast, wollen wir uns das erste Mal damit verbinden. Dazu benötigst du einen SSH Client. Ein kostenloser, beliebter SSH Client ist PuTTy.

Screenshot einer PuTTY-Download-Seite mit Überschrift 'Download PuTTY' und rotem Button.

Starte nun Putty und gib bei „Host Name“ die IP an, welche dir das easyname Cloudpit anzeigt. Der Port ist hier 22.

PuTTY-Konfiguration: linke Kategorienliste, rechts Host 178.250.170.125, Port 22, Open/Cancel.

IP eures Servers:

Wenn du dich bereits vor der Neuinstallation schon mal mit dem Server verbunden hast, dann solltest du folgende Meldung bekommen. Dies ist normal. Klickt hier auf „ja“ um dich mit dem Server zu verbinden.

PuTTY-Sicherheitswarnung: Gelbes Warnsymbol; Text über neuen SSH-Fingerprint; Buttons: Ja, Nein, Abbrechen, Hilfe.

Gib nun als Nutzername „root“ ein und dein eben gewähltes Kennwort.

PuTTY-Terminal auf schwarzem Bildschirm; Zeile: 'login as: root' und 'root@178.250.170.125's password:' mit grünem Cursor.

Nach erfolgreichem Login siehst du folgendes: 

Windows-Terminal mit schwarzem Bildschirm; Unix-Login-Prompt 'login as: root' und Eingabeaufforderung [root@testbereich ~]#

4. Programme updaten

Nun können wir ein Update aller bereits installierten Programme durchführen. Gib dazu folgendes ein. Durch diesen Befehl werden dir später alle verfügbaren Updates angezeigt.

yum check-update
Schwarzes Terminalfenster mit weißem Text in Windows-Umgebung; Befehle wie yum check-update und Paketliste sichtbar.

Zum Installieren der Updates gibst du nun folgendes ein:

yum update

Nun werden alle Updates installiert. In meinem Fall sind alle Programme bereits auf dem aktuellen Stand.

Terminalfenster mit schwarzem Hintergrund; Root-Prompt, zeigt 'yum check-update' und 'yum update'.

5. Benutzer erstellen

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

adduser 

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

adduser dogado
Schwarzes Terminalfenster zeigt zwei Befehlszeilen: 'adduser dogado' und grüne '0' am Prompt.

Nun musst du noch ein Kennwort für diesen Benutzer vergeben. Dazu gibst du folgendes ein:

passwd 

In meinem Fall also:

passwd dogado

Nun gibst du dein Kennwort zweimal ein.

Linux-Terminal im Konsolenfenster; Befehl adduser dogado, Passwortänderung; Meldung: Tokens erfolgreich aktualisiert.

6. Texteditor nano installieren

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

yum -y install nano
Schwarzes Terminalfenster mit weißem Text; Installationslog eines Paketmanagers, u. a. 'Installing: nano' und 'Installed: nano-...'.

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, gibst du nun folgenden Befehl ein:

nano /etc/ssh/sshd_config

7.1 Port ändern

Dazu änderst du folgende Zeile ab:

Port 22

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

Port 2222

Terminalfenster mit nano, Bearbeitung von /etc/ssh/sshd_config; Port 2222, ListenAddress 0.0.0.0 und ::

7.2 Root Login verbieten

Dies kannst du nur machen, wenn du in Schritt 5 einen neuen Benutzer erstellt hast. Hast du keinen neuen Benutzer erstellt, so kannst du dich später nicht mehr anmelden.

Scrolle nun ganz ans Ende der Datei. Dort findest du folgenden Eintrag:

PermitRootLogin yes

Dies änderst du auf folgendes ab:

PermitRootLogin no
Screenshot eines Terminalfensters mit farbigen Konfigurationszeilen; in roter Umrandung steht PermitRootLogin no.

Anschließend kannst du mit „STRG+O“ die Datei speichern und mit „STRG+X“ das Programm beenden.

7.3 SSH Dienst neu starten

Nun musst du noch den SSH Dienst neu starten, damit die Änderungen übernommen werden. Gib dazu folgendes ein:

systemctl restart sshd.service

7.4 Per SSH verbinden

Nun starten wir eine zusätzliche Putty Sitzung. Lass deine aktuelle Konsole noch offen! Dies ist wichtig, falls du Fehler gemacht haben solltest, da du sonst keinen Zugriff mehr auf deinen Server hast.

Gib nun folgendes bei Putty ein:

PuTTY-Konfiguration: linke Kategorienliste; rechts Host Name (or IP address) und Port, rot umrandet.

Wichtig ist, dass du hier deinen „neuen SSH Port“ angibst.

Bei mir erscheint nun wieder eine Meldung, dass sich der Server verändert hat. Dies bestätige ich mit „Ja“.

PuTTY-Sicherheitswarnung mit Warnsymbol; Dialogtext zur Host-Key-Übereinstimmung, vier Schaltflächen: Ja, Nein, Abbrechen, Hilfe.

Melde dich nun mit deinem neuen Benutzer aus Schritt 5 an.

Terminalfenster mit schwarzem Hintergrund; Text: login as: dogado und dogado@178.250.170.125's password: Cursor sichtbar

8. Zwischen den Benutzern wechseln

Um von deinem Nutzer auf den Benutzer „root“ zu wechseln, gibst du einfach „su“ ein, gefolgt von dem Root Kennwort.

Schwarzes Terminalfenster mit SSH-Login: 'login as: dogado' und 'Password:', danach 'dogado@testbereich:~$'.

Anhand der „#“ siehst du, dass du nun „root“ bist.

Um vom Benutzer root zu deinem neu erstellten Benutzer zu wechseln, gibst du folgendes ein:

su 

In meinem Fall also

su dogado
Screenshot eines Windows-Terminalfensters mit Login- und Password-Eingabe; Textzeile 'login as: dogado', 'Password:'.

Hierbei musst du kein Kennwort eingeben.

9. UFW Firewall installieren und einrichten

9.1 Installieren

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

yum -y install epel-release

Jetzt haben wir das benötigte Repository installiert.

Schwarzes Terminalfenster mit Installationsfortschritt, Paketliste, Transaktionsanzeige und Downloadgrößen.

Anschließend können wir UFW installieren. Gib dazu folgendes ein:

yum -y install ufw
Schwarzes Terminalfenster mit weißen Textzeilen; Installationsausgaben und Paketlisten.

9.2 aktuell genutzte Ports anzeigen

Nach der Installation schauen wir uns alle aktuell genutzten Ports an. Dies ist wichtig, da du diese Ports gegeben falls später wieder freigeben musst. Gib dazu folgenden Befehl ein:

ss -nptl

Bei mir sieht die Ausgabe so aus:

Schwarzes Terminalfenster mit weißem und grünem Monospace-Text; mehrere Zeilen Text.

Dies bedeutet, dass folgende Ports genutzt werden:

  • 25: SMTP
  • 80: Webserver
  • 2222: SSH
  • 111: RPC

9.3 UFW Grundeinstellungen

Nun legen wir fest, dass wir grundsätzliche alle eingehen Verbindungen blockieren wollen. Dazu gibst du folgendes ein:

ufw default deny incoming

Dies sollte dann so aussehen.

Terminalfenster: ufw default deny incoming; Meldung: Default incoming policy changed to 'deny' (update your rules)

Nun haben wir auch einige „default“ Einstellungen gesetzt bekommen. Diese können wir uns nun anzeigen lassen. Gib dazu einfach folgendes ein

ufw status

Nun solltest du folgendes sehen:

UFW-Status: aktiv. Regeln (To/From Anywhere): 224.0.0.251 mDNS, 25, 80, 2222; IPv6: ff02::fb mDNS, 25, 80, 2222 (v6).

Ich lösche hier meinen SSH Port, da es sich auf den Port 22 bezieht. Wir nutzen jedoch einen anderen Port (2222). Dazu gebe ich folgendes ein:

ufw delete 3
ufw delete 1

So sieht dies bei mir aus:

Terminalfenster mit Befehlen 'ufw delete 3' und 'ufw delete 1'; Bestätigungsprompt und Meldung 'Rule deleted'.

Nun können wir uns unsere Firewall Regeln erneut anschauen. Dazu gibst du hier wieder folgendes ein

ufw status

Jetzt siehst du, dass unsere SSH Einträge entfernt wurden. Die beiden letzten Einträge benötigst du, damit dein Server Webseiten Namen auflösen kann.

Terminal: ufw status; Status: active; To 224.0.0.251 mDNS; ALLOW; From Anywhere; To ff02::fb mDNS; ALLOW; From Anywhere (v6)

9.4 Ports freigeben

Nun erlauben wir also die aktuell genutzten Ports, damit unser Server später wieder korrekt funktioniert. Den Port 111 gebe ich hier nicht frei, da ich diese Funktion nicht benötige. Gib dazu folgendes ein:

ufw allow 25
ufw allow 80
ufw allow 2222

Für jeden Port wird nun eine Regel angelegt.

Terminalfenster zeigt Befehle: ufw allow 25, ufw allow 80, ufw allow 2222; Rule added (v6).

Nun können wir uns wieder eine Übersicht aller Regeln anschauen. Gib dazu folgendes ein:

ufw status

So sieht dies bei mir aus:

UFW-Status: aktiv. Regeln (To/From Anywhere): 224.0.0.251 mDNS, 25, 80, 2222; IPv6: ff02::fb mDNS, 25, 80, 2222 (v6).

9.5 UFW starten / beenden

Du kannst die ufw Firewall mit folgenden Befehlen starten bzw. beenden:

Starten der Firewall

ufw enable

Beenden der Firewall

ufw disable

Wenn du die Firewall startest, erscheint folgende Meldung. Diese musst du mit „y“ bestätigen.

Root-Terminal mit Prompt [root@testbereich ~]# ufw enable; Bestätigungsabfrage; Firewall aktiv und Systemstart aktiviert.

9.6 Status der Firewall anzeigen

Du kannst dir mittels folgenden Befehls den Status anzeigen lassen. So erfährst du, ob ufw aktiviert ist und welche Regeln aktuell aktiv sind.

ufw status
UFW-Status: aktiv. Regeln (To/From Anywhere): 224.0.0.251 mDNS, 25, 80, 2222; IPv6: ff02::fb mDNS, 25, 80, 2222 (v6).

10. Server gegen Brute Force Angriffe absichern

Dein Server wird als Teil des Internets regelmäßig von Bots „angegriffen“. Dies bedeutet, dass Angreifer versuchen sich Zugang per SSH auf deinen Server zu verschaffen. Daher haben wir bereits den SSH Port angepasst. Ein Angreifer findet jedoch auch ohne Probleme deinen 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 deinem Server zu bekommen. Das Tool hierfür ist „fail2ban“.

Dies installieren wir mit folgendem Befehl:

yum -y  install fail2ban
Schwarzes Terminal mit Installationsausgabe: Liste von fail2ban-Paketen und Transaktionsübersicht.

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 du nun etwas nach unten scrollst, solltest du folgende Einträge finden:

Screenshot eines Terminals mit cyanfarbenem Text; drei Abschnitte zu bantime, findtime und maxretry mit Werten 10m, 10m, 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 kannst du beliebig anpassen.

Scrolle nun noch weiter nach unten, bis du folgendes siehst:

Schwarzer Bildschirm mit hellblauem Terminaltext; Überschriften JAILS und SSH servers, gefolgt von sshd- und dropbear.

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. Pass also folgendes an:

port = 2222

So sieht dann meine Konfiguration aus:

Terminalfenster zeigt sshd-Konfig-Datei mit Feldern: mode, logpath, backend, enabled; Werte: mode = normal, enabled = true.

Anschließend kannst du 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. Gib dazu folgendes ein:

systemctl restart fail2ban.service

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

service fail2ban status

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

Terminalausgabe mit Fail2Ban-Logs; Start- und Statuszeilen, letzte Zeile 'Server ready' im roten Rahmen.

Ebenfalls kannst du dir noch die Log Dateien anschauen. Dort finden wir noch weitere Informationen. Gib einfach folgendes ein:

cat /var/log/fail2ban.log

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

Terminalfenster mit Logzeilen; u. a. 'Starting fail2ban v0.11.2' und rot markierte Zeile 'Jail 'sshd' started'.
Nächster Artikel
CentOS auf VPS installieren
Weitere passende Themen