VPS einrichten und absichern: Schritt-für-Schritt-Anleitung

VPS (Virtual Private Server) ist ein leistungsstarkes Werkzeug, das in einer Vielzahl von Aufgaben Anwendung findet: von Webhosting, Entwicklung und Organisation des persönlichen Cloud-Speichers bis hin zu Penetrationstests (Pentesting), Sicherheitsanalyse oder VPN-Server. Um jedoch Sicherheit und Zuverlässigkeit zu gewährleisten, erfordert ein VPS eine ordnungsgemäße Konfiguration und Härtung. In diesem Artikel werden wir im Detail alle wichtigen Schritte untersuchen, um einen sicheren VPS-Server zu erstellen, der sowohl für allgemeine Aufgaben als auch für spezielle Anforderungen wie Pentesting geeignet ist.

Auswahl eines Anbieters und Betriebssystems

Der erste wichtige Schritt besteht darin, einen zuverlässigen VPS-Anbieter zu wählen. Achten Sie bei der Auswahl eines Anbieters auf folgende Faktoren:

  • Unternehmensruf und Kundenbewertungen
  • Serverstandort und Netzwerk
  • Verfügbare Betriebssystemoptionen
  • Leistung und Skalierbarkeit der Tarifpläne
  • Niveau des technischen Supports und der Dokumentation

Für das Betriebssystem wird empfohlen, eine der beliebten Linux-Distributionen wie Ubuntu, Debian oder CentOS zu wählen. Sie verfügen über eine breite Community-Unterstützung, häufige Sicherheitsupdates und sind gut für Serveraufgaben geeignet.

Wenn Ihr Ziel Pentesting und Sicherheitsanalyse ist, lohnt es sich, spezialisierte Distributionen in Betracht zu ziehen, die speziell für diese Aufgaben erstellt wurden, wie Kali Linux, ParrotOS oder BlackArch. Diese Distributionen bieten eine Fülle an vorinstallierten Tools für Penetrationstests, Schwachstellenanalyse, Reverse Engineering und andere Cybersicherheitsaufgaben.

Aber selbst wenn Sie sich für eine universelle Distribution wie Ubuntu oder Debian entscheiden, können Sie immer die notwendigen Tools für Pentesting zusätzlich installieren und konfigurieren. Das Wichtigste ist, einen zuverlässigen Schutz des VPS selbst sicherzustellen, damit er nicht Opfer von Angriffen oder Quelle von Bedrohungen für andere Systeme wird.

Die Einrichtung eines VPS umfasst die Auswahl eines geeigneten Anbieters, die Installation des Betriebssystems, die Konfiguration von Diensten und die Absicherung des Servers. Diese Schritte sind sowohl für den allgemeinen Gebrauch als auch für Pentesting-Aufgaben gleichermaßen wichtig.

Ersteinrichtung des Servers

Nach der Erstellung des VPS verbinden Sie sich über SSH mit den vom Anbieter bereitgestellten Anmeldedaten. Führen Sie dann die folgenden Schritte für die Ersteinrichtung durch:

    1. Aktualisieren Sie alle installierten Pakete auf die neuesten Versionen:
      sudo apt update && sudo apt upgrade -y
    2. Erstellen Sie einen neuen Benutzer mit Sudo-Rechten und richten Sie die SSH-Schlüssel-Authentifizierung ein:
      adduser johndoe
      usermod -aG sudo johndoe
      mkdir /home/johndoe/.ssh
      chmod 700 /home/johndoe/.ssh
      nano /home/johndoe/.ssh/authorized_keys # Fügen Sie Ihren öffentlichen SSH-Schlüssel ein
      chmod 600 /home/johndoe/.ssh/authorized_keys  
      chown -R johndoe:johndoe /home/johndoe/.ssh
    3. Deaktivieren Sie die Anmeldung für den Root-Benutzer und die Passwortanmeldung, indem Sie die Datei /etc/ssh/sshd_config bearbeiten:
      PermitRootLogin no
      PasswordAuthentication no
    4. Starten Sie den SSH-Dienst neu:
      sudo systemctl restart sshd

Jetzt haben Sie die Grundlage für einen sicheren Serverzugriff.

Verstärkung der SSH-Sicherheit

SSH ist die primäre Methode für den Fernzugriff auf einen VPS, daher ist es wichtig, dessen Sicherheit zu verstärken. Hier sind einige Empfehlungen:

  • Installieren Sie fail2ban, um sich vor Brute-Force-Angriffen zu schützen:
    sudo apt install fail2ban -y

    Die Fail2Ban-Protokolle werden normalerweise in der Datei /var/log/fail2ban.log gespeichert. Wenn Sie die Anzahl der Anmeldeversuche, die Sperrzeit und andere Parameter ändern möchten, erstellen Sie eine Kopie der Datei jail.conf mit dem Namen jail.local im Verzeichnis /etc/fail2ban und arbeiten Sie in dieser Datei. Dateien mit .local haben Vorrang vor .conf, sodass Fail2Ban Ihre Einstellungen verwendet.

  • Verwenden Sie nur die SSH-Schlüssel-Authentifizierung (bereits im vorherigen Schritt eingerichtet).
  • Ändern Sie den Standard-SSH-Port (z.B. auf 2222) in der Datei /etc/ssh/sshd_config:
    Port 2222
  • Beschränken Sie den SSH-Zugriff auf bestimmte Benutzer, indem Sie in /etc/ssh/sshd_config hinzufügen:
    AllowUsers johndoe
  • Aktivieren Sie 2FA (Zwei-Faktor-Authentifizierung) mit Google Authenticator oder anderen Lösungen.

Starten Sie nach den Änderungen SSH neu:

sudo systemctl restart sshd

Einrichtung der Zwei-Faktor-Authentifizierung (2FA)

Die Zwei-Faktor-Authentifizierung erhöht die Sicherheit erheblich, indem bei der Anmeldung über SSH ein zusätzlicher Einmalcode erforderlich ist. Um 2FA mit Google Authenticator einzurichten, führen Sie die folgenden Schritte aus:

    1. Installieren Sie das Google Authenticator PAM-Modul auf dem Server:
      sudo apt install libpam-google-authenticator -y
    2. Führen Sie google-authenticator als Benutzer aus und folgen Sie den Anweisungen zur Einrichtung:
      su - johndoe
      google-authenticator

      Speichern Sie die angezeigten Backup-Codes an einem sicheren Ort.

    3. Bearbeiten Sie die Datei /etc/pam.d/sshd und fügen Sie am Ende hinzu:
      auth required pam_google_authenticator.so
    4. Bearbeiten Sie die Datei /etc/ssh/sshd_config und fügen Sie hinzu/ändern Sie:
      ChallengeResponseAuthentication yes
      AuthenticationMethods publickey,keyboard-interactive
    5. Starten Sie den SSH-Dienst neu:
      sudo systemctl restart sshd

Jetzt wird bei der Anmeldung über SSH zusätzlich zum SSH-Schlüssel ein Einmalcode von der Google Authenticator App angefordert.

Konfiguration der Firewall

Eine Firewall ist ein wichtiger Bestandteil des Serverschutzes, der es ermöglicht, den Netzwerkzugriff einzuschränken. Es wird empfohlen, UFW (Uncomplicated Firewall) zu verwenden, um Firewall-Regeln zu konfigurieren.

UFW installieren

sudo apt install ufw -y

Regeln einrichten, um notwendige Dienste zu erlauben

Zum Beispiel:

sudo ufw allow 2222/tcp # SSH auf Port 2222
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS

UFW aktivieren

sudo ufw enable

WICHTIG: Aktivieren Sie UFW nicht, bevor Sie die SSH-Verbindung erlaubt haben. Der Standard-SSH-Port ist 22; wenn Sie den Port für SSH geändert haben, geben Sie Ihren Port an.

Serverüberwachung

Eine regelmäßige Serverüberwachung ermöglicht die rechtzeitige Erkennung potenzieller Probleme und Sicherheitsbedrohungen. Einige Empfehlungen:

  • Installieren Sie Überwachungstools wie Prometheus und Grafana zum Sammeln und Visualisieren von Servermetriken.
  • Richten Sie eine zentrale Protokollsammlung und -analyse mit Lösungen wie dem ELK-Stack (Elasticsearch, Logstash, Kibana) ein.
  • Verwenden Sie Intrusion Detection Tools wie OSSEC oder Suricata, um verdächtige Aktivitäten zu erkennen.
  • Überprüfen Sie regelmäßig die Protokolle auf Anomalien und Anzeichen von Kompromittierung.

Übertragung von Dateien zum VPS

Für die sichere Datei- und Ressourcenübertragung zwischen dem lokalen Computer und dem VPS verwenden Sie das SCP-Dienstprogramm. Um beispielsweise das Verzeichnis project an den Benutzer johndoe auf dem Server zu übertragen:

scp -P 2222 -i ~/.ssh/vps_key -r ~/project johndoe@vps_ip:~/

Dadurch können Daten über eine verschlüsselte SSH-Verbindung übertragen werden, ohne sie Dritten preiszugeben.

Zusammenfassung

Indem Sie die detaillierten Empfehlungen aus diesem Artikel befolgen, werden Sie in der Lage sein, einen sicheren VPS-Server zu erstellen, der sowohl für allgemeine Aufgaben als auch für Pentesting geeignet ist. Die Hauptpunkte:

  • Wählen Sie den Anbieter und das Betriebssystem sorgfältig aus
  • Führen Sie die Ersteinrichtung des Servers durch und erstellen Sie einen neuen Sudo-Benutzer
  • Verstärken Sie die SSH-Sicherheit mit fail2ban, einem nicht standardmäßigen Port und Benutzerbeschränkungen
  • Richten Sie die Zwei-Faktor-Authentifizierung für die SSH-Anmeldung ein
  • Konfigurieren Sie die Firewall, um den Netzwerkzugriff einzuschränken
  • Installieren Sie Überwachungstools und überprüfen Sie die Protokolle regelmäßig
  • Verwenden Sie SCP für den sicheren Dateitransfer

Vergessen Sie nicht, Sicherheitsupdates rechtzeitig zu installieren und die Nachrichten über Schwachstellen zu verfolgen. Bei richtiger Konfiguration, regelmäßiger Überwachung und Wachsamkeit wird Ihr VPS zu einer zuverlässigen und sicheren Plattform für Ihre Projekte und Experimente.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.