Einführung
Wenn Sie zum ersten Mal einen neuen Rocky Linux 8 Server erstellen, gibt es einige Konfigurationsschritte, die Sie frühzeitig als Teil des grundlegenden Setups durchführen sollten. Dies erhöht die Sicherheit und Benutzerfreundlichkeit Ihres Servers und bietet Ihnen eine solide Grundlage für nachfolgende Aktionen.
Schritt 1 — Als Root anmelden
Um sich auf Ihrem Server anzumelden, müssen Sie die öffentliche IP-Adresse des Servers kennen. Sie benötigen auch das Passwort oder, wenn Sie einen SSH-Schlüssel zur Authentifizierung installiert haben, den privaten Schlüssel für das Benutzerkonto root. Wenn Sie sich noch nicht auf Ihrem Server angemeldet haben, sollten Sie unserer Dokumentation folgen, wie Sie eine Verbindung zu Ihrem Droplet über SSH herstellen, in der dieser Vorgang im Detail beschrieben wird.
Wenn Sie noch nicht mit Ihrem Server verbunden sind, melden Sie sich jetzt als Benutzer root an, indem Sie den folgenden Befehl verwenden (ersetzen Sie den markierten Teil des Befehls durch die öffentliche IP-Adresse Ihres Servers):
Akzeptieren Sie die Warnung zur Host-Authentizität, wenn sie erscheint. Wenn Sie die Passwort-Authentifizierung verwenden, geben Sie Ihr Root-Passwort ein, um sich anzumelden. Wenn Sie einen SSH-Schlüssel verwenden, der mit einem Passwort geschützt ist, werden Sie möglicherweise aufgefordert, das Passwort jedes Mal einzugeben, wenn Sie den Schlüssel in jeder Sitzung zum ersten Mal verwenden. Wenn dies das erste Mal ist, dass Sie sich mit einem Passwort auf dem Server anmelden, werden Sie möglicherweise auch aufgefordert, das Root-Passwort zu ändern.
Über Root
Der Root-Benutzer ist der administrative Benutzer in einer Linux-Umgebung und verfügt über sehr weitreichende Berechtigungen. Aufgrund der erhöhten Privilegien des Root-Kontos wird davon abgeraten, es regelmäßig zu verwenden. Dies liegt daran, dass ein Teil der mit dem Root-Konto verbundenen Macht die Fähigkeit ist, sehr zerstörerische Änderungen auch versehentlich vorzunehmen.
Daher ist der nächste Schritt, ein alternatives Benutzerkonto mit einem reduzierten Einflussbereich für die tägliche Arbeit einzurichten. Dieses Konto wird immer noch in der Lage sein, bei Bedarf erhöhte Berechtigungen zu erlangen.
Schritt 2 – Ein neues Benutzerkonto erstellen
Sobald Sie als Root angemeldet sind, können Sie das neue Benutzerkonto erstellen, das wir von nun an verwenden werden, um uns anzumelden.
Dieses Beispiel erstellt einen neuen Benutzer namens sammy, den Sie jedoch durch einen beliebigen Benutzernamen Ihrer Wahl ersetzen sollten:
Als Nächstes legen Sie ein starkes Passwort für den Benutzer sammy
fest:
Sie werden aufgefordert, das Passwort zweimal einzugeben. Nachdem Sie dies getan haben, ist Ihr Benutzer einsatzbereit. Zunächst geben wir diesem Benutzer jedoch zusätzliche Berechtigungen, um das sudo
-Befehl verwenden zu können. Dies ermöglicht es uns, Befehle als root auszuführen, wenn erforderlich.
Schritt 3 – Gewährung von administrativen Berechtigungen
Jetzt haben wir ein neues Benutzerkonto mit regulären Kontoberechtigungen. Gelegentlich müssen wir jedoch administrative Aufgaben ausführen.
Um zu vermeiden, dass wir uns aus unserem regulären Benutzer ausloggen müssen, um uns als Benutzer root anzumelden, können wir das sogenannte „Superuser“- oder root-Berechtigungen für unser reguläres Konto einrichten. Dadurch kann unser regulärer Benutzer Befehle mit administrativen Berechtigungen ausführen, indem er das Wort sudo
vor jeden Befehl stellt.
Um diese Berechtigungen für unseren neuen Benutzer hinzuzufügen, müssen wir den neuen Benutzer zur wheel-Gruppe hinzufügen. Standardmäßig dürfen auf Rocky Linux 8 Benutzer, die zur wheel-Gruppe gehören, den sudo
-Befehl verwenden.
Als root führen Sie diesen Befehl aus, um Ihren neuen Benutzer zur Gruppe wheel hinzuzufügen (ersetzen Sie das markierte Wort durch Ihren neuen Benutzernamen):
Jetzt können Sie, wenn Sie als Ihr regulärer Benutzer angemeldet sind, sudo
vor Befehle eingeben, um Aktionen mit Superuser-Berechtigungen durchzuführen.
Schritt 4 — Einrichten einer grundlegenden Firewall
Firewalls bieten eine grundlegende Sicherheitsebene für Ihren Server. Diese Anwendungen sind dafür verantwortlich, den Datenverkehr zu jedem Port auf Ihrem Server zu verweigern, außer zu den Ports/Diensten, die Sie ausdrücklich genehmigt haben. Rocky Linux hat einen Dienst namens firewalld
, der diese Funktion ausführt. Ein Werkzeug namens firewall-cmd
wird verwendet, um firewalld
-Firewall-Richtlinien zu konfigurieren.
Hinweis: Wenn Ihre Server bei DigitalOcean gehostet werden, können Sie optional DigitalOcean Cloud Firewalls anstelle von firewalld
verwenden. Wir empfehlen, immer nur eine Firewall gleichzeitig zu verwenden, um Konflikte bei Regeln zu vermeiden, die schwer zu debuggen sein können.
Installieren Sie zuerst firewalld
:
Die Standardkonfiguration von firewalld
erlaubt ssh
-Verbindungen, daher können wir die Firewall sofort einschalten:
Überprüfen Sie den Status des Dienstes, um sicherzustellen, dass er gestartet wurde:
Output● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-02-06 16:39:40 UTC; 3s ago
Docs: man:firewalld(1)
Main PID: 13180 (firewalld)
Tasks: 2 (limit: 5059)
Memory: 22.4M
CGroup: /system.slice/firewalld.service
└─13180 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
Beachten Sie, dass es sowohl aktiv
als auch aktiviert
ist, was bedeutet, dass es standardmäßig startet, wenn der Server neu gestartet wird.
Jetzt, da der Dienst läuft, können wir das Dienstprogramm firewall-cmd
verwenden, um Richtlinieninformationen für die Firewall abzurufen und festzulegen.
Zunächst listen wir die bereits erlaubten Dienste auf:
Outputpublic (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Um zu sehen, welche zusätzlichen Dienste Sie nach Namen aktivieren können, geben Sie ein:
Um einen Dienst hinzuzufügen, der erlaubt sein soll, verwenden Sie das Flag --add-service
:
Dies würde den Dienst http
hinzufügen und eingehenden TCP-Verkehr zum Port 80
zulassen. Die Konfiguration wird aktualisiert, nachdem Sie die Firewall neu geladen haben:
Vergessen Sie nicht, dass Sie die Firewall (mit Diensten oder Ports) explizit für alle zusätzlichen Dienste öffnen müssen, die Sie später konfigurieren möchten.
Schritt 5 — Aktivieren des externen Zugriffs für Ihren regulären Benutzer
Jetzt, da wir einen regulären nicht-root-Benutzer für den täglichen Gebrauch haben, müssen wir sicherstellen, dass wir ihn verwenden können, um eine SSH-Verbindung zu unserem Server herzustellen.
Hinweis: Bevor Sie überprüfen, ob Sie sich mit Ihrem neuen Benutzer anmelden und sudo
verwenden können, empfehlen wir, als root angemeldet zu bleiben. Auf diese Weise können Sie bei Problemen Fehlerbehebungen durchführen und erforderliche Änderungen als root vornehmen. Wenn Sie einen DigitalOcean-Droplet verwenden und Probleme mit Ihrer root-SSH-Verbindung haben, können Sie sich über die DigitalOcean-Konsole in den Droplet einloggen.
Der Prozess zum Konfigurieren des SSH-Zugriffs für Ihren neuen Benutzer hängt davon ab, ob das root-Konto Ihres Servers ein Passwort oder SSH-Schlüssel zur Authentifizierung verwendet.
Wenn das Root-Konto die Authentifizierung per Passwort verwendet
Wenn Sie sich bei Ihrem root-Konto mit einem Passwort angemeldet haben, ist die Passwortauthentifizierung für SSH aktiviert. Sie können sich mit Ihrem neuen Benutzernamen über SSH anmelden, indem Sie eine neue Terminalsession öffnen und SSH mit Ihrem neuen Benutzernamen verwenden:
Nach Eingabe Ihres regulären Benutzerpassworts werden Sie angemeldet. Denken Sie daran, wenn Sie ein Befehl mit administrativen Rechten ausführen müssen, geben Sie sudo
wie folgt ein:
Sie werden bei der ersten Verwendung von sudo
in jeder Sitzung (und gelegentlich danach) nach Ihrem regulären Benutzerpasswort gefragt.
Um die Sicherheit Ihres Servers zu erhöhen, empfehlen wir dringend, SSH-Schlüssel anstelle der Passwortauthentifizierung einzurichten. Befolgen Sie unsere Anleitung zum Einrichten von SSH-Schlüsseln unter Rocky Linux 8, um zu erfahren, wie Sie die authentifizierungsbasierte Authentifizierung konfigurieren können.
Wenn das Root-Konto die SSH-Schlüsselauthentifizierung verwendet
Wenn Sie sich in Ihr Root-Konto mit SSH-Schlüsseln eingeloggt haben, ist die Passwortauthentifizierung für SSH deaktiviert. Sie müssen eine Kopie Ihres öffentlichen Schlüssels zur Datei ~/.ssh/authorized_keys
des neuen Benutzers hinzufügen, um sich erfolgreich anzumelden.
Da sich Ihr öffentlicher Schlüssel bereits in der Datei ~/.ssh/authorized_keys
des Root-Kontos auf dem Server befindet, können wir diese Datei und Verzeichnisstruktur auf unser neues Benutzerkonto kopieren.
Der einfachste Weg, die Dateien mit den richtigen Berechtigungen und Besitzverhältnissen zu kopieren, ist der Befehl rsync
. Dieser kopiert das Root-Benutzerverzeichnis .ssh
, erhält die Berechtigungen und ändert die Dateibesitzer, alles in einem einzigen Befehl. Stellen Sie sicher, dass Sie die markierten Teile des Befehls unten entsprechend dem Namen Ihres regulären Benutzers ändern:
Hinweis: Der Befehl rsync
behandelt Quellen und Ziele, die mit einem Schrägstrich am Ende enden, anders als solche ohne abschließenden Schrägstrich. Beim Verwenden von rsync
unten stellen Sie sicher, dass das Quellverzeichnis (~/.ssh
) keinen abschließenden Schrägstrich enthält (überprüfen Sie, ob Sie ~/.ssh/
verwenden).
Wenn Sie versehentlich einen abschließenden Schrägstrich zum Befehl hinzufügen, kopiert rsync
den Inhalt des Root-Benutzer-Verzeichnisses ~/.ssh
in das Home-Verzeichnis des Benutzers sudo
, anstatt die gesamte Verzeichnisstruktur von ~/.ssh
zu kopieren. Die Dateien befinden sich an der falschen Position und SSH kann sie nicht finden und verwenden.
Öffnen Sie nun in einem neuen Terminal auf Ihrem lokalen Rechner eine neue SSH-Sitzung mit Ihrem nicht-Root-Benutzer:
Sie sollten in das neue Benutzerkonto eingeloggt sein, ohne ein Passwort verwenden zu müssen. Denken Sie daran, wenn Sie ein Befehl mit administrativen Privilegien ausführen müssen, geben Sie sudo
davor ein, wie folgt:
Sie werden bei der Verwendung von sudo
beim ersten Mal in jeder Sitzung (und gelegentlich danach) nach Ihrem regulären Benutzerpasswort gefragt.
Zusammenfassung
Zu diesem Zeitpunkt haben Sie eine solide Grundlage für Ihren Server. Sie können jetzt jede benötigte Software auf Ihrem Server installieren.
Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-rocky-linux-8