Der erste und wichtigste Schritt zur Sicherung von Linux-Servern und -Systemen besteht darin, böswilligen Parteien den unerwünschten Zugriff zu verwehren. Die richtige Benutzerkontensteuerung ist eine der vielen Möglichkeiten, die Sicherheit Ihres Systems zu verbessern.

Ein gehärtetes Benutzerkonto schützt das System vor den häufigsten Angriffsmethoden der horizontalen oder vertikalen Rechteausweitung. Daher sind Sie als Linux-Systemadministrator auch dafür verantwortlich, Ihren Server durch effektive Sicherheitstechniken zu schützen.

Dieser Artikel behandelt einige grundlegende Sicherheitskontrollen für Benutzerkonten, um unnötigen Zugriff zu verhindern und mögliche Schlupflöcher für Systemkompromisse zu schließen.

1. Beschränken Sie den Zugriff auf das Root-Konto

Standardmäßig richtet jede Linux-Systeminstallation ein Root-Konto ein, auf das jeder von außen über SSH zugreifen kann. Der Zugriff auf das Root-Konto über SSH oder der Zugriff mehrerer Benutzer innerhalb des Systems kann jedoch zu Ablehnungsproblemen führen.

Beispielsweise kann sich ein Angreifer mit Brute Force als Root-Benutzer anmelden und Zugriff auf das System erhalten.

Um unnötigen Root-Zugriff von innerhalb/außerhalb des Linux-Systems einzuschränken, können Sie:

  • Fügen Sie einen weiteren Benutzer hinzu und ihm Root-Rechte gewähren
  • Deaktivieren Sie die SSH-Root-Anmeldung

Erstellen Sie einen neuen Superuser

Zu gewähren Sie sudo- oder root-Berechtigungen zu einem regulären Linux-Benutzerkonto hinzufügen, fügen Sie den Benutzer dem hinzu sudo wie folgt gruppieren:

usermod -aG sudo Benutzername

Wechseln Sie nun mit dem Befehl su zum Benutzerkonto und überprüfen Sie dessen Root-Rechte, indem Sie einen Befehl ausgeben, auf den nur der Root-Benutzer zugreifen kann:

su - Benutzername
sudo systemctl sshd neu starten

Das Aktivieren von sudo-Berechtigungen bietet einige gute Sicherheitsvorteile, wie zum Beispiel:

  • Sie müssen Root-Passwörter nicht mit normalen Benutzern teilen.
  • Es hilft Ihnen, alle Befehle zu überprüfen, die von normalen Benutzern ausgeführt werden, was bedeutet, dass es die Wer-, Wann- und Wo-Details der Befehlsausführung in der Datei speichert /var/log/secure Datei.
  • Außerdem können Sie die bearbeiten /etc/sudoers Datei, um die Superuser-Berechtigungen der regulären Benutzer einzuschränken. Sie können den Befehl verwenden su-l um die aktuellen Root-Berechtigungen eines Benutzers zu überprüfen.

Root-SSH-Anmeldung deaktivieren

Um den Root-SSH-Zugriff auf Ihrem System zu deaktivieren, öffnen Sie zunächst die Hauptkonfigurationsdatei.

sudo vim /etc/ssh/sshd_config

Kommentieren Sie nun die folgende Zeile aus, um die Root-Anmeldeberechtigungen festzulegen Nein:

PermitRootLogin-Nr

Speichern Sie die Datei und starten Sie die sshd Dienst durch Eingabe von:

sudo systemctl sshd neu starten

Wenn Sie nun versuchen, sich als Root-Benutzer per SSH in das System einzuloggen, erhalten Sie die folgende Fehlermeldung:

Zugang verweigert, versuche es bitte erneut.

2. Legen Sie Ablaufdaten für Konten fest

Eine weitere effektive Möglichkeit, unnötigen Zugriff zu kontrollieren, besteht darin, Ablaufdaten für Konten festzulegen, die für die vorübergehende Nutzung erstellt wurden.

