-
Was ist ein vServer?
-
vServer und Sicherheit
-
vServer - Anwendungsfälle
-
vServer bei dogado
-
vServer und Plesk
-
vServer Betriebssyteme
-
vServer Glossar
- CentOS 8 installieren
- vServer starten
- Per SSH mit eurem vServer verbinden
- Programme updaten
- Benutzer erstellen
- Texteditor nano installieren
- SSH Port ändern und root Login deaktivieren
- Zwischen den Benutzern wechseln
- UFW Firewall installieren und einrichten
- 10. Server gegen Brute Force Angriffe absichern
1. CentOS 8 installieren
Im ersten Schritt wollen wir auf unseren vServer CentOS 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.
Nun seht ihr alle eure vServer. Hier wählt ihr nun den vServer aus, auf dem ihr CentOS 8 installieren möchtet.
Klickt anschließend auf das aktuelle Betriebssystem eures Servers. Bei mir ist dies in dem Fall „AlmaLinux 8 / 64 bit“.
Nun solltet ihr folgendes sehen:
Wählt euch nun CentOS 8 aus der Liste aus.
Nachdem ihr CentOS gewählt habt, gebt ihr noch ein Kennwort ein. Dies wird später euer root Kennwort.
Nun klickt ihr auf „Betriebssystem installieren“. Ihr solltet dann folgende Meldung erhalten, die ihr mit „Ja“ bestätigt.
Nun sollte bei euch folgende Meldung erscheinen. Dieser Vorgang dauert nun einige Minuten.
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.
Nach kurzer Zeit sollte es dann so aussehen:
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“.
Wartet nun einige Sekunden. Anschließend solltet ihr folgendes sehen:
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. Klickt auf „here“.
Anschließend wählt ihr euch den 32bit oder 64bit Installer aus.
Startet nun Putty und gebt bei „Host Name“ die IP an, welche euch Cloudpit anzeigt. Der Port ist hier 22.
IP eures Servers:
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.
Gebt nun als Nutzername „root“ ein und euer eben gewähltes Kennwort. Nach erfolgreichem Login seht ihr folgendes:
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
Zum Installieren der Updates gebt ihr nun folgendes ein:
yum -y update
Nun werden alle Updates installiert. Dieser Vorgang kann je nach Anzahl der Updates einige Minuten dauern.
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. Dazu gebt ihr folgendes ein:
passwd <Benutzer Name>
In meinem Fall also:
passwd dogado
Nun gebt ihr euer Kennwort zwei Mal ein.
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
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
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
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:
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“.
Meldet euch nun mit eurem neuen Benutzer aus Schritt 5 an.
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.
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
Hierbei müsst ihr kein Kennwort eingeben.
9. UFW Firewall installieren und einrichten
9.1 Installieren
Nun wollen wir auf unserem CentOS 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. Anschließend können wir UFW installieren. Gebt dazu folgendes ein:
yum -y 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:
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:
Nun haben wir auch einige Standard-Einstellungen gesetzt bekommen. Diese können wir uns nun anzeigen lassen. Gebt dazu einfach folgendes ein
ufw status
Nun solltet ihr folgendes sehen:
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:
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.
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.
Nun können wir uns wieder eine Übersicht aller Regeln anschauen. Gebt dazu folgendes ein:
ufw status
So sieht dies bei mir aus:
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.
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
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
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:
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:
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:
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.
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.