So sichern und Harden OpenSsh Server sichern und Harden erhalten
- 4788
- 1522
- Phoebe Jeorga
Wenn es um den Zugriff auf Remote -Geräte wie Server, Router und Switches geht, wird das SSH -Protokoll sehr empfohlen, da es die Möglichkeit hat, den Verkehr zu verschlüsseln und jeden abzuwehren, der versuchen könnte, Ihre Verbindungen zu belauschen.
Sei das so, die Standardeinstellungen von Ssh sind nicht unfehlbar und zusätzliche Änderungen sind erforderlich, um das Protokoll sicherer zu machen. In diesem Handbuch untersuchen wir verschiedene Möglichkeiten, mit denen Sie die OpenSSH -Installation auf dem Server sichern und Harden verwenden können.
1. Setup SSH -Kennwort -Authentifizierung einrichten
Standardmäßig, Ssh Erfordert Benutzer, ihre Passwörter beim Anmelden anzugeben. Aber hier ist die Sache: Hacker können Passwörter erraten oder sogar einen Brute -Force -Angriff mit speziellen Hacking -Tools ausführen und Zugriff auf Ihr System erhalten. Um auf der sicheren Seite zu sein.
Der erste Schritt besteht darin, ein SSH-Schlüsselpaar zu generieren, das aus a besteht Öffentlicher Schlüssel und ein Privat Schlüssel. Der Privat Schlüssel wohnt in Ihrem Hostsystem, während die Öffentlicher Schlüssel wird dann auf den Remote -Server kopiert.
Einmal der Öffentlicher Schlüssel wird erfolgreich kopiert, Sie können jetzt nahtlos in den Remote -Server ssh, ohne ein Passwort angeben zu müssen.
Der nächste Schritt besteht darin, die Authentifizierung der Kennwort zu deaktivieren, um dies zu erreichen, damit Sie die SSH -Konfigurationsdatei ändern müssen.
$ sudo vim/etc/ssh/sshd_config
In der Konfigurationsdatei scrollen und suchen Sie die folgende Anweisung. Überzeugung und ändern Sie die Option 'Ja'
Zu 'NEIN'
PasswortAuthentication -NrDeaktivieren Sie die SSH -Passwort -Authentifizierung
Starten Sie dann den SSH -Daemon neu.
# sudo systemctl neu starten sshd neu starten
Zu diesem Zeitpunkt haben Sie mit der SSH -Schlüsselauthentifizierung nur Zugriff auf den Remote -Server.
2. Deaktivieren Sie Benutzer SSH -Kennwortverbindungsanfragen von Benutzern
Eine weitere empfohlene Methode zur Stärkung der Sicherheit Ihres Servers besteht darin, SSH -Anmeldungen von Benutzern ohne Passwörter zu deaktivieren. Dies klingt etwas seltsam, aber manchmal können Systemadministratoren Benutzerkonten erstellen und vergessen, Passwörter zuzuweisen - was eine sehr schlechte Idee ist.
Um Anforderungen von Benutzern ohne Passwort abzulehnen, gehen Sie erneut zur Konfigurationsdatei unter /etc/ssh/sshd_config
und stellen Sie sicher, dass Sie die Richtlinie unten haben:
Erläuterungspasswörter NrDeaktivieren Sie Benutzer SSH -Kennwortanmeldungen von Benutzern
Starten Sie dann den SSH -Service neu, damit die Änderung vorgenommen wird.
$ sudo systemctl starten sshd neu starten
3. Deaktivieren Sie SSH -Stammanmeldungen
Es ist ein Kinderspiel, was passieren kann, wenn ein Hacker es schafft, Ihr Stammkennwort zu erzwingen. Die Anmeldung von Remote Root ist ausnahmslos eine schlechte Idee, die die Sicherheit Ihres Systems gefährden könnte.
Aus diesem Grund wird immer empfohlen, die SSH-Remote-Root-Anmeldung zu deaktivieren und sich stattdessen an einen normalen Nicht-Root-Benutzer festzuhalten. Gehen Sie erneut zur Konfigurationsdatei und ändern Sie diese Zeile wie gezeigt.
Erläuterung NrDeaktivieren Sie SSH -Stammanmeldungen
Sobald Sie fertig sind, starten Sie den SSH -Service neu, damit die Änderung vorgenommen wird.
$ sudo systemctl starten sshd neu starten
Von nun an wird die Remote -Root -Anmeldung deaktiviert.
4. Verwenden Sie das SSH -Protokoll 2
SSH kommt in zwei Versionen: SSH Protokoll 1 Und Protokoll 2. Ssh Protokoll 2 wurde 2006 eingeführt und ist sicherer als Protokoll 1 Dank der starken kryptografischen Überprüfungen, der Schüttgutverschlüsselung und der robusten Algorithmen.
Standardmäßig verwendet SSH Protokoll 1. Um dies in die sicherere zu ändern Protokoll 2, Fügen Sie die unten stehende Zeile in die Konfigurationsdatei hinzu:
Protokoll 2Verwenden Sie das SSH -Protokoll 2
Starten Sie wie immer SSH, damit die Änderungen in Kraft treten können.
$ sudo systemctl starten sshd neu starten
In Zukunft wird SSH verwenden Protokoll 2 standardmäßig.
Zu testen, ob ssh Protokoll 1 Führen Sie den Befehl aus: Führen Sie den Befehl aus:
$ ssh -1 [E -Mail geschützt]
Sie erhalten einen Fehler, der liest “SSH -Protokoll v.1 wird nicht mehr unterstützt”.
In diesem Fall war der Befehl:
$ ssh -1 [E -Mail geschützt]Überprüfen Sie das SSH -Protokoll
Zusätzlich können Sie einfach die angeben -2
Tag, um sicherzugehen, dass das Protokoll 2 ist das verwendete Standardprotokoll.
$ ssh -2 [E -Mail geschützt]Verwenden Sie das SSH -Protokoll 2
5. Setzen Sie die SSH -Verbindungs -Zeitlimit -Leerlaufwert
Wenn Sie Ihren PC über längere Zeiträume mit einer Idle -SSH -Verbindung unbeaufsichtigt lassen, können Sie ein Sicherheitsrisiko darstellen. Jemand kann einfach vorbeigehen und Ihre SSH -Sitzung übernehmen und alles tun, was er will,. Um das Problem anzugehen, ist es daher umsichtig, ein Leerlaufzeitlimit festzulegen, das bei Überschreitung die SSH -Sitzung geschlossen wird.
Öffnen Sie erneut Ihre SSH -Konfigurationsdatei und suchen Sie die Anweisung "ClientaliveInterval". Weisen Sie beispielsweise einen angemessenen Wert zu 180 Sekunden.
ClientaliveInterval 180
Dies impliziert, dass die SSH -Sitzung fallen gelassen wird, wenn nach 3 Minuten keine Aktivität registriert ist, was dem Äquivalent von 180 Sekunden entspricht.
Setzen Sie den SSH -Verbindungs -ZeitüberschreitungswertStarten Sie dann den SSH -Daemon neu, um die vorgenommenen Änderungen zu bewirken.
$ sudo systemctl starten sshd neu starten
6. Beschränken Sie den SSH -Zugriff auf bestimmte Benutzer
Für eine zusätzliche Sicherheitsschicht können Sie die Benutzer definieren, die das SSH -Protokoll benötigen, um sich anmelden und Remote -Aufgaben im System ausführen. Dies hält andere Benutzer, die möglicherweise versuchen, ohne Ihre Genehmigung einen Zugang zu Ihrem System zu erhalten.
Öffnen Sie wie immer die Konfigurationsdatei und fügen Sie die Anweisung hinzuZulasser”Gefolgt von den Namen der Benutzer, die Sie gewähren möchten. Im folgenden Beispiel habe ich den Benutzern erlaubtTecmint' Und 'James'über SSH einen Fernzugriff auf das System haben. Jeder andere Benutzer, der versucht, Remote -Zugriff zu erhalten, wird blockiert.
Zulasser Tecmint JamesBegrenzen Sie SSH -Benutzeranmeldungen
Danach starten Sie SSH für die fortbeständigen Änderungen neu.
$ sudo systemctl starten sshd neu starten
7. Konfigurieren Sie eine Grenze für Passwortversuche
Eine andere Möglichkeit, eine Sicherheitsebene hinzuzufügen, besteht. Gehen Sie also erneut zur Konfigurationsdatei und suchen Sie die “MaxAuthtries”Richtlinie und definieren Sie einen Wert für die maximale Anzahl von Versuchen.
In diesem Beispiel wurde die Grenze auf festgelegt 3 Versuche wie gezeigt.
MaxAuthtries 3Begrenzen Sie SSH -Passwortversuche
Und schließlich starten Sie den SSH -Service wie in den vorherigen Szenarien neu.
Möglicherweise finden Sie auch diese folgenden SSH -verwandten Artikel nützlich:
- So installieren Sie OpenSSH 8.0 Server aus der Quelle unter Linux
- So installieren Sie Fail2ban, um SSH auf CentOS/RHEL 8 zu schützen
- So ändern Sie den SSH -Port unter Linux
- So erstellen Sie SSH -Tunneling oder Portweiterleitung unter Linux
- 4 Möglichkeiten zur Beschleunigung von SSH -Verbindungen unter Linux
- So finden Sie alle fehlgeschlagenen SSH -Anmeldeversuche unter Linux
- So trennen Sie die inaktiven oder inaktiven SSH -Verbindungen unter Linux
Abschluss
Dies war eine Zusammenfassung einiger Maßnahmen, die Sie ergreifen können, um Ihre SSH -Fernverbindungen zu sichern. Es ist wichtig hinzuzufügen, dass Sie Benutzern, die Remote-Zugriff auf brate-Force-Angriffe mit Remote-Zugriff haben, immer starke Passwörter zuweisen sollten. Wir hoffen, dass Sie diesen Leitfaden aufschlussreich gefunden haben. Ihr Feedback ist sehr willkommen.
- « Top 3 Open-Source-Cross-Distribution-Paket-Paket-Management-Systeme für Linux
- So upgraden Sie auf Linux Mint 20 Ulyana ein »