5 einfache Tipps zur Sicherung Ihres Linux-Servers 1

5 einfache Tipps zur Sicherung Ihres Linux-Servers

Linux-Server sind das Rückgrat des modernen Internets. Heutzutage läuft fast jede Website und jeder Dienst, auf den Sie über einen Webbrowser zugreifen können, auf einer Linux-Distribution. Hier zeigen wir Ihnen, wie Sie Ihren Linux-Server sichern können.

Notiz: Dieses Tutorial wurde mit einem Ubuntu-Server erstellt, sollte aber auch für andere Linux-Distributionen gelten, einschließlich Ihres lokalen Webservers.

1. Entfernen Sie den Root-SSH-Zugriff

Eine der schnellsten Möglichkeiten, Ihren Ubuntu-Server zu sichern, besteht darin, Ihren SSH-Daemon zu sichern, indem Sie Ihren Root-SSH-Zugriff deaktivieren. Standardmäßig lässt der OpenSSH-Server zu, dass sich jede eingehende Verbindung als Root-Benutzer anmeldet.

Wenn Sie beispielsweise den folgenden Befehl auf einem unsicheren Server ausführen, erhalten Sie eine Anmeldeaufforderung:

ssh root@insecure.server.ip.address

Dies kann ein Problem darstellen, da Ihr Server dadurch offen und anfällig für einen Passwort-Brute-Force-Angriff bleibt. Um dies zu beheben, melden Sie sich bei Ihrem Linux-Server an und aktualisieren Sie die Konfigurationsdatei Ihres SSH-Daemons.

Sobald Sie sich auf Ihrem Linux-Server befinden, bearbeiten Sie die SSH-Konfigurationsdatei:

sudo nano /etc/ssh/sshd_config
Secure Ubuntu Server Tips 07 Sshd-Konfigurationsstandard

Suchen Sie in GNU Nano nach der PermitRootLogin-Variablen, indem Sie drücken Strg + W und tippen PermitRootLogin.

Secure Ubuntu Server Tips 08 Permitrootlogin-Variable

Ändern Sie den Wert von PermitRootLogin von „yes“ in „no“ und speichern Sie dann die Datei, indem Sie drücken Strg + Ödann Strg + x.

Um die neue Einstellung zu übernehmen, laden Sie den SSH-Daemon des Servers neu durch systemctl:

sudo systemctl restart ssh
Sichere Ubuntu-Server-Tipps 09 SSH-Server neu laden

2. Verwenden Sie ein öffentliches Schlüsselpaar für den SSH-Zugriff

Eine weitere schnelle Möglichkeit, Ihren Linux-Server zu sichern, besteht darin, ein öffentliches Schlüsselpaar zwischen Ihrem lokalen und Ihrem SSH-Benutzerkonto zu erstellen. Dieser Ansatz überspringt den Passwort-Anmeldeprozess und authentifiziert Sie automatisch bei Ihrem Remote-Server.

Um ein öffentliches Schlüsselpaar zu erstellen, müssen Sie zuerst den folgenden Befehl auf Ihrem lokalen Computer ausführen:

ssh-keygen

Das Keygen-Programm fragt Sie nach einer Reihe von Details über den Schlüssel, den Sie erstellen möchten. Sie können diese Optionen bedenkenlos auf den Standardeinstellungen belassen, indem Sie auf drücken Eintreten drei Mal.

Sichere Ubuntu-Server-Tipps 10 Generieren Sie den SSH-Schlüssel

Exportieren Sie Ihr neues öffentliches Schlüsselpaar mithilfe von auf Ihren Remote-Server ssh-copy-id Programm. Dies ist ein einfaches Dienstprogramm, das sowohl die lokalen als auch die Remote-Computer für die Public-Key-Authentifizierung über SSH vorbereitet.

ssh-copy-id ramces@my.server.ip.address
Sichere Ubuntu-Server-Tipps 11 Ssh-Copy-ID-Server

Melden Sie sich bei Ihrem Remote-Computer an, indem Sie den folgenden Befehl ausführen:

ssh ramces@my.server.ip.address

Es ist auch möglich, Ihren Linux-Server weiter zu sichern, indem Sie die Anmeldeaufforderung in SSH entfernen. Öffnen Sie die Konfigurationsdatei Ihres Daemons mit dem folgenden Befehl:

sudo nano /etc/ssh/sshd_config

Finden Sie die PasswordAuthentication Variable und ändere ihren Wert von „yes“ auf „no“.

Sichere Ubuntu-Server-Tipps 13 Deaktivieren Sie die Kennwortauthentifizierung

Laden Sie Ihren SSH-Daemon neu, indem Sie den folgenden Befehl ausführen:

sudo systemctl restart sshd

3. Härten Sie die Firewall Ihres Linux-Servers

