Erhöhen Sie direkt nach der Installation der Server-Version von Ubuntu 16.04 LTS die Sicherheit. Erstellen Sie einen alternativen Superuser mit eingeschränkten Rechten, machen Sie die Anmeldung durch eine öffentliche Schlüsselauthentifizierung sicherer und richten Sie eine Basis-Firewall ein. Mit der folgenden Schritt-für-Schritt-Anleitung schaffen Sie eine solide Basis für alle folgenden Aktionen.
Schritt 1: Root Login
Für den Server-Login müssen Sie die öffentliche IP-Adresse kennen. Zudem ist ein Passwort notwendig. Wenn Sie einen SSH-Schlüssel zur Identifizierung installiert haben, brauchen Sie den privaten Schlüssel für den Benutzer root. Loggen Sie sich per ssh als root ein:
ssh root@SERVER_IP_ADRESS
(Ersetzen Sie das großgeschriebene Wort durch die IP-Adresse Ihres Ubuntu-Servers.)
Akzeptieren Sie eine eventuelle Warnung über die Host-Authentizität und schließen Sie die Anmeldung unter Angabe des Passworts oder des privaten Schlüssels ab. Wenn es die erste Anmeldung am Server mit Passwort ist, fordert Ubuntu Sie zum Ändern des Passworts auf.
Über Root
Unter Linux ist der Root-Anwender der Betriebssystemadministrator mit maximalen Rechten. Eine regelmäßige Verwendung dieses Accounts wird nicht empfohlen. Zu schnell kann es zu ungewollten Systemänderungen kommen. Daher geht es im zweiten Schritt um die Einrichtung eines rechtlich eingeschränkten Benutzers – ideal für die alltägliche Arbeit.
Schritt 2: Einen neuen Benutzer einrichten
Sie sind als root angemeldet? Gut, dann ist es an der Zeit für einen weiteren Benutzer. Das folgende Beispiel erzeugt einen neuen Benutzer z.B. mit dem Namen peter. Wählen Sie Ihren gewünschten Benutzernamen:
adduser peter
Es folgen ein paar Fragen, beginnend mit dem gewünschten Passwort. Geben Sie ein starkes Passwort ein. Die zusätzlichen Informationen können Sie bei Bedarf überspringen. Drücken Sie die Enter-Taste.
Schritt 3: Root-Rechte
Jetzt gibt es einen neuen Benutzer mit regulären Rechten. Nichtsdestotrotz müssen Sie gelegentlich administrative Aufgaben mit den erforderlichen Rechten ausführen.
Selbstverständlich können Sie sich als normaler Benutzer anmelden und als Administrator wieder anmelden. Aber das ist umständlich und vermeidbar. Besser: Sie richten einen Superuser ein und statten einen normalen Account mit Root-Rechten aus. Auf diese Weise kann der jeweilige Anwender Kommandos ausführen, die administrative Rechte erfordern. Die Kommandozeilenbefehle beginnen dafür mit dem Wort sudo.
Fügen Sie den neu erstellten Benutzer der Gruppe sudo hinzu, dann ist dieser mit den zusätzlichen Rechten ausgestattet. In Ubuntu 16.04 LTS können Mitglieder der Gruppe sudo automatisch das Kommando sudo verwenden.
Sie sind bisher weiterhin als root angemeldet, für die Einteilung in die Sudo-Gruppe tippen Sie:
usermod -ag sudo peter
Der neue Benutzer, in unserem Beispiel peter, kann jetzt Kommandos mit Rechten für Superuser ausführen.
Hinweis:
Es empfiehlt sich, nun den Root-Login zu deaktivieren. Eine Anleitung dazu finden Sie im folgenden Artikel.
Schritt 4: Öffentliche Schlüsselauthentifizierung hinzufügen (empfohlen)
Erhöhen Sie die Sicherheit Ihres Servers, indem Sie die öffentliche Schlüsselauthentifizierung für weitere Anwender einrichten.
Schlüsselpaar generieren
Sie haben noch kein SSH-Schlüsselpaar, bestehend aus einem öffentlichen und privaten Schlüssel? Dann müssen Sie zunächst ein SSH-Schlüsselpaar generieren.
Sollten Sie bereits einen SSH-Schlüssel besitzen, dann können Sie diesen Step überspringen und direkt zum Schritt Den öffentlichen Schlüssel kopieren übergehen.
Mit diesem Kommando generieren Sie ein neues Schlüsselpaar, geben Sie das neue Schlüsselpaar nun ins Terminal Ihres lokalen Computers ein:
ssh-keygen
Folgendes wird angezeigt:
ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa).
Drücken Sie die Enter-Taste und akzeptieren Sie Dateinamen und Pfad. Als Nächstes folgt die Aufforderung zur Eingabe einer Passwortphrase. Diese sichert den Schlüssel ab, das Feld kann auch leer bleiben.
Hinweis: Bleibt das Passwortfeld leer, können Sie den privaten Schlüssel zur Authentifizierung verwenden, ohne eine Passwortphrase anzugeben. Wenn Sie eine Passwortphrase eintragen, sind für die Anmeldung der private Schlüssel und die Passwortphrase notwendig. Selbstverständlich ist empfiehlt es es, den Schlüssel mit einem Passwort zu schützen. Das ist die sicherste Methode. Aber auch eine Schlüssel ohne zusätzlichen Passwortschutz ist sicherer als eine Standard-Passwortauthentifizierung.
Bei der Generierung wird im Home-Verzeichnis des localusers (im .ssh-Verzeichnis) ein privater Schlüssel id_rsa und ein öffentlicher Schlüssel id_rsa.pub erzeugt.
Sicherheitshinweis: Teilen Sie den privaten Schlüssel nur mit Personen, die Zugriff auf Ihren Server haben sollen.
Den öffentlichen Schlüssel kopieren
Wenn das SSH-ist erfolgreich generiert ist, können Sie den öffentlichen Schlüssel auf den neuen Server kopieren. Verwenden Sie dafür das Script ssh-copy-id, das auf der lokalen Maschine installiert sein muss. Der öffentliche Schlüssel lässt sich jetzt für Benutzer mit bekannten Anmeldedaten einrichten. Führen Sie den Befehl unter Angabe des Users und der Server-IP-Adresse aus:
ssh-copy-id peter@SERVER_IP_ADDRESS
Nach Eingabe des Passworts wird der öffentliche Schlüssel beim Remote-User der Datei .ssh/authorized_keys hinzugefügt. Anschließend können Sie den privaten Schlüssel verwenden.
Schritt 5: Die Passwortauthentifizierung deaktivieren
Der neue Benutzer kann nun SSH-Schlüssel für die Anmeldung nutzen. Sie können jetzt die Authentifizierung nur mit Passwort deaktivieren und die Sicherheit des Servers auf diese Weise erhöhen. Der SSH-Zugriff auf den Server ist in diesem Fall nur noch mit öffentlicher Schlüsselauthentifizierung möglich. Neben der Konsole ist der Zugriff ausschließlich mit Besitz desjenigen privaten Schlüssels möglich, der zum installierten öffentlichen Schlüssel passt.
Wichtiger Hinweis: Deaktivieren Sie die Passwortauthentifizierung nur, wenn Sie Schritt 4 erfolgreich durchgeführt haben. Andernfalls sperren Sie sich selbst aus und können nicht mehr auf den Server zugreifen.
Mit den folgenden Schritten deaktivieren Sie die Passwortauthentifizierung.
- Öffnen Sie die SSH-Daemon-Konfiguration:
sudo nano /etc/ssh/sshd_config
- Suchen Sie die Zeile mit „PasswordAuthentication“, löschen Sie das vorstehende „#“ und ändern Sie den Wert zu „no“:
PasswordAuthentication no
- Per Default korrekt und nötig sind zudem:
PubkeyAuthentication yes ChallengeResponseAuthentication no
Speichern Sie die Änderungen in der Datei sshd_config durch die Tastenkombination „CTRL-X“, dann „Y“ und drücken Sie die Enter-Taste.
Zum Neuladen des SSH-Daemon geben Sie ein:
sudo systemctl reload sshd
Die Passwortauthentifizierung ist jetzt deaktiviert und der Zugriff auf den Ubuntu-Server nur noch per SSH-Schlüsselauthentifizierung möglich.
Schritt 6: Die Anmeldung testen
Testen Sie die neue Konfiguration, bevor Sie sich auf dem Server anmelden. Trennen Sie die vorhandene Verbindung nicht, bis die Anmeldung via SSH erfolgreich war.
Loggen Sie sich mit dem neuen Account beim Server ein und verwenden Sie dafür ein neues Terminal auf dem lokalen Rechner:
ssh peter@SERVER_IP_ADDRESS
Für die Anmeldung wird der private Schlüssel aus den Schritten 4 und 5 verwendet.
Schritt 7: Eine Firewall einrichten
Mit der UFW-Firewall gestatten Sie Verbindungen nur zu bestimmten Diensten. Mit der Anwendung lässt sich eine Basis-Firewall sehr einfach einrichten.
Verschiedene Anwendungen können Profile bei UFW registrieren, UFW übernimmt das Management. Die Verbindung zum Server erfolgt über den Dienst OpenSSH, dieser hat ein registriertes Profil. Sie können dies prüfen durch die Eingabe von:
sudo ufw app list
Das Ergebnis sollte sein:
Output Available applications: OpenSSH
Damit die nächste Anmeldung klappt, müssen Sie SSH-Verbindungen durch Eingabe des folgenden Kommandos erlauben:
sudo ufw allow OpenSSH
Anschließend wird die Firewall aktiviert:
sudo ufw enable
Zum Fortsetzen tippen Sie y und drücken Sie die Enter-Taste.
Mit dieser Grundeinstellung ist die Server-Version von Ubuntu 16.04 LTS sicherer und einsatzbereit. Sie können jetzt sämtliche benötigte Software installieren.
Sie haben weitere Sicherheitstipps für Ubuntu 16.04? Schicken Sie uns einen Kommentar. Wir freuen uns auf Ihr Feedback.
- Die besten Contao Templates & Themes - 15. November 2023
- Was ist cURL? - 10. September 2023
- 9 Tipps für Unternehmen, um die Corona-Krise zu überstehen - 31. März 2020