Nach erfolgreicher Installation Ihres Debian-/Ubuntu-Servers sind einige Konfigurationsschritte unerlässlich, um die Sicherheit und Funktionalität des Servers zu verbessern. In dieser Anleitung führen wir Sie durch die grundlegenden Schritte bei der anfänglichen Servereinrichtung des Debian 9 / Ubuntu 18.04-Servers. Diese grundlegenden Schritte stärken Ihren Server und ermöglichen die reibungslose Ausführung nachfolgender Vorgänge.
Melden Sie sich als Root-Benutzer an
Der erste Schritt beim Einrichten Ihres Servers besteht darin, sich als Root-Benutzer anzumelden. Aber zuerst müssen Sie die IP-Adresse Ihres Servers und das Passwort oder einen privaten Schlüssel zur Authentifizierung haben. Um sich anzumelden, öffnen Sie Ihr Linux-Terminal und führen Sie den folgenden Befehl aus. Stellen Sie sicher, dass Sie die IP-Adresse des Servers durch Ihre IP-Adresse ersetzen.
ssh user@ip-address
In diesem Handbuch verwenden wir den Ubuntu 18.04-Server mit einer öffentlichen IP-Adresse 38.76.11.180
.
Um sich mit ssh über das Terminal anzumelden, lautet der Befehl
ssh [email protected]
Wenn Sie sich zum ersten Mal anmelden, müssen Sie die Authentizität des Servers überprüfen.
Geben Sie "Ja" ein und drücken Sie die Eingabetaste. Sie werden dann nach dem Passwort des Servers gefragt. Geben Sie das richtige Passwort ein und drücken Sie die Eingabetaste.
Dadurch gelangen Sie zur Shell-Eingabeaufforderung des Servers, wie unten gezeigt
Groß! Nachdem wir uns nun erfolgreich bei unserem Server angemeldet haben, gehen wir zum zweiten Schritt über
Neuen Benutzer erstellen
Aus Sicherheitsgründen wird dringend davon abgeraten, das Root-Konto für Verwaltungsaufgaben zu verwenden. Warum ist das so? Wenn Sie Ihren Server als Root ausführen, sind Sie anfällig für unbeabsichtigte und kostspielige Fehler, die sich nachteilig auf Ihren Server auswirken können. Sie können leicht etwas Schädliches an Ihrem System anrichten, was zu irreversiblen Schäden an Ihrem System führen kann.
Aus diesem Grund werden wir einen neuen Nicht-Root-Benutzer erstellen und ihm später Administratorrechte gewähren. Auf diese Weise werden Sie jedes Mal, wenn Sie versuchen, eine Aufgabe auf Root-Ebene auszuführen, nach dem Passwort gefragt. Dies gibt Ihnen etwas Zeit, innezuhalten und über die Konsequenzen für die Ausführung des Befehls nachzudenken und sofort innezuhalten, wenn Sie einen kostspieligen Fehler bei der Befehlsausführung bemerken.
So erstellen Sie einen neuen Benutzerlauf
adduser user_name
Wir werden einen neuen Benutzer hinzufügen ‘James‘
adduser james
Sie werden nach dem Passwort des Benutzers und einigen zusätzlichen Fragen gefragt. Geben Sie die erforderlichen Informationen an
Perfekt! Um die Erstellung des Benutzers zu überprüfen, sehen Sie sich /etc/passwd
an und bestätigen Sie die Existenz des Benutzers.
cat /etc/passwd
Beispielausgabe
Die letzte Zeile darüber zeigt Informationen des neu erstellten Benutzers an.
Gewähren Sie dem neuen Benutzer Administratorrechte
Bisher hat der neue Benutzer reguläre Kontoberechtigungen. Wir müssen Root-Rechte für unseren neu erstellten Benutzer einrichten, damit er administrative Aufgaben ausführen kann, indem wir sudo
anhängen vor jeder Operation.
Dazu müssen wir den Benutzer zu sudo hinzufügen Gruppe, um zu vermeiden, dass Sie sich jedes Mal abmelden und als root anmelden, wenn Sie administrative Aufgaben ausführen.
Die Syntax, um dies zu erreichen, ist
usermod -aG sudo user_name
In diesem Fall lautet der Befehl zum Gewähren von sudo-Berechtigungen für den Benutzer „james“
usermod -aG sudo james
Sie können sich jetzt abmelden und mit dem neuen Benutzer anmelden, indem Sie den oben angegebenen Befehl verwenden
ssh [email protected]
Nach erfolgreicher Anmeldung durch Überprüfung der Authentizität des Servers und Angabe des korrekten Passworts können Sie nun beliebige Superuser-Aufgaben ausführen, indem Sie dem Befehl sudo
voranstellen
Um beispielsweise das System mit dem Konto zu aktualisieren, führen Sie den folgenden Befehl aus
sudo apt update
Sie werden nach einem Passwort gefragt und nachdem Sie es eingegeben haben, wird der Vorgang gestartet.
Konfigurieren Sie eine einfache Firewall
Debian- und Ubuntu-Server verwenden die UFW-Firewall, um Datenverkehr zum oder vom Server zuzulassen oder zu verweigern.
Um die bestehende Verbindung in der Firewall anzuzeigen, führen Sie
aussudo ufw app list
Wie erwartet wird OpenSSH angezeigt, da wir derzeit ssh verwenden, um eine Verbindung zum Server herzustellen
Ausgabe
Um eine Verbindung über die Firewall zuzulassen, führen Sie den folgenden Befehl aus.
ufw allow service_name
Um beispielsweise SSH-Verbindungen für einen neuen Server zuzulassen, führen Sie Folgendes aus:
sudo ufw allow OpenSSH
Ausgabe
Um einen bestimmten Port auf der Firewall zu öffnen, verwenden Sie die Syntax
sudo ufw allow port/protocol
Zum Beispiel
sudo ufw allow 80/tcp
Ausgabe
Um den Status der Firewall zu überprüfen, führen Sie
aussudo ufw status
Ausgabe
Führen Sie den folgenden Befehl aus, um die Firewall zu aktivieren.
sudo ufw enable
Wenn Sie dazu aufgefordert werden, geben Sie yes
ein und drücken Sie „ENTER“, um die Firewall zu aktivieren und die Änderungen zu übernehmen
Um den Status der Firewall und bestehende Verbindungen/offene Ports erneut anzuzeigen, führen Sie den Befehl
aus
Passwortlose Authentifizierung für den neuen Benutzer aktivieren
Im Moment verbinden wir uns über das SSH-Protokoll mit Passwortauthentifizierung mit unserem Server. Für optimale Sicherheitspraktiken wird die Einrichtung von SSH-Schlüsseln ohne Kennwortauthentifizierung dringend empfohlen. SSH-Schlüssel gibt es paarweise:ein öffentlicher Schlüssel und ein privater Schlüssel.
Der private Schlüssel befindet sich auf dem Client-Rechner, während der öffentliche Schlüssel auf dem Server liegt, mit dem wir uns verbinden. Sobald die SSH-Schlüsselauthentifizierung eingerichtet ist, sollte die Kennwortauthentifizierung deaktiviert werden. Dadurch wird sichergestellt, dass nur der Benutzer mit dem privaten Schlüssel eine Verbindung zu dem Server herstellen kann, auf dem sich der öffentliche Schlüssel befindet.
Schritt 1. Generieren Sie den öffentlichen Schlüssel
Um das Schlüsselpaar zu generieren, führen Sie den folgenden Befehl auf dem Client-Computer aus
ssh-keygen
Sie erhalten die Ausgabe wie gezeigt
Drücken Sie die EINGABETASTE, um das Schlüsselpaar zu speichern:.ssh/
Unterverzeichnis in Ihrem Home-Verzeichnis. Alternativ können Sie Ihren eigenen Pfad angeben.
Als nächstes werden Sie aufgefordert, eine sichere Passphrase einzugeben, die dringend empfohlen wird, um eine zusätzliche Schutzschicht hinzuzufügen. Wenn Sie auf eine Passphrase verzichten möchten, drücken Sie ENTER.
Schließlich erhalten Sie die folgende Ausgabe
An diesem Punkt haben Sie sowohl den privaten als auch den öffentlichen Schlüssel. Sie wurden im .ssh
gespeichert Verzeichnis in Ihrem Home-Verzeichnis. In diesem Fall lautet der Pfad /root.ssh
cat /root/.ssh
Ausgabe
id_rsa
ist der private Schlüssel
id_rsa_pub
ist der öffentliche Schlüssel
Schritt 2. Kopieren Sie den öffentlichen Schlüssel
Um den öffentlichen Schlüssel auf den Server zu kopieren, verwenden wir die ssh-copy-id
Befehl.
Die Syntax lautet
ssh-copy-id user@remote-server
In diesem Fall werden wir ausführen
ssh-copy-id [email protected]
Sie erhalten eine Ausgabe ähnlich der untenstehenden
Die id_rsa.pub
Schlüssel, der der öffentliche Schlüssel ist, wurde auf den Server kopiert.
Wenn Sie jetzt versuchen, sich mit der Syntax ssh user@server-ip
anzumelden , werden Sie nicht nach einem Passwort gefragt!
Kennwortauthentifizierung deaktivieren
Jemand kann sich immer noch bei unserem Server anmelden, wenn er das Passwort hat. Um dieses Risiko zu eliminieren, müssen wir die SSH-Passwortauthentifizierung deaktivieren.
Um dies zu erreichen, öffnen wir die Konfigurationsdatei von SSH
sudo vim /etc/ssh/sshd_config
Suchen Sie nach dem Abschnitt, der als PasswordAuthentication
gekennzeichnet ist .
Kommentieren Sie die Zeile aus und setzen Sie den Wert auf no
Speichern und beenden.
Um die Änderungen zu implementieren, starten Sie den SSH-Daemon neu
sudo systemctl restart ssh
Jetzt können Sie ein neues Terminal starten und versuchen, sich mit dem Passwort anzumelden und sehen, ob die Passwortauthentifizierung deaktiviert wurde.
Schlusswort
Zu diesem Zeitpunkt sollten Sie Zugriff auf den Server haben, indem Sie die SSH-Schlüssel-basierte Authentifizierung verwenden, die auf Ihrem Remote-Server konfiguriert ist, und nicht das SSH-Passwort verwenden.
Ihr Server ist nun vollständig eingerichtet und verfügt über ein solides Sicherheitsfundament. Achten Sie darauf, Ihren öffentlichen Schlüssel sicher aufzubewahren. Weg von neugierigen Blicken 😀