Neben der Einschränkung des SSH-Zugriffs können Sie auch die Sicherheit Ihres Linux-Servers verbessern, indem Sie Ihre Firewall konfigurieren. Standardmäßig akzeptiert ein neuer Linux-Rechner alle eingehenden Verbindungen von jedem Port.

Dies kann ein Problem darstellen, da Ihr Server dadurch anfällig für einen Port-Scanning-Angriff wird. Beispielsweise kann ein Angreifer Ihren Computer nach unsicheren Ports scannen und diese verwenden, um einen geeigneten Exploit zu finden.

Sichere Ubuntu-Server-Tipps 14 Beispiel für Port-Scanning

Eine Möglichkeit, dies zu beheben, besteht darin, ufw zu installieren, einen einfachen Firewall-Client, der die Ports und Adressen kontrollieren kann, die für die Außenwelt verfügbar sind.

Führen Sie den folgenden Befehl aus, um ufw in Ubuntu zu installieren:

sudo apt install ufw
Sichere Ubuntu-Server-Tipps 15 Installation von Ufw

Legen Sie die Standardregeln für ufw fest. Dies sind die Richtlinien, denen Ihre Firewall für jeden Port folgt, den Sie nicht anpassen. Es empfiehlt sich sicherzustellen, dass Sie alle eingehenden Verbindungen blockieren:

sudo ufw default deny incoming
sudo ufw default allow outgoing
Sichere Ubuntu-Server-Tipps 16 Standardregeln ändern

Konfigurieren Sie Ihre Firewall für die Dienste, die Sie auf Ihrem Computer ausführen möchten. Wenn Sie beispielsweise die folgenden Befehle ausführen, können Sie sich über SSH anmelden und einen Webserver hosten:

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

Zuletzt müssen Sie Ihre neue Firewall-Konfiguration aktivieren, indem Sie sie ausführen sudo ufw enable. Außerdem können Sie überprüfen, ob Ihre Firewall online ist, indem Sie diesen Befehl ausführen:

sudo ufw status
Secure Ubuntu Server Tips 17 Ufw-Aktivstatus

4. Erstellen Sie für jeden Dienst einen neuen Benutzer

Standardmäßig gehört jede Datei und jedes Programm in einem Linux-System einem bestimmten Benutzer und einer bestimmten Gruppe. Um das System zu ändern, müssen Sie die richtigen Berechtigungen für die richtigen Ordner haben.

Eine Möglichkeit, die Sicherheit Ihres Linux-Servers zu erhöhen, besteht darin, für jeden neuen Dienst ein neues Benutzerkonto anzulegen. Dieser Ansatz ermöglicht es Ihnen, die Berechtigungen für jeden Dienst auf ein eigenes Benutzerkonto zu beschränken.

Sichern Sie Ubuntu Server Tips 18-Ordner mit mehreren Besitzern

Führen Sie dazu die folgenden Befehle aus:

sudo useradd -s /bin/bash -d /home/new-service -m -G sudo new-service
sudo passwd new-service
  • Das -s Flag setzt die System-Shell für das neue Benutzerkonto. In meinem Fall verwendet mein neues Konto Bash für seine Shell.
  • Beide -d und -m Flags legen das Standardbenutzerverzeichnis für das neue Konto fest.
  • Das -G flag hingegen fügt das neue Konto allen von Ihnen angegebenen sekundären Gruppen hinzu. Wenn Sie beispielsweise das neue Konto zur sudo-Gruppe hinzufügen, kann es Superuser-Befehle ausführen.
  • Das passwd Mit dem Befehl können Sie ein neues Passwort für das neue Benutzerkonto festlegen.

Sobald Sie fertig sind, können Sie Ihr neues Benutzerkonto verwenden, indem Sie sich entweder von Ihrem aktuellen Konto abmelden oder ausführen su new-service.

Secure Ubuntu Server Tips 19 Neuer Benutzer läuft

5. Härten Sie den Kernel Ihres Servers

Der Kernel ist einer der wichtigsten Teile eines Linux-Systems und der Klebstoff, der die Hardware Ihres Computers mit Ihrer Software verbindet. Wenn Sie beispielsweise Ihren eigenen Linux-Kernel kompilieren, können Sie die Unterstützung für exotische Hardware und Funktionen aktivieren.

Sichere Ubuntu-Server-Tipps 20 Erstellen Sie Menuconfig

Abgesehen davon dient der Kernel auch als Root-Prozess des Betriebssystems. Das Sichern des Kernels ist einer der wichtigsten Teile beim Sichern Ihres Linux-Servers.

Eine der schnellsten Möglichkeiten, Ihren Kernel zu sichern, ist durch sysctl. Dies ist ein integriertes Dienstprogramm, mit dem Sie die Laufzeitoptionen des Linux-Kernels optimieren können.