Wenn beispielsweise ein Praktikant oder ein Mitarbeiter Zugriff auf das System benötigt, können Sie während der Kontoerstellung ein Ablaufdatum festlegen. Dies ist eine Vorsichtsmaßnahme für den Fall, dass Sie vergessen, das Konto manuell zu entfernen oder zu löschen, nachdem sie die Organisation verlassen haben.

Verwenden Sie die ändern Befehl mit das Dienstprogramm grep So rufen Sie Details zum Ablauf des Kontos für den Benutzer ab:

ändern -l Benutzername| grep-Konto

Ausgabe:

Konto läuft ab: nie

Wie oben gezeigt, gibt es kein Ablaufdatum aus. Verwenden Sie jetzt die Benutzermod Befehl mit dem -e Flag zum Festlegen des Ablaufdatums in der JJJJ-MM-TT Formatieren und überprüfen Sie die Änderung mit dem obigen Befehl change.

usermod -e 2021-01-25 Benutzername
ändern -l Benutzername| grep-Konto

3. Verbessern Sie die Passwortsicherheit des Kontos

Die Durchsetzung einer Richtlinie für starke Passwörter ist ein wichtiger Aspekt bei der Sicherung von Benutzerkonten, da Angreifer mit schwachen Passwörtern leicht in Ihre Systeme eindringen können rohe Gewalt, Dictionary- oder Rainbow-Table-Angriffe.

Die Wahl eines leicht zu merkenden Passworts kann zwar bequemer sein, eröffnet Angreifern aber auch Möglichkeiten, Passwörter mit Hilfe von online verfügbaren Tools und Wortlisten zu erraten.

Legen Sie das Ablaufdatum des Kennworts fest

Darüber hinaus bietet Linux einige Standardoptionen im Inneren /etc/logins.defs Datei, mit der Sie die Kontokennwortalterung festlegen können. Verwenden Sie die ändern Befehl und geben Sie die Ablaufdetails des Kennworts wie folgt ein:

ändern -l Benutzername | grep Tage
Variablen Standardwert Verwendung Idealer Wert
PASS_MAX_DAYS 9999 Die standardmäßige Anzahl von Tagen für die Verwendung eines Passworts, die von der Art Ihrer Kontoeinrichtung abhängt 40
PASS_MIN_DAYS 0 Verhindert, dass Benutzer ihr Passwort sofort ändern 5
PASS_MIN_LEN 5 Zwingt den Benutzer, Passwörter mit einer bestimmten Länge festzulegen 15
PASS_WARN_AGE 0 Warnt den Benutzer, das Kennwort zu ändern, bevor er dazu gezwungen wird 7

Für die in Gebrauch befindlichen Konten können Sie die Kennwortalterung mit Hilfe von steuern ändern Befehl zum Festlegen von PASS_MAX_DAYS, PASS_MIN_DAYS und PASS_WARN_AGE auf 40, 5 und 7.

ändern -M 40 -m 5 -W 7 Benutzername

Passwort-Hashes

Eine weitere Möglichkeit, die Passwortsicherheit des Kontos zu erhöhen, besteht darin, Passwort-Hashes darin zu speichern die Datei /etc/shadow. Hashes sind mathematische Einwegfunktionen, die das Passwort als Eingabe verwenden und eine nicht umkehrbare Zeichenfolge ausgeben.

Früher generierte das System auf Linux-Systemen immer dann, wenn ein Benutzer sein Passwort eingab, um sich anzumelden, seinen Hash und glich ihn mit dem gespeicherten ab /etc/passwd Datei.

Es gibt jedoch ein Problem mit dem passwd-Dateiberechtigungszugriff, das heißt, jeder mit Systemzugriff kann die Datei lesen und den Hash mit Regenbogentabellen knacken.

Daher speichert Linux jetzt die Hashes in der /etc/shadow Datei mit den folgenden Zugriffsberechtigungen:

ls -l /etc/shadow
1 root root 1626 7. Januar 13:56 /etc/shadow

