GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ubuntu Server Setup – Best Practices für die Sicherheit

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

aus
sudo 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

aus
sudo 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 😀


Linux
  1. Best Practices für die OpenSSH-Sicherheit

  2. Richten Sie den Urbackup-Server auf Ubuntu 20.04 ein

  3. Best Practices für die Sicherheit von Windows-Servern

  4. Best Practices für WordPress-Sicherheit unter Linux

  5. So installieren Sie einen PostgreSQL-Server unter Ubuntu 18.04

Gewusst wie:Ersteinrichtung des Fedora 21-Servers

Gewusst wie:Ersteinrichtung des Debian 8.2-Servers

Postfix-Mailserver-Setup unter Ubuntu 14.04

Ersteinrichtung des Servers mit Ubuntu 18.04

Postfix-Mailserver-Setup auf Ubuntu 20.04

Wie aktiviere ich den Root-Benutzer in Ubuntu Server?