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

1. AlmaLinux 8 installieren

Im ersten Schritt wollen wir auf unseren vServer AlmaLinux 8 64 bit installieren. Dazu geht ihr auf folgende Webseite: https://cloudpit.io/ Nach dem Login klickt ihr auf die „Wolke“ und wählt „Übersicht“ aus.

Dunkler Kopfbereich mit CloudPIT-Logo links; rechts ein weißes Cloud-Symbol in roter Box; darunter der Tab 'Übersicht'.

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

Cloud-Server-Dashboard; hervorgehobene Zeile: testbrowser.net, IP 178.250.170.125, Status gestartet, Linux-Server, Debian 10.

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

Cloud-Server-Ansicht: Debian 10.0 / 64 Bit, IP 178.250.170.125, SYSTEMZUSTAND.

Nun solltet ihr folgendes sehen:

Screenshot eines Server-Installationsfensters: Debian 10.0/64 Bit, Passwortfelder, roter Installieren-Button.

Wählt euch nun AlmaLinux 8 aus der Liste aus.

Installationsfenster mit OS-Dropdown; hervorgehoben AlmaLinux 8 / 64 bit; roter Installieren-Button unten rechts.

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

Installationsdialog: Debian 10.0/64 Bit, AlmaLinux 8/64 Bit, Passwortfelder, roter Installieren-Button.

Nun klickt ihr auf „Betriebssystem installieren“. Ihr solltet dann folgende Meldung erhalten, die ihr mit „Ja“ bestätigt.

Dialogfenster mit Titel 'BETRIEBSSYSTEM NEU INSTALLIEREN', roter Warnhinweis, Knöpfe 'NEIN' und 'JA'.

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

Meldung: 'Der Cloud Server wird neu installiert.'; UI zur Betriebssystemwahl mit Button 'BETRIEBSSYSTEM INSTALLIEREN'.

Ihr könnt wieder oben auf die „Wolke“ klicken. Hier sieht ihr die Übersicht eurer Server. In dieser Übersicht sollte dann stehen „Betriebssystem wechseln“. Ihr müsst die Seite öfter dann mit „F5“ aktualisieren.

Screenshot einer CloudPIT-Verwaltungsoberfläche mit Logo, Tabellenzeilen und roter Umrandung um die Schaltfläche Betriebssystem wechseln.

Nach kurzer Zeit sollte es dann so aussehen:

Screenshot eines Cloud-Server-Dashboards; Tabelle mit Hostname, IP, Node, Status, Typ, OS; rote Markierung um eine Zeile.

2. vServer starten

Nach der Installation ist euer vServer noch gestoppt. Um ihr zu starten, klickt ihr auf euren Server und anschließend auf den „grünen Pfeil“.

Cloud-Server-Verwaltung: CLOUD SERVER > TESTBEREICH.NET; OS AlmaLinux 8/64 Bit; IP 178.250.170.125; STOPP rot, grün umrahmte Play-Taste.

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

Dashboard-Header mit CloudPIT-Logo; rechts grüner 'GESTARTET'-Button. CLOUD SERVER | TESTBEREICH.NET, IP 178.250.170.125.

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: Überschrift Download PuTTY, Text zu PuTTY als SSH/Telnet-Client, roter hervorgehobener Link here.

Startet nun Putty und gebt bei „Host Name“ die IP an, welche euch Cloudpit anzeigt. Der Port ist hier 22.

PuTTY-Konfigurationsfenster mit Kategorienbaum links, Hostname- und Port-Felder rechts, Open/Cancel-Buttons.

IP eures Servers:

Screenshot einer Cloud-Server-Übersicht: TESTBEREICH.NET, Betriebssystem AlmaLinux 8 / 64 bit, IP-Adresse 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.

PuTTY-Security-Alert: Gelbes Warnsymbol; Hostkey stimmt nicht überein. Buttons: Ja, Nein, Abbrechen, Hilfe.

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

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

Nach erfolgreichem Login seht ihr folgendes:

Schwarzes Terminalfenster mit Login-Prompt 'login as: root' und Eingabeaufforderung '[root@testbereich ~]#' in Windows.

4. Programme updaten

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

yum check-update
Terminalfenster mit dem Befehl 'yum check-update'; Repos: AlmaLinux 8 - BaseOS, AppStream, Extras, Geschwindigkeiten.

Zum Installieren der Updates gebt ihr nun folgendes ein:

yum update
Schwarzes Terminalfenster mit Root-Prompt; Ausgabe von 'yum check-update' inklusive Repository-Infos.

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

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
Schwarzes Terminalfenster mit Root-Prompt [root@testbereich ~]#. Befehl: adduser dogado; zweite Zeile zeigt neuen Prompt.

Nun müsst ihr noch ein Kennwort für diesen Benutzer vergeben. Dazu gebt ihr folgendes ein:

passwd <Name>

In meinem Fall also:

passwd dogado

Nun gebt ihr euer Kennwort zwei Mal ein.

Linux-Terminal mit Root-Prompt; Befehle: adduser dogado, passwd dogado; Meldung: tokens updated.

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:

yum -y install nano
Schwarzes Terminalfenster mit weißem Text; Installation des Nano-Pakets wird angezeigt, inkl. Fortschritt und Paketinfos.

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
GNU nano zeigt /etc/ssh/sshd_config; Port 2222, AddressFamily any, ListenAddress 0.0.0.0, ::

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
Terminalansicht einer sshd_config-Datei; hervorgehobene Zeile: 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:

systemctl restart sshd.service

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; links der Kategorienbaum, rechts Host 178.250.170.125, Port 2222.

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

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

Screenshot eines PuTTY-Warnfensters mit gelbem Warnsymbol; Text zur Hostkey-Überprüfung; Buttons Ja, Nein, Abbrechen, Hilfe.

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

Terminalfenster mit Eingabeaufforderung: login as: dogado; dogado@178.250.170.125's password: [dogado@testbereich ~]$

8. Zwischen den Benutzern wechseln

Um von eurem Nutzer auf den Benutzer „root“ zu wechseln, gebt ihr einfach „su“ ein, gefolgt von dem Root Kennwort.

SSH-Terminal mit Login: 'login as: dogado', 'dogado@178.250.170.125's password:', 'dogado@testbereich:~$ ls'

Anhand der „#“ seht ihr, dass ihr nun „root“ seid.

Um vom Benutzer root zu eurem neu erstellten Benutzer zu wechseln, gebt ihr folgendes ein:

su <Nutzername>

In meinem Fall also

su dogado
Screenshot eines Terminalfensters mit Linux-Prompt: Login als dogado, su, Passwortabfrage und Root-Prompt sichtbar.

Hierbei müsst ihr kein Kennwort eingeben.

9. UFW Firewall installieren und einrichten

9.1 Installieren

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

yum -y install epel-release

Jetzt haben wir das benötigte Repository installiert.

Screenshot eines Terminalfensters mit Installationsausgaben, weißer Text auf schwarzem Hintergrund, mehrere Abschnitte.

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

yum -y install ufw
Schwarzes Terminalfenster mit weißem Text; Meldungen einer Paketinstallation, Installationsstatus und Fortschrittsanzeigen.

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:

Dunkles Terminalfenster mit vielen Zeilen Text in Tabellenform, weiße Zeichen auf schwarzem Hintergrund.

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 gebt ihr folgendes ein:

ufw default deny incoming

Dies sollte dann so aussehen.

Terminalfenster; [root@testbereich dogado]# ufw default deny incoming

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

ufw status

Nun solltet ihr folgendes sehen:

UFW-Status: aktiv; mDNS (224.0.0.251 / ff02::fb) und Ports 25, 80, 2222 (Anywhere bzw. 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 zwei ufw delete Befehlen (3, 1); SSH-Regeln werden gelöscht, Bestätigung y, Meldung: Rule deleted.

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

ufw status

Jetzt seht ihr, dass unsere SSH Einträge entfernt wurden. Die beiden letzten Einträge benötigt ihr, damit euer Server Webseiten Namen auflösen kann.

Status: active; 224.0.0.251 mDNS ALLOW Anywhere; ff02::fb mDNS ALLOW 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. Gebt dazu folgendes ein:

ufw allow 25
ufw allow 80
ufw allow 2222

Für jeden Port wird nun eine Regel angelegt.

Terminal mit Root-Prompt; Befehle 'ufw allow 25', 'ufw allow 80', 'ufw allow 2222' und Meldung 'Rule added (v6)"

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

ufw status

So sieht dies bei mir aus:

Terminal-Ausgabe von 'ufw status': Status: active; Tabelle mit To, Action, From und ALLOW-Einträgen.

9.5 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.

Schwarzes Terminalfenster mit drei Zeilen: [root@testbereich ~]# ufw enable; y; Firewall aktiv und_enabled beim Systemstart

9.6 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: active; Tabelle To/Action/From; ALLOW 224.0.0.251 mDNS, 25, 80, 2222 (IPv6).

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:

yum -y  install fail2ban
Schwarzes Terminalfenster mit Yum-Installationsausgabe für Fail2Ban; Paketliste (noarch), epel-Repo, 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 ihr nun etwas nach unten scrollt, solltet ihr folgende Einträge finden:

Dunkler Terminal mit grünem Text; 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:

Schwarzes Terminal mit cyanfarbener Textliste zu JAILS/SSH-Servern; Abschnitte [sshd] und [dropbear] mit Parametern.

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

port = 2222

So sieht dann meine Konfiguration aus:

Schwarzes Terminalfenster mit sshd-Konfigurationszeilen, u. a. %mode, logpath, backend und enabled = true.

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:

systemctl restart fail2ban.service

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.

Schwarzes Terminalfenster mit Fail2Ban-Logzeilen; rote Box markiert '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-Log mit Fail2ban-Ausgaben; roter Rahmen um die Meldung Jail 'sshd' started.
Nächster Artikel
CentOS auf vServer/VPS installieren
Weitere passende Themen