Einführung
Wenn Sie zum ersten Mal einen neuen Rocky Linux 9 Server erstellen, gibt es einige Konfigurationsschritte, die Sie frühzeitig als Teil der ersten Einrichtung durchführen sollten. Dies erhöht die Sicherheit und Benutzerfreundlichkeit Ihres Servers und bietet Ihnen eine solide Grundlage zum Aufbau.
Schritt 1 — Als Root einloggen
Um sich auf Ihrem Server anzumelden, müssen Sie die öffentliche IP-Adresse Ihres 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 Root-Benutzerkonto. Wenn Sie sich noch nicht auf Ihrem Server angemeldet haben, sollten Sie unserer Dokumentation folgen, wie Sie sich mit SSH mit Ihrem Droplet verbinden können, was diesen Prozess im Detail behandelt.
Wenn Sie noch nicht mit Ihrem Server verbunden sind, melden Sie sich jetzt als Root-Benutzer mit dem folgenden Befehl an (ersetzen Sie den markierten Teil des Befehls durch die öffentliche IP-Adresse Ihres Servers):
- ssh root@your_server_ip
Akzeptieren Sie die Warnung zur Hostauthentizität, wenn sie angezeigt wird. Wenn Sie die Authentifizierung über ein Passwort verwenden, geben Sie Ihr root-Passwort ein, um sich anzumelden. Wenn Sie einen SSH-Schlüssel verwenden, der durch ein Passwort geschützt ist, werden Sie möglicherweise aufgefordert, das Passwort beim ersten Mal, wenn Sie den Schlüssel in jeder Sitzung verwenden, einzugeben. Wenn Sie sich zum ersten Mal 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 Rechte. Aufgrund der erhöhten Rechte 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.
Als nächstes sollten Sie ein alternatives Benutzerkonto mit einem reduzierten Einflussbereich für die tägliche Arbeit einrichten. Dieses Konto wird weiterhin erhöhte Rechte erlangen können, wenn dies erforderlich ist.
Schritt 2 — Erstellen eines neuen Benutzers
Wenn Sie als root angemeldet sind, können Sie ein neues Benutzerkonto erstellen, das Sie von nun an verwenden werden.
Dieses Beispiel erstellt einen neuen Benutzer namens sammy, aber Sie sollten ihn durch einen beliebigen Benutzernamen ersetzen, den Sie bevorzugen:
- adduser sammy
Als nächstes legen Sie ein starkes Passwort für den Benutzer sammy
fest:
- passwd sammy
Sie werden aufgefordert, das Passwort zweimal einzugeben. Nachdem Sie dies getan haben, ist Ihr Benutzer bereit zur Verwendung, aber zuerst werden Sie diesem Benutzer zusätzliche Privilegien geben, um das sudo
-Kommando zu verwenden. Dies ermöglicht es Ihnen, Befehle als root auszuführen, wenn nötig.
Schritt 3 — Gewährung administrativer Privilegien
Jetzt haben Sie ein neues Benutzerkonto mit regulären Kontoberechtigungen. Sie müssen jedoch manchmal administrative Aufgaben ausführen.
Um zu vermeiden, dass Sie sich von Ihrem regulären Benutzer abmelden und als Benutzer root wieder anmelden müssen, können Sie einrichten, was als „Superuser“ oder root -Berechtigungen für Ihr reguläres Konto bekannt ist. Dies ermöglicht es Ihrem regulären Benutzer, Befehle mit administrativen Berechtigungen auszuführen, indem Sie das Wort sudo
vor jedem Befehl setzen.
Um diese Berechtigungen Ihrem neuen Benutzer hinzuzufügen, müssen Sie den neuen Benutzer zur wheel-Gruppe hinzufügen. Standardmäßig dürfen auf Rocky Linux 9 Benutzer, die zur wheel-Gruppe gehören, das sudo
-Kommando 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):
- usermod -aG wheel sammy
Jetzt können Sie, wenn Sie als Ihr regulärer Benutzer angemeldet sind, sudo
vor Befehle eingeben, um Aktionen mit Superuser-Berechtigungen auszuführen.
Schritt 4 — Einrichten einer Firewall
Firewalls bieten ein grundlegendes Sicherheitsniveau 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
, um diese Funktion auszuführen. Ein Tool namens firewall-cmd
wird verwendet, um Firewall-Richtlinien von firewalld
zu konfigurieren.
Hinweis: Wenn Ihre Server bei DigitalOcean laufen, können Sie optional DigitalOcean Cloud Firewalls anstelle von firewalld
verwenden. Sie sollten immer nur eine Firewall gleichzeitig verwenden, um Konflikte zwischen Regeln zu vermeiden, die möglicherweise schwer zu debuggen sind.
Installieren Sie zunächst firewalld
:
- dnf install firewalld -y
Die Standardkonfiguration von firewalld
erlaubt ssh
-Verbindungen, daher können Sie die Firewall sofort einschalten:
- systemctl start firewalld
Überprüfen Sie den Status des Dienstes, um sicherzustellen, dass er gestartet wurde:
- systemctl status firewalld
Output● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-09-13 18:26:19 UTC; 1 day 2h ago
Docs: man:firewalld(1)
Main PID: 15060 (firewalld)
Tasks: 4 (limit: 10938)
Memory: 28.1M
CPU: 6.127s
CGroup: /system.slice/firewalld.service
└─15060 /usr/bin/python3 -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 Sie das Dienstprogramm firewall-cmd
verwenden, um Richtlinieninformationen für die Firewall abzurufen und festzulegen.
Zunächst listen wir auf, welche Dienste bereits zugelassen sind:
- firewall-cmd --permanent --list-all
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 die zusätzlichen Dienste zu sehen, die Sie nach Namen aktivieren können, geben Sie ein:
- firewall-cmd --get-services
Um einen Dienst hinzuzufügen, der zugelassen werden soll, verwenden Sie das Flag --add-service
:
- firewall-cmd --permanent --add-service=http
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:
- firewall-cmd --reload
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 — Externen Zugriff für Ihren regulären Benutzer aktivieren
Jetzt, da Sie einen regulären, nicht-root-Benutzer für den täglichen Gebrauch haben, müssen Sie sicherstellen, dass Sie ihn zum SSH-Zugriff auf Ihren Server verwenden können.
Hinweis: Bis Sie überprüft haben, dass Sie sich als neuer Benutzer anmelden und sudo
verwenden können, sollten Sie als root angemeldet bleiben. Auf diese Weise können Sie bei Problemen Fehler beheben und alle erforderlichen Ä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 am Droplet anmelden.
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 Passwortauthentifizierung verwendet
Wenn Sie sich in Ihr root-Konto mit einem Passwort eingeloggt haben, ist die Passwortauthentifizierung für SSH aktiviert. Sie können sich mit Ihrem neuen Benutzerkonto per SSH anmelden, indem Sie eine neue Terminalsession öffnen und SSH mit Ihrem neuen Benutzernamen verwenden:
- ssh sammy@your_server_ip
Nach Eingabe des Passworts Ihres regulären Benutzers werden Sie angemeldet. Denken Sie daran, wenn Sie ein Befehl mit administrativen Rechten ausführen müssen, geben Sie vorher sudo
ein, wie folgt:
- sudo command_to_run
Sie werden beim ersten Mal pro Sitzung (und gelegentlich danach) nach dem Passwort Ihres regulären Benutzers gefragt, wenn Sie sudo
verwenden.
Um die Sicherheit Ihres Servers zu verbessern, sollten Sie SSH-Schlüssel einrichten, anstatt die Passwortauthentifizierung zu verwenden. Befolgen Sie diese Anleitung zum Einrichten von SSH-Schlüsseln unter Rocky Linux 9, um zu erfahren, wie Sie die authentifizierungsbasierte Schlüsselkonfiguration durchführen können.
Wenn das Root-Konto die SSH-Schlüsselauthentifizierung verwendet
Wenn Sie sich in Ihrem Root-Konto mit SSH-Schlüsseln angemeldet 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 Sie diese Datei und Verzeichnisstruktur in Ihr neues Benutzerkonto kopieren.
Der einfachste Weg, die Dateien mit den richtigen Besitz- und Berechtigungseinstellungen zu kopieren, ist die Verwendung des rsync
-Befehls. Dies kopiert das Root-Benutzer-Verzeichnis .ssh
, bewahrt die Berechtigungen und ändert die Dateibesitzer in einem einzigen Befehl. Stellen Sie sicher, dass Sie die markierten Teile des unten stehenden Befehls ändern, um den Namen Ihres regulären Benutzers anzupassen:
Hinweis: Der Befehl rsync
behandelt Quellen und Ziele, die mit einem abschließenden Schrägstrich enden, anders als solche ohne abschließenden Schrägstrich. Wenn Sie rsync
verwenden, 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 sudo
-Benutzers anstelle des gesamten Verzeichnisstrukturs von ~/.ssh
. Die Dateien befinden sich an der falschen Stelle, und SSH kann sie nicht finden und verwenden.
- rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy
Öffnen Sie nun in einem neuen Terminal auf Ihrem lokalen Rechner eine neue SSH-Sitzung mit Ihrem nicht Root-Benutzer:
- ssh sammy@your_server_ip
Sie sollten sich im neuen Benutzerkonto angemeldet haben, ohne ein Passwort verwenden zu müssen. Denken Sie daran, wenn Sie einen Befehl mit administrativen Rechten ausführen müssen, geben Sie sudo
davor ein, wie folgt:
- sudo command_to_run
Sie werden beim ersten Mal pro Sitzung (und gelegentlich danach) nach Ihrem regulären Benutzerpasswort gefragt, wenn Sie sudo
verwenden.
Zusammenfassung
An diesem Punkt haben Sie eine solide Grundlage für Ihren Server. Sie können jetzt jede Software installieren, die Sie auf Ihrem Server benötigen. Sie können beispielsweise damit beginnen, den Nginx-Webserver zu installieren.
Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-rocky-linux-9