Sichere Ubuntu-Server-Tipps 21 Sysctl-Manpage

Es ist jedoch wichtig, dies zu beachten sysctl deckt nicht den gesamten Kernel-Härtungsprozess ab, da die Sicherung des Kernels weitgehend davon abhängt, was Sie davon benötigen.

Wenn Sie das wissen, können Sie die folgenden Befehle ausführen, um zu verhindern, dass Ihr Kernel Diagnoseinformationen meldet:

sudo sysctl kernel.kptr_restrict=2
sudo sysctl kernel.dmesg_restrict=1
sudo sysctl kernel.kexec_load_disabled=1
Sichere Ubuntu-Server-Tipps 22 Sysctl-Kernel-Tweaks

Sie können auch die folgenden Befehle ausführen, um Ihren Kernel anzuweisen, alle gefälschten Verbindungsanforderungen an Ihren Server zu verwerfen:

sudo sysctl net.ipv4.tcp_syncookies=1
sudo sysctl net.ipv4.tcp_rfc1337=1
Sichere Ubuntu-Server-Tipps 23 Sysctl Net Flood Tweak

Diese Befehle hingegen zwingen den Kernel, jede eingehende Verbindung zur Maschine zu validieren:

sudo sysctl net.ipv4.conf.all.rp_filter=1
sudo sysctl net.ipv4.conf.default.rp_filter=1
Sichere Ubuntu-Server-Tipps 24 Sysctl-Netzfilterverbindungen

Schließlich verhindert der folgende Befehlssatz jede eingehende Verbindung, um den Netzwerkverkehr an ein anderes Gateway umzuleiten. Dadurch wird verhindert, dass Ihre Maschine einem Man-in-the-Middle-Angriff zum Opfer fällt.

sudo sysctl net.ipv4.conf.all.accept_redirects=0
sudo sysctl net.ipv4.conf.default.accept_redirects=0
sudo sysctl net.ipv4.conf.all.secure_redirects=0
sudo sysctl net.ipv4.conf.default.secure_redirects=0
sudo sysctl net.ipv6.conf.all.accept_redirects=0
sudo sysctl net.ipv6.conf.default.accept_redirects=0
sudo sysctl net.ipv4.conf.all.send_redirects=0
sudo sysctl net.ipv4.conf.default.send_redirects=0
Sichere Ubuntu-Server-Tipps 25 Sysctl Net Mitm-Verhinderung

Tipps: Abgesehen von den oben genannten Tipps können Sie auch diese Open-Source-Tools verwenden, um Ihren Linux-Server zu sichern.

Häufig gestellte Fragen

Ich habe meinen lokalen Rechner verloren. Ist es immer noch möglich, sich über SSH bei meinem Ubuntu-Server anzumelden?

In den meisten Fällen sollte es nicht möglich sein, sich über SSH anzumelden, wenn nur die Public-Key-Authentifizierung verwendet wird. Es ist jedoch möglicherweise immer noch möglich, auf die SSH-Eingabeaufforderung zuzugreifen, wenn Sie die nicht deaktiviert haben PasswordAuthentication Variable.

Abgesehen davon können Sie entweder physisch auf die Maschine zugreifen und „/etc/ssh/sshd_config“ aktualisieren oder von Ihrem VPS-Anbieter aus auf die Root-Konsole zugreifen.

Mein Server hat sowohl iptables als auch ufw. Muss ich beide für meine Firewall konfigurieren?

Nein! Sowohl iptables als auch ufw sind Firewall-Software, die die Kontrolle über dieselben Adressbereiche und Ports übernehmen. Sie müssen nur einen davon konfigurieren, um eine funktionierende Firewall auf Ihrem Linux-Server zu haben.

Ist es möglich, die Superuser-Rechte eines von mir erstellten Benutzers zu entfernen?

Ja! Es ist möglich, einen bestehenden Benutzer aus einer Gruppe zu entfernen. Verwenden Sie die usermod Dienstprogramm. Laufen zum Beispiel usermod -G video new-service entfernt den Benutzer „new-service“ aus der Gruppe „sudo“ und fügt ihn der Gruppe „video“ hinzu.

Ramces Rot
Ramces Rot

Ramces ist ein Technologieautor, der sein ganzes Leben mit Computern gelebt hat. Als produktiver Leser und Student der Anthropologie ist er ein exzentrischer Charakter, der Artikel über Linux und alles Mögliche schreibt.

Unterstützen Sie unsere Arbeit ❤️

Wenn Ihnen dieser Artikel gefallen hat, können Sie uns mit einem Trinkgeld unterstützen, damit wir weiterhin großartige Inhalte veröffentlichen können.

Sichere Zahlung mit PayPal