Es ist immer noch möglich, Linux mit den alten Methoden zum Speichern von Hashes zu installieren. Sie können dies ändern, indem Sie die ausführen pwconv Befehl, sodass die Passwort-Hashes automatisch in der gespeichert werden /etc/shadow Datei. Ebenso können Sie die andere Methode aktivieren (/etc/passwd Datei) mit der pwunconv Befehl.

4. Entfernen Sie nicht verwendete Benutzerkonten

Ein Angreifer kann ungenutzte und abgelaufene Konten im System ausnutzen, indem er dieses Konto erneuert und es als legitimen Benutzer erscheinen lässt. Um ein inaktives Konto und zugehörige Daten zu entfernen, wenn ein Benutzer die Organisation verlässt, suchen Sie zuerst alle Dateien, die sich auf den Benutzer beziehen:

find / -user Benutzername

Deaktivieren Sie dann das Konto oder legen Sie ein Ablaufdatum wie oben beschrieben fest. Vergessen Sie nicht, die Dateien des Benutzers zu sichern. Sie können Dateien entweder einem neuen Besitzer zuweisen oder sie aus dem System entfernen.

Löschen Sie schließlich das Benutzerkonto mit dem Befehl userdel.

userdel -f Benutzername

5. Beschränken Sie den Fernzugriff auf eine bestimmte Benutzergruppe

Wenn Sie einen Webserver auf Ihrem Linux-Rechner hosten, müssen Sie möglicherweise nur bestimmten Benutzern erlauben, SSH per Fernzugriff auf das System zuzugreifen. Mit OpenSSL können Sie Benutzer einschränken, indem Sie überprüfen, ob sie zu einer bestimmten Gruppe gehören.

Erstellen Sie dazu eine Benutzergruppe mit dem Namen ssh_gp, Fügen Sie die Benutzer hinzu, denen Sie Fernzugriff auf die Gruppe gewähren möchten, und listen Sie die Benutzergruppeninformationen wie folgt auf:

sudo groupadd ssh_gp
sudo gpasswd -a Benutzername ssh_gp
Gruppen-Benutzername

Öffnen Sie nun die OpenSSL-Hauptkonfigurationsdatei, um die zulässige Benutzergruppe einzuschließen ssh_gp.

sudo vim /etc/ssh/sshd_config
AllowGroups ssh_gp

Denken Sie daran, die Zeile zu entkommentieren, um eine erfolgreiche Gruppenaufnahme sicherzustellen. Wenn Sie fertig sind, speichern und beenden Sie die Datei und starten Sie den Dienst neu:

sudo systemctl sshd neu starten

Aufrechterhaltung der Benutzerkontensicherheit unter Linux

Heutzutage hosten die meisten Organisationen kritische Infrastrukturen wie Webserver, Firewalls und Datenbanken Linux, und die Kompromittierung einer internen Komponente stellt eine erhebliche Bedrohung für das Ganze dar Infrastruktur.

Angesichts der Bedeutung der Einrichtung ist die Verwaltung und Sicherung von Benutzerkonten eine grundlegende Herausforderung für Linux-Administratoren. Dieser Artikel hat einige Sicherheitsmaßnahmen aufgelistet, die ein Kontoadministrator ergreifen muss, um das System vor potenziellen Bedrohungen durch ungeschützte Benutzerkonten zu schützen.

Das vollständige Handbuch zur Benutzerverwaltung in Linux

Die Verwaltung von Benutzern ist eine entscheidende Aufgabe, die jeder Linux-Systemadministrator beherrschen sollte. Hier ist die ultimative Anleitung zur Benutzerverwaltung für Linux.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Linux
  • Sicherheit
  • Benutzerkontensteuerung
  • Sicherheit
  • Sicherheitstipps
Über den Autor
Rumaisa Niazi (8 veröffentlichte Artikel)

Rumaisa ist freiberufliche Autorin bei MUO. Sie hat viele Rollen getragen, von einer Mathematikerin bis hin zu einer Enthusiastin für Informationssicherheit, und arbeitet jetzt als SOC-Analystin. Ihre Interessen umfassen das Lesen und Schreiben über neue Technologien, Linux-Distributionen und alles rund um Informationssicherheit.

Mehr von Rumaisa Niazi

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden