So machen Sie Ihren Linux-VPS oder dedizierten Server sicherer, wenn Sie eine Verbindung über SSH herstellen

Linux-Server werden in der Regel von Administratoren aus der Ferne gewartet und verwaltet. Diese Fernkommunikation birgt natürlich einige Schwachstellen, da der Datenverkehr über ungesicherte öffentliche Netzwerke erfolgt. Glücklicherweise kann dies durch die Verwendung des SSH- oder Secure Shell-Protokolls abgedeckt werden. Eine Methode zur sicheren und verschlüsselten Kommunikation und Dateiübertragung über ungesicherte Netzwerke. SSH ist auf den meisten Systemen, einschließlich der neuesten Windows-Versionen, nativ geworden, ist aber schon seit langem eine tragende Säule von Linux-Computern und -Servern.

Dennoch gibt es noch einige Dinge, die Administratoren tun können, um ihre Server zu optimieren und sie sicherer zu machen. In diesem Tutorial werfen wir einen Blick auf einige Optionen, ihre Auswirkungen und wie man sie umsetzt. Dabei handelt es sich keineswegs um eine prägnante Liste aller Sicherheitsmaßnahmen, die ergriffen werden können, noch wird auf andere Anwendungen von Drittanbietern eingegangen, die zur Verbesserung der Serversicherheit beitragen können. Es ist jedoch ein ausgezeichneter Ausgangspunkt, wenn Ihnen die Sicherheit am Herzen liegt und Sie etwas ruhiger schlafen möchten.

Authentifizierung mit öffentlichem und privatem Schlüssel

Die Verwendung von Passwörtern für die SSH-Authentifizierung ist an sich potenziell unsicher. Der Zugriff kann über einen Brute-Force-Angriff erfolgen, bei dem Passwortversuche von einem Skript wiederholt werden, bis das richtige Passwort generiert wird. Wenn ein Benutzer ein schwaches Passwort hat, ist der Server möglicherweise angreifbar. Eine wirksame Lösung besteht darin, die Passwortnutzung durch eine Public-Private-Key-Authentifizierung zu ergänzen.

  1. Generieren Sie SSH-Schlüssel
    • Um Schlüssel zu generieren, führen Sie den folgenden Befehl aus:
      cd /.ssh
      ssh-keygen -t rsa

      Hinweis : Wenn auf Ihrem Computer kein .ssh-Ordner vorhanden ist, müssen Sie möglicherweise einen erstellen.

    • Drücken Sie bei jeder Frageaufforderung die Eingabetaste .
    • Es werden zwei Dateien erstellt.
      • Die öffentliche Schlüsseldatei: 
        id_rsa. Kneipe

        id_rsa.pub

      • Die private Schlüsseldatei: 
        id_rsa

        id_rsa

  2. Erstellen Sie einen SSH-Ordner auf dem Server (falls noch nicht vorhanden).
    • Melden Sie sich beim Remote-Server an und überprüfen Sie die Verzeichnisstruktur auf a
      /.ssh

      /.ssh Ordner

    • Wenn es nicht vorhanden ist, erstellen Sie es mit dem folgenden Befehl:
      Klartext
      In die Zwischenablage kopieren
      Code in neuem Fenster öffnen
      EnlighterJS 3 Syntax-Highlighter
      mkdir -p ~/.ssh/
      mkdir -p ~/.ssh/
      mkdir -p ~/.ssh/
  3. Speichern Sie die Public-Key-Datei auf Ihrem Server
    • Geben Sie den folgenden Befehl in Ihrem lokalen Terminal ein, um Ihre neu generierte öffentliche Schlüsseldatei auf Ihren Server zu kopieren:
      Klartext
      In die Zwischenablage kopieren
      Code in neuem Fenster öffnen
      EnlighterJS 3 Syntax-Highlighter
      scp ~/.ssh/id_rsa. pub [ Benutzername ] @ { Server-IP-Adresse ] :~/.ssh
      scp ~/.ssh/id_rsa.pub [Benutzername]@{Server-IP-Adresse]:~/.ssh
      scp ~/.ssh/id_rsa.pub [Benutzername]@{Server-IP-Adresse]:~/.ssh
    • Sie werden zur Eingabe Ihres Passworts aufgefordert
    • Geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste.
  4. Aktualisieren Sie Ihre öffentliche Schlüsseldatei
    • Sie müssen den Dateinamen und die Berechtigungen der öffentlichen Schlüsseldatei ändern. Sie können dies tun, indem Sie in der Remote-SSH-Sitzung Folgendes eingeben:
      Klartext
      In die Zwischenablage kopieren
      Code in neuem Fenster öffnen
      EnlighterJS 3 Syntax-Highlighter
      cat ~/.ssh/id_rsa. pub >> ~/.ssh/authorized_keys
      chmod 700 .ssh
      chmod 600 .ssh/authorized_keys
      rm .ssh/id_rsa. Kneipe
      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 700 .ssh chmod 600 .ssh/authorized_keys rm .ssh/id_rsa.pub
      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
      chmod 700 .ssh
      chmod 600 .ssh/authorized_keys
      rm .ssh/id_rsa.pub
    • Die Datei id_rsa.pub sollte jetzt „authorized_keys“ heißen und die Datei und der darin enthaltene Ordner /.ssh sollten jetzt änderbar sein.
  5. Testen Sie Ihr Login
    • Melden Sie sich von der SSH-Sitzung ab
    • Starten Sie eine neue SSH-Sitzung
  6. Deaktivieren Sie die Passwortauthentifizierung
    • Suchen Sie die Datei sshd_config (normalerweise im SSH- Ordner).
    • Öffnen Sie die Datei zur Bearbeitung und fügen Sie die folgenden Zeilen hinzu:
      #Passwortauthentifizierung deaktivieren, um die Verwendung von Schlüsseln zu erzwingen
      PasswortAuthentifizierungsnr
      • Wenn diese Zeilen bereits vorhanden sind, müssen Sie möglicherweise nur das „#“ vor der zweiten Zeile entfernen und/oder „yes“ in „no“ ändern .
    • Speichern und schließen Sie die Datei.
  7. Melden Sie sich von der SSH-Sitzung ab.
  8. Melden Sie sich erneut bei der SSH-Sitzung an.

Wenn Sie Zugriff auf den Remote-Server erhalten haben, ohne dass ein Kennwort erforderlich ist, haben Sie diese Lösung erfolgreich implementiert.

Konfigurieren Sie das Leerlauf-Timeout-Intervall neu

Eine unbeaufsichtigte SSH-Sitzung stellt ein potenzielles Sicherheitsrisiko dar. Am besten halten Sie die Zeitspanne so kurz wie möglich, indem Sie das Timeout-Intervall verkürzen.

    1. Melden Sie sich bei Ihrem Server an
    2. Suchen und öffnen Sie die Datei sshd_config
    3. Fügen Sie die folgenden Zeilen hinzu:
      ClientAliveInterval 300
      ClientAliveCountMax 0
      • Dadurch wird ein Leerlauf-Timeout-Intervall von 5 Minuten (300 Sekunden) implementiert. Wenn die Sitzung 5 Minuten lang inaktiv bleibt, wird der Benutzer automatisch abgemeldet.
    4. Speichern und schließen Sie die Datei.
    5. Melden Sie sich von der SSH-Sitzung ab.
    6. Melden Sie sich wieder bei der Sitzung an und lassen Sie sie zum Testen im Leerlauf.

Die Einstellung wurde erfolgreich umgesetzt, wenn Sie nach 5 Minuten Nichtnutzung abgemeldet werden.

Leere Passwörter deaktivieren

Leere oder Null-Passwörter sind für Hacker ein Vergnügen, da sie lediglich die Benutzernamen benötigen. Am besten konfigurieren Sie Ihren Server so, dass er solche Passwörter nicht zulässt.

  1. Melden Sie sich bei Ihrem Server an
  2. Suchen und öffnen Sie die Datei sshd_config
  3. Fügen Sie die folgende Zeile hinzu:
    PermitEmptyPasswords Nr
  4. Speichern und schließen Sie die Datei.
  5. Versuchen Sie, Ihr Passwort in ein leeres Passwort zu ändern.

Wenn Sie daran gehindert werden, wurde diese Sicherheitsmaßnahme erfolgreich umgesetzt.

Beschränken Sie Benutzer mit SSH-Zugriff

Nicht jeder Benutzer muss über SSH auf den Server zugreifen. Tatsächlich ist die Liste der Benutzer, die über diesen Zugriff verfügen sollten, sehr klein. Tun Sie sich selbst einen Gefallen und beschränken Sie ihn auf diejenigen, die diesen Zugang benötigen.

  1. Melden Sie sich bei Ihrem Server an
  2. Suchen und öffnen Sie die Datei sshd_config
  3. Fügen Sie die folgende Zeile hinzu:
    AllowUsers [Benutzer1] [Benutzer2]
    • Geben Sie die Benutzernamen der Benutzer an und trennen Sie sie durch ein einzelnes Leerzeichen
  4. Starten Sie den SSHD-Dienst neu, indem Sie den folgenden Befehl eingeben:
    Dienst-SSHD-Neustart
  5. Melden Sie sich von der SSH-Sitzung ab.
  6. Versuchen Sie, sich mit einem anderen Benutzerkonto anzumelden, auf das Sie Zugriff haben, das ABER nicht in der AllowUser-Liste enthalten ist.

Wenn Sie sich nicht anmelden können, haben Sie diese Sicherheitsmaßnahme erfolgreich implementiert.

Verwenden Sie ausschließlich das SSH 2-Protokoll

Es gibt zwei Versionen des SSH-Protokolls: 1 und 2. SSH 2 ist weitaus robuster und sicherer UND abwärtskompatibel mit SSH. In diesem Fall besteht eigentlich keine Notwendigkeit, die Verwendung des weniger sicheren älteren Geschwisterprotokolls zuzulassen.

  1. Melden Sie sich bei Ihrem Server an
  2. Suchen und öffnen Sie die Datei sshd_config
  3. Fügen Sie die folgende Zeile hinzu:
    Protokoll 2
    • Diese Zeile ist möglicherweise bereits vorhanden. Möglicherweise müssen Sie einfach das „#“ und die „1“ entfernen.
  4. Starten Sie den SSHD-Dienst neu, indem Sie den folgenden Befehl eingeben:
    Dienst-SSHD-Neustart

Verwenden Sie einen anderen (nicht standardmäßigen) Port

Der Standard-SSH-Port, Port 22, wird regelmäßig nach offenen SSH-Servern durchsucht. In diesem Fall wäre es ratsam, den SSH-Port, über den Ihr Server kommuniziert, auf einen anderen Port zu ändern.

  • Melden Sie sich bei Ihrem Server an
  • Suchen und öffnen Sie die Datei sshd_config
  • Fügen Sie die folgenden Zeilen hinzu:
    #Führen Sie SSH auf einem nicht standardmäßigen Port aus
    Port 2099 #Change me
    • Es wird empfohlen, Ports wie 222 oder 2222 zu meiden, da diese Ports ebenso wie der Standardport regelmäßig von Hackern gescannt werden.
  • Starten Sie den SSHD-Dienst neu, indem Sie den folgenden Befehl eingeben:
    Dienst-SSHD-Neustart

     

  • Schauen Sie sich die drei besten VPS-Dienste an:

    Kamatera
    4.8

    141 Benutzerbewertungen

    4,00 $ /Monat
    Startpreis

    Besuchen Sie Kamatera

    Bewertung basierend auf Expertenbewertung
    • Benutzerfreundlich
      3.5
    • Unterstützung
      3,0
    • Merkmale
      3.9
    • Zuverlässigkeit
      4,0
    • Preisgestaltung
      4.3
    ScalaHosting
    4.9

    319 Nutzerbewertungen

    2,95 $ /Monat
    Startpreis

    Besuchen Sie ScalaHosting

    Bewertung basierend auf Expertenbewertung
    • Benutzerfreundlich
      4.8
    • Unterstützung
      4.3
    • Merkmale
      4.4
    • Zuverlässigkeit
      4.8
    • Preisgestaltung
      4.5
    Flüssiges Web
    4.5

    198 Benutzerbewertungen

    5,00 $ /Monat
    Startpreis

    Besuchen Sie Liquid Web

    Bewertung basierend auf Expertenbewertung
    • Benutzerfreundlich
      3.8
    • Unterstützung
      4.8
    • Merkmale
      4.5
    • Zuverlässigkeit
      4.6
    • Preisgestaltung
      3.8
  • Benötigen Sie den besten VPS ? Informieren Sie sich über unsere verschiedenen Angebote.