Sicherheit ist ein wesentlicher Aspekt für jeden Server, den Sie in eine Produktionsumgebung einführen. Die neueste Version von Rocky Linux 8 kommt mit robusten Sicherheitsfunktionen. Allerdings sind nicht alle von ihnen standardmäßig aktiv oder richtig konfiguriert, sodass eine Neuinstallation immer anfällig für Hacks und Einbruchsangriffe ist.
In diesem Leitfaden werfen wir einen Blick auf einige wichtige Aufgaben, die auf dem Server für die Ersteinrichtung und grundlegende Serverhärtung durchgeführt werden müssen.
Voraussetzungen
- Ein frischer Rocky Linux 8 Server auf der Atlantic.Net Cloud Platform
- Ein auf Ihrem Server konfiguriertes Root-Passwort
Schritt 1 – Aktualisieren Sie Ihren Server
Melden Sie sich vor dem Start bei Ihrem Rocky Linux 8-Server über SSH oder die VNC-Konsole an, die Sie hier finden:https://cloud.atlantic.net/
Nach der Anmeldung müssen Sie die neuesten Sicherheitspatches und Updates auf Ihrem Server installieren. Führen Sie den folgenden Befehl aus, um sie zu aktualisieren.
dnf update -y
Atlantic.Net-Server werden als Minimalinstallationen eingerichtet, um zu vermeiden, dass unnötige Pakete installiert und ungenutzt bleiben. Sie können einige grundlegende Softwarepakete installieren, indem Sie den folgenden Befehl ausführen:
dnf install wget git curl bind-utils tree net-tools -y
Schritt 2 – Ändern Sie das Standard-Root-Passwort
Wenn Sie einen neuen Server starten, werden Ihre Server automatisch mit sicheren Passwörtern versehen. Es wird jedoch empfohlen, Ihr Root-Passwort danach alle 60-90 Tage zu ändern, um sicherzustellen, dass es sicher bleibt. Sie sollten ein Root-Passwort mit mindestens 8 Zeichen erstellen, einschließlich Kleinbuchstaben, Großbuchstaben und Zahlen.
Sie können das Root-Passwort mit dem folgenden Befehl ändern:
passwd root
Schritt 3 – Erstellen Sie einen neuen Benutzer mit sudo-Berechtigungen
Erstellen Sie zunächst einen neuen Benutzer mit dem folgenden Befehl:
adduser user1
Legen Sie als Nächstes das Passwort user1 mit dem folgenden Befehl fest:
passwd user1
Nachdem Sie einen neuen Benutzer erstellt haben, müssen Sie diesen Benutzer zur Gruppe sudo wheel hinzufügen. Sobald Sie sie in Rocky Linux 8 zur sudo-Wheel-Gruppe hinzugefügt haben, werden ihnen automatisch sudo/root-Berechtigungen zugewiesen.
Führen Sie den folgenden Befehl aus, um den Benutzer zur sudo-Wheel-Gruppe hinzuzufügen.
usermod -aG wheel user1
Nachdem Sie den Benutzer mit sudo/root-Berechtigungen erstellt haben, melden Sie sich mit dem folgenden Befehl bei user1 an:
su - user1
Führen Sie nach der Anmeldung den folgenden Befehl mit sudo aus:
sudo dnf update -y
Sie werden aufgefordert, das user1-Passwort einzugeben, um Ihr System zu aktualisieren.
Dadurch wird bestätigt, dass Ihr sudo-Benutzer wie erwartet funktioniert.
Schritt 4 – Root-Anmeldung über SSH deaktivieren
Wir haben bereits einen Admin-Benutzer mit sudo/root-Berechtigungen erstellt, um alle Aufgaben auszuführen. Sie müssen den Root-Benutzer nicht über SSH auf Ihrem Server verfügbar und angreifbar halten, daher müssen Sie die Root-Anmeldung über SSH deaktivieren.
Bearbeiten Sie die SSH-Hauptkonfigurationsdatei mit dem folgenden Befehl:
sudo nano /etc/ssh/sshd_config
Suchen Sie die folgende Zeile:
PermitRootLogin yes
Ändern Sie es in die folgende Zeile:
PermitRootLogin no
Speichern und schließen Sie die Datei und starten Sie dann den SSH-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart sshd
Schritt 5 – SSH-Standardport ändern
Um den SSH-Port zu ändern, bearbeiten Sie die SSH-Hauptkonfigurationsdatei:
sudo nano /etc/ssh/sshd_config
Suchen Sie die folgende Zeile:
#Port 22
Ändern Sie es in die folgenden Zeilen:
Port 2020
Speichern und schließen Sie die Datei und starten Sie dann den SSH-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart sshd
Sie können sich jetzt mit dem folgenden Befehl per SSH bei Ihrem Atlantic-Server anmelden:
ssh [email protected] -p 2020
Schritt 6 – Konfigurieren Sie eine Firewall
firewall-cmd --state
Sie sollten sehen, dass die Firewall nicht läuft:
not running
Es wird empfohlen, die Firewall zu aktivieren und die erforderlichen Ports für den externen Zugriff zuzulassen.
Aktivieren Sie zuerst den Dienst firewalld mit dem folgenden Befehl:
systemctl start firewalld systemctl enable firewalld
Lassen Sie als Nächstes den SSH-Port 2020 mit dem folgenden Befehl durch die Firewall:
sudo firewall-cmd --permanent --add-port=2020/tcp
Laden Sie als Nächstes den Dienst firewalld neu, um die Änderungen zu übernehmen:
sudo firewall-cmd --reload
Sie können nun die hinzugefügten Ports mit dem folgenden Befehl überprüfen:
sudo firewall-cmd --list-ports
Sie sollten die folgende Ausgabe sehen:
2020/tcp
Wenn auf Ihrem Server ein Webserver installiert ist und ausgeführt wird, müssen Sie möglicherweise den HTTP- und HTTPS-Dienst durch die Firewall zulassen, um über das Internet darauf zugreifen zu können.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
Führen Sie den folgenden Befehl aus, um POP3-, IMAP- und SMTP-Dienste für den externen Zugriff zuzulassen:
sudo firewall-cmd --permanent --add-service=pop3s sudo firewall-cmd --permanent --add-service=imaps sudo firewall-cmd --permanent --add-service=smtp
Schritt 7 – Installieren Sie NTP für die Zeitsynchronisierung
Es wird auch empfohlen, einen NTP-Server zu installieren, um die Uhrzeit und das Datum von Computern über das Netzwerk zu synchronisieren, um sie genau und aktuell zu halten.
Installieren Sie zuerst den NTP-Server mit dem folgenden Befehl:
sudo dnf install chrony -y
Sobald der NTP-Dienst installiert ist, starten Sie ihn und aktivieren Sie ihn so, dass er beim Systemneustart gestartet wird:
sudo systemctl start chronyd sudo systemctl enable chronyd
Jetzt ist Ihr NTP-Server installiert und aktualisiert die Zeit des Servers ständig vom NTP-Server.
Schritt 8 – IPv6 deaktivieren
Wenn Sie IPv6 nicht verwenden, wird empfohlen, es aus Sicherheitsgründen zu deaktivieren.
Überprüfen Sie zunächst mit dem folgenden Befehl, ob IPv6 auf Ihrer Rocky Linux 8-Installation aktiviert ist:
ip a | grep inet6
Sie sollten die folgenden Zeilen sehen, wenn IPv6 aktiviert ist:
inet6 ::1/128 scope host inet6 fe80::200:d8ff:fe62:817/64 scope link inet6 fe80::200:aff:fe62:817/64 scope link
Sie müssen eine neue Konfigurationsdatei erstellen, um IPv6 zu deaktivieren:
sudo nano /etc/sysctl.d/70-ipv6.conf
Fügen Sie die folgenden Zeilen hinzu:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Speichern und schließen Sie die Datei und laden Sie dann die Konfigurationsdatei mit dem folgenden Befehl neu:
sudo sysctl --load /etc/sysctl.d/70-ipv6.conf
Sie sollten die folgende Ausgabe sehen:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob IPv6 deaktiviert ist:
ip a | grep inet6
Wenn der Befehl nichts zurückgibt, haben Sie bestätigt, dass IPv6 auf allen Ihren Netzwerkschnittstellen deaktiviert wurde.
Schritt 9 – Erstellen Sie einen Swap Space
Ein Swap ist ein Speicherplatz auf einer Festplatte, der verwendet wird, wenn der physische RAM-Speicher voll ist. Wenn Ihrem Server der RAM ausgeht, werden alle inaktiven Seiten aus dem RAM in den Auslagerungsbereich verschoben.
Wenn Sie eine neue Instanz auf Atlantic.Net starten, wird keine Swap-Partition erstellt. Sie müssen einen Auslagerungsbereich manuell erstellen, nachdem Sie die neue Instanz gestartet haben.
Im Allgemeinen sollte der Auslagerungsspeicher die Hälfte Ihres vorhandenen Arbeitsspeichers betragen. Wenn Sie über 1 GB RAM verfügen, müssen Sie eine 512 MB große Datei erstellen.
Erstellen Sie zunächst einen Auslagerungsbereich (von 512 MB) mit dem folgenden Befehl:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
Ausgabe:
524288+0 records in 524288+0 records out 536870912 bytes (537 MB, 512 MiB) copied, 10.3523 s, 51.9 MB/s
Sie können die Blockgröße mit der Formel 1024 x 512 MB =524288 berechnen.
Nachdem Sie den Auslagerungsbereich erstellt haben, formatieren Sie ihn mit dem folgenden Befehl:
sudo mkswap /swapfile
Ausgabe:
mkswap: /swapfile: insecure permissions 0644, 0600 suggested. Setting up swapspace version 1, size = 512 MiB (536866816 bytes) no label, UUID=8981408a-549d-47aa-a99a-72870b65212d
Legen Sie als Nächstes mit dem folgenden Befehl die richtigen Berechtigungen für die /swapfile fest:
sudo chown root:root /swapfile sudo chmod 0600 /swapfile
Aktivieren Sie als Nächstes den Auslagerungsbereich mit dem folgenden Befehl:
sudo swapon /swapfile
Überprüfen Sie als Nächstes den Auslagerungsbereich mit dem folgenden Befehl:
swapon -s
Ausgabe:
Filename Type Size Used Priority /swapfile file 524284 0 -2
Als nächstes müssen Sie den Eintrag für die Auslagerungsdatei zur /etc/fstab hinzufügen, damit er auch nach einem Neustart aktiv bleibt.
nano /etc/fstab
Fügen Sie die folgende Zeile hinzu:
/swapfile swap swap defaults 0 0
Speichern und schließen Sie die Datei und überprüfen Sie dann den Auslagerungsbereich mit dem folgenden Befehl:
free -m
Sie sollten die folgende Ausgabe sehen:
total used free shared buff/cache available Mem: 1817 263 100 68 1452 1329 Swap: 511 0 511
Schlussfolgerung
In der obigen Anleitung haben wir einige grundlegende Schritte zum Sichern Ihres Rocky Linux 8-Servers erklärt. Sie können jetzt damit fortfahren, jede Anwendung in der gesicherten Umgebung zu hosten – probieren Sie es auf Ihrem VPS-Hosting-Konto von Atlantic.Net aus!