Gute Praktiken mit OpenSSH

OpenSSH (Öffnen Sie die sichere Shell) ist eine Reihe von Anwendungen, die verschlüsselte Kommunikation über ein Netzwerk mit dem ermöglichen Protokoll SSH. Es wurde als kostenlose und offene Alternative zum Programm erstellt Secure Shell, das ist proprietäre Software. « Wikipedia .

Einige Benutzer denken möglicherweise, dass bewährte Methoden nur auf Servern angewendet werden sollten, und dies ist nicht der Fall. Viele GNU / Linux-Distributionen enthalten standardmäßig OpenSSH, und es gibt einige Dinge zu beachten.

Sicherheit

Dies sind die 6 wichtigsten Punkte, die bei der Konfiguration von SSH zu beachten sind:

  1. Verwenden Sie ein sicheres Passwort.
  2. Ändern Sie den Standardport von SSH.
  3. Verwenden Sie immer Version 2 des SSH-Protokolls.
  4. Deaktivieren Sie den Root-Zugriff.
  5. Beschränken Sie den Benutzerzugriff.
  6. Verwenden Sie die Schlüsselauthentifizierung.
  7. andere Optionen

Ein starkes Passwort

Ein gutes Passwort enthält alphanumerische oder Sonderzeichen, Leerzeichen, Groß- und Kleinbuchstaben usw. Hier drin DesdeLinux Wir haben verschiedene Methoden gezeigt, um gute Passwörter zu generieren. Kann besuchen dieser Artikel y dieser andere.

Ändern Sie den Standardport

Der Standardport von SSH ist 22. Um ihn zu ändern, müssen wir nur die Datei bearbeiten / etc / ssh / sshd_config. Wir suchen nach der Zeile, die sagt:

#Port 22

Wir kommentieren es aus und ändern die 22 gegen eine andere Zahl. Zum Beispiel:

Port 7022

Um die Ports zu kennen, die wir nicht in unserem Computer / Server verwenden, können wir sie im Terminal ausführen:

$ netstat -ntap

Um nun auf unseren Computer oder Server zuzugreifen, müssen wir dies mit der Option -p wie folgt tun:

$ ssh -p 7022 usuario@servidor

Verwenden Sie Protokoll 2

Um sicherzustellen, dass wir Version 2 des SSH-Protokolls verwenden, müssen wir die Datei bearbeiten / etc / ssh / sshd_config und suchen Sie nach der Zeile, die sagt:

# Protokoll 2

Wir kommentieren es aus und starten den SSH-Dienst neu.

Erlaube keinen Zugriff als root

Um zu verhindern, dass der Root-Benutzer über SSH remote zugreifen kann, sehen wir uns die Datei an/ etc / ssh / sshd_config die Linie:

#PermitRootLogin no

und wir kommentieren es aus. Ich denke, es ist klarstellbar, dass wir vorher sicherstellen müssen, dass unser Benutzer über die erforderlichen Berechtigungen verfügt, um administrative Aufgaben auszuführen.

Beschränken Sie den Zugriff durch Benutzer

Es tut auch nicht weh, den Zugriff über SSH nur bestimmten vertrauenswürdigen Benutzern zu erlauben, daher kehren wir zur Datei zurück / etc / ssh / sshd_config und wir fügen die Zeile hinzu:

AllowUsers elav usemoslinux kzkggaara

Wo offensichtlich die Benutzer elav, usemoslinux und kzkggaara diejenigen sind, auf die zugegriffen werden kann.

Verwenden Sie die Schlüsselauthentifizierung

Obwohl diese Methode am meisten empfohlen wird, müssen wir besonders vorsichtig sein, da wir ohne Eingabe des Kennworts auf den Server zugreifen. Dies bedeutet, dass wir in Schwierigkeiten geraten können, wenn ein Benutzer unsere Sitzung betritt oder unser Computer gestohlen wird. Mal sehen, wie es geht.

Als erstes müssen Sie ein Schlüsselpaar (öffentlich und privat) erstellen:

ssh-keygen -t rsa -b 4096

Dann geben wir unseren Schlüssel an den Computer / Server weiter:

ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7

Schließlich müssen wir in der Datei unkommentiert haben / etc / ssh / sshd_config die Linie:

AuthorizedKeysFile .ssh/authorized_keys

andere Optionen

Yukiterus Beitrag

Wir können die Wartezeit, in der sich ein Benutzer erfolgreich beim System anmelden kann, auf 30 Sekunden reduzieren

LoginGraceTime 30

Um SSH-Angriffe durch TCP-Spoofing zu vermeiden und die verschlüsselte Version auf der SSH-Seite maximal 3 Minuten lang aktiv zu lassen, können wir diese 3 Optionen aktivieren.

TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3

Deaktivieren Sie die Verwendung von Rhosts oder Shosts-Dateien, die aus Sicherheitsgründen nicht verwendet werden dürfen.

IgnoreRhosts ja IgnoreUserKnownHosts ja RhostsAuthentication nein RhostsRSAAuthentication nein

Überprüfen Sie die effektiven Berechtigungen des Benutzers während der Anmeldung.

StrictModes yes

Aktivieren Sie die Trennung von Berechtigungen.

UsePrivilegeSeparation yes

Schlussfolgerungen:

Durch diese Schritte können wir unseren Computern und Servern zusätzliche Sicherheit verleihen, aber wir dürfen niemals vergessen, dass es einen wichtigen Faktor gibt: Was ist zwischen dem Stuhl und der Tastatur?. Deshalb empfehle ich zu lesen dieser Artikel.

Quelle: HowToForge


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   yukiteru sagte

    Ausgezeichneter Beitrag @elav und ich füge einige interessante Dinge hinzu:

    AnmeldenGraceTime 30

    Dadurch können wir die Wartezeit, in der sich ein Benutzer erfolgreich beim System anmelden kann, auf 30 Sekunden reduzieren

    TCPKeepAlive Nr
    ClientAliveInterval 60
    ClientAliveCountMax 3

    Diese drei Optionen sind sehr nützlich, um SSH-Angriffe durch TCP-Spoofing zu vermeiden und die verschlüsselte Version auf der SSH-Seite maximal 3 Minuten lang aktiv zu lassen.

    IgnoriereRhosts ja
    IgnoreUserKnownHosts ja
    RhostsAuthentication No.
    RhostsRSAAuthentication No.

    Es deaktiviert die Verwendung von Rhosts oder Shosts-Dateien, die aus Sicherheitsgründen nicht verwendet werden dürfen.

    StrictModes ja

    Diese Option wird verwendet, um die effektiven Berechtigungen des Benutzers während der Anmeldung zu überprüfen.

    UsePrivilegeSeparation ja

    Aktivieren Sie die Trennung von Berechtigungen.

    1.    lebhaft sagte

      Nun, in einer Weile werde ich den Beitrag bearbeiten und zum Beitrag hinzufügen 😀

  2.   Eugenio sagte

    Das Kommentieren, um die Leitung nicht zu ändern, ist überflüssig. Die kommentierten Zeilen zeigen den Standardwert jeder Option (lesen Sie die Erläuterungen am Anfang der Datei selbst). Der Root-Zugriff ist standardmäßig deaktiviert usw. Daher hat das Auskommentieren absolut keine Wirkung.

    1.    lebhaft sagte

      # Die Strategie, die für Optionen in der Standard-sshd_config verwendet wird, mit der geliefert wird
      # OpenSSH gibt Optionen mit ihrem Standardwert wo an
      # möglich, aber kommentieren lassen. Nicht kommentierte Optionen überschreiben die
      # Standardwert.

      Ja, aber woher wissen wir zum Beispiel, dass wir nur Version 2 des Protokolls verwenden? Weil wir 1 und 2 gleichzeitig verwenden könnten. Wie in der letzten Zeile angegeben, überschreibt das Kommentieren dieser Option beispielsweise die Standardoption. Wenn wir standardmäßig Version 2 verwenden, gut, wenn nicht, dann verwenden wir JA oder JA 😀

      Danke für den Kommentar

  3.   Sli sagte

    Sehr guter Artikel, ich wusste mehrere Dinge, aber eine Sache, die mir nie klar ist, ist die Verwendung von Schlüsseln, wirklich was sie sind und welche Vorteile es hat, wenn ich Schlüssel verwende, kann ich Passwörter verwenden ??? Wenn ja, warum erhöht es die Sicherheit und wenn nicht, wie kann ich von einem anderen PC darauf zugreifen?

  4.   Wiedersehen sagte

    Grüße, ich habe Debian 8.1 installiert und kann mit WINSCP keine Verbindung von meinem Windows-PC zu Debian herstellen. Muss ich Protokoll 1 verwenden? jede Hilfe .. danke
    Wiedersehen

  5.   Franken sagte

    Dieses Video über openssh könnte Sie interessieren https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   Fliese sagte

    Ich möchte hier einige Dinge ausprobieren, einige habe ich bereits dank des Arch-Wikis ausprobiert, andere aufgrund von Faulheit oder Unwissenheit. Ich werde es speichern, wenn ich mein RPi starte