LFCA, wie man Linux -Systemsicherheit verbessert - Teil 20

LFCA, wie man Linux -Systemsicherheit verbessert - Teil 20

Wie wir alle wissen, ist der Root -Nutzer King und verliert unbegrenzte Privilegien über das Linux -System. Nichtwurzelbenutzer sind jedoch auf grundlegende Aufgaben beschränkt. Darüber hinaus erhalten Sudo -Benutzer nur einen gewissen Grad an Root -Berechtigungen, die vom Stammbenutzer angesehen werden, um bestimmte erhöhte Aufgaben auszuführen.

Es treten Probleme auf, wenn reguläre Benutzer einen unkontrollierten Zugriff auf Ressourcen haben oder es eskaliert werden, um unbeabsichtigt zu rosten. Dies ist ein schwerwiegendes Sicherheitsrisiko, das Verstöße, unerwünschte Änderungen und im schlimmsten Fall zum Absturz des Systems verursachen kann. Ein weiteres potenzielles Risiko besteht darin, dass Dateien weniger sichere Dateiberechtigungen haben. Zum Beispiel können Startdateien mit Schreibberechtigungen für globale Benutzer problemlos geändert oder beschädigt werden, was zu einem kaputten System führt.

[Möglicherweise mögen Sie auch: Nützliche Tipps zum Sichern von Daten und Linux]

Während wir physische, Netzwerk- und Datensicherheit implementieren können, kann ein böswilliger Benutzer die Sicherheitsmaßnahmen umgehen und solche Sicherheitslücken nutzen. Aus diesem Grund sollte die Sicherheit des Dateisystems ernst genommen werden. Es bietet eine zusätzliche Verteidigungsschicht angesichts von Angriffen oder Insider -Bedrohungen von böswilligen Mitarbeitern, die nicht das starke Aufheben der Umgehung von Sicherheitsmaßnahmen durchführen müssen, um auf Dateien zuzugreifen.

In der Systemsicherheit konzentrieren wir uns auf die folgenden Schlüsselpunkte:

  • Zugriffsrechte - Benutzer- und Gruppenberechtigungen.
  • Erzwingen Sie die Kennwortrichtlinien mit dem PAM -Modul.

Zugriffsrechte - Benutzer- und Gruppentrennung

Sie müssen wahrscheinlich gehört haben, dass alles unter Linux als Datei angesehen wird. Und wenn dies nicht der Fall ist, ist es ein Prozess. Jede Datei auf einem Linux -System gehört einem Benutzer und einem Gruppenbenutzer. Es trägt auch Dateiberechtigungen für 3 Benutzerkategorien: Benutzer (u), Gruppe (G), und andere (Ö). Die Berechtigungen sind in Lesen, Schreiben und Ausführen dargestellt ( rwx ) für jede Benutzerkategorie.

RWX RWX RWX User Group Andere andere 

Wie bereits erwähnt, können Sie im Abschnitt Linux -Grundlagen die Dateiberechtigungen mit dem Langformat des Befehls LS wie gezeigt anzeigen.

$ ls -l 
Auflistung von Dateien unter Linux

Nur um die Berechtigungen zu reduzieren, werden normalerweise durch neun Zeichen dargestellt. Die ersten drei Zeichen repräsentieren die Zugriffsrechte des tatsächlichen Benutzers, der die Datei besitzt. Der zweite Zeichen von Zeichen repräsentiert die Berechtigungen des Gruppenbesitzers der Datei. Schließlich der letzte Satz für andere oder globale Benutzer. Diese Charaktere sind ständig in der lesen, schreiben, ausführen (rwx) Befehl.

Nach den Berechtigungen haben wir Benutzer- und Gruppeneigentümer, gefolgt von der Datei- oder Verzeichnisgröße, dem Datum der Änderung und zuletzt den Namen der Datei.

Ändern der Datei-/Verzeichnisberechtigungen und Eigentümerschaften

Benutzerberechtigungen von Dateien und Verzeichnissen können als fit geändert werden. Die Faustregel lautet, das Sicherheitsprinzip für Privilegien zu verwenden. Einfach ausgedrückt, stellen Sie sicher, dass Benutzer die Mindestzugriffsrechte oder Berechtigungen erhalten.

Das Prinzip der geringsten Berechtigungen beschränkt die Benutzer nur auf bestimmte Rollen und minimiert das Risiko, dass Angreifer kritische Daten auf und ändern, indem ein Benutzerkonto mit niedrigem Auftritt genutzt wird. Es reduziert auch die Angriffsoberfläche und begrenzt die Malware -Ausbreitung, falls der Angreifer die Kontrolle über Ihr System übernimmt.

Wenn ein Benutzer nur den Inhalt einer Datei oder eines Verzeichnisses anzeigen muss, sollten er nicht erteilt werden, um Berechtigungen auszuführen oder zu schreiben. Ermöglichen Sie auf sehr grundlegender Ebene nur die geringsten Berechtigungen und Eigentümer, die vom Benutzer erforderlich sind, um Aufgaben zu erledigen. Wir haben angepasst, wie Benutzerberechtigungen und Eigentümer in Dateien/Verzeichnissen mithilfe von CHMOD- und Chown -Befehlen im Basis -Linux -Befehls Thema geändert werden können.

Sticky Bit -Berechtigungsmodus

Damit der Systemadministrator die Verwaltung von Berechtigungen leichter hat. Eine der besonderen Berechtigungen, die angewendet werden können, um die Löschung und Änderung einer Datei oder eines Verzeichnisses einzuschränken, ist das Sticky -Bit.

Sticky Bit

In einem Szenario, in dem ein gemeinsames Verzeichnis von allen Benutzern im System oder des Netzwerks zugegriffen werden kann, besteht ein potenzielles Risiko, dass einige Benutzer die Dateien im Verzeichnis löschen oder ändern können. Dies ist unerwünscht, wenn Sie die Integrität des Verzeichnisinhalts beibehalten möchten. Und hier kommt das klebrige Stück ins Spiel.

Ein Sticky -Bit ist eine spezielle Dateiberechtigte, die in einer Datei oder einem gesamten Verzeichnis festgelegt ist. Es gewährt nur den Eigentümer dieser Datei/des Verzeichni. Kein anderer Benutzer kann die Datei/das Verzeichnis löschen oder ändern. Es hat den symbolischen Wert von T und ein numerischer Wert von 1000.

Verwenden Sie das Verzeichnis, um ein klebriges Stück auf einem Verzeichnis einzuschalten CHMOD -Befehl folgendermaßen:

$ chmod +t Directory_name 

Im folgenden Beispiel haben wir ein klebriges Stück auf das genannte Verzeichnis angewendet prüfen. Im Falle eines Verzeichnisses erben alle Inhalte die klebrigen Bitberechtigungen. Sie können die klebrigen Bitberechtigungen mit dem überprüfen ls -ld Befehl. Achten Sie darauf, die zu bemerken T Symbol am Ende der Dateiberechtigungen.

$ ls -ld Test 
Stellen Sie das Klebebit in Linux ein

Wenn ein anderer Benutzer versucht, das Verzeichnis zu löschen oder die Datei im Verzeichnis zu ändern, werden sie mit a begrüßt Zugriff verweigert Fehler.

Klebrige Bitgenehmigung verweigert

Und das ist das Kern der Stick -Bit -Datei -Erlaubnis.

Überwachung von SUID & SGID -Berechtigungen

Der Suid (Setzen Sie die Benutzer -ID) ist eine weitere spezielle Dateiberechtigung, mit der ein anderer regulärer Benutzer eine Datei mit den Dateiberechtigungen des Dateibesitzers ausführen kann. Es wird normalerweise durch einen symbolischen Wert bezeichnet S im Teil der Dateiberechtigungen des Benutzers anstelle einer X die Ausführungsberechtigungen darstellen. Die SUID hat einen numerischen Wert von 4000.

Der Sgid, (Set Group ID) ermöglicht es einem regulären Benutzer, die Gruppenberechtigungen des Dateigruppenbesitzers zu erben. Eher als das X Für die Ausführung von Berechtigungen sehen Sie eine S Im Gruppenteil der Dateiberechtigungen. Der Sgid hat einen numerischen Wert von 2000.

So bequem sie sich auch herausstellen, die, die Suid Und Sgid Berechtigungen sind mit Sicherheitsrisiken verbunden und sollten um alle Kosten vermieden werden. Dies liegt daran, dass sie regulären Benutzern besondere Berechtigungen gewähren. Wenn ein Eindringling, der sich als regulärer Benutzer ausgibt Suid Ein bisschen darauf eingestellt, können sie diese Lücke verwenden und das System ausnutzen.

Um alle Dateien mit zu finden Suid Bit in Linux eingestellt. Führen Sie den Befehl Find als Root -Benutzer aus.

$ find / -perm -4000 Typ -f 

Für Verzeichnisse läuft:

$ find / -perm -4000 Typ -d 

Um alle Dateien mit zu finden Sgid Bit Set Run:

$ find / -perm -2000 Typ -f 

Für Verzeichnisse ausführen:

$ find / -perm -2000 Typ -d 

Um das zu entfernen Suid Führen Sie in einer Datei den Befehl chmod wie gezeigt aus:

$ chmod u-s/path/to/Datei 

Um das SGID -Bit in einer Datei zu entfernen, führen Sie den Befehl aus:

$ chmod g-s Dateiname/Pfad/to/Datei 

Erzwingen Sie die Kennwortrichtlinien mit dem PAM -Modul

Es ist nicht ungewöhnlich, dass Benutzer schwache Passwörter festlegen. Eine gute Zahl ist kurz, einfach und leicht erratener Passwörter festgelegt, um das Vergessen während des Logins zu vermeiden. Während bequem, können schwache Passwörter mit Brute-Force-Angriffskripten leicht verletzt werden.

Der Pam Modul ( Steckbare Authentifizierungsmodul ) ist ein Modul, mit dem Systemadministratoren Kennwortrichtlinien auf Linux -Systemen durchsetzen können. Um dies zu erreichen, brauchen Sie die pam_pwqualität Modul, das von der bereitgestellt wird libpam_pwqualität Bibliothek. Der pam_pwqualität Das Modul überprüft die Stärke eines Kennworts mit einer Reihe von Regeln und einem Systemwörterbuch und zeigt schwache Kennwortauswahl.

So installieren Sie die pam_pwqualität Modul auf Ubuntu 18.04 und spätere Versionen rennen:

$ sudo apt installieren Sie libpam_pwqualität 

Für Rhel / Centos 8, Führen Sie den Befehl aus:

$ sudo dnf Installieren Sie libpwqualität 

Die Konfigurationsdatei wird am folgenden Ort gefunden:

  • Auf Debian-Systemen - /etc/pam.D/Common-Password
  • Auf Redhat -Systemen - /etc/pam.D/System-Auth

Konfigurieren der Passwortrichtlinie

Bevor wir anfangen, die zu ändern Pam Konfigurationsdatei, lassen Sie uns zunächst in Betracht ziehen, Erkenntnisse über die Kennwortaling -Steuerelemente zu sammeln.

Details zur Alterung von Passwortaling

Diese können in der gefunden werden /etc/login.Defs Datei.

Die Datei enthält die folgenden Schlüsselkennwortsteuerungen:

  • Pass_max_days: Maximale Anzahl von Tagen kann ein Passwort verwendet werden.
  • Pass_min_days: Mindestzahl. von Tagen zwischen den Passwortänderungen zulässig.
  • Pass_warn_age: Anzahl der Tage, die vor Ablauf eines Passworts angegeben sind.

Die Standardwerte sind unten angegeben.

Linux -Passwort Alterung

Der Pass_max_days Attribut beschränkt die Anzahl der Tage, an denen ein Benutzer sein Passwort verwenden kann. Wenn dieser Wert erreicht ist oder das Kennwort abläuft, ist der Benutzer gezwungen, sein Passwort zu ändern, um sich beim System anzumelden. Standardmäßig wird dieser Wert auf festgelegt 99999, was übersetzt 273 Jahre. Dies macht für die Sicherheit nicht viel Sinn, da der Benutzer sein Passwort für sein gesamtes Leben weiter verwenden kann.

Sie können dies auf einen sinnvollen Wert setzen, z. B. 30 Tage wie gezeigt.

Pass_max_days 30 

Nach 30 -tägiger Vergrößerung wird der Benutzer gezwungen, sein Passwort in einen anderen zu ändern.

Der Pass_min_days Das Attribut wird in der Mindestdauer dargelegt, die Benutzer vor dem Ändern ihres Kennworts verwenden können. Was bedeutet das? Wenn beispielsweise dieser Wert auf 15 Tage festgelegt ist, kann der Benutzer sein Passwort nicht erneut ändern, bevor 15 Tage verstrichen.

Pass_max_days 15 

Der Pass_warn_age Das Attribut gibt an, wie viele Tage ein Benutzer vor dem drohenden Ablauf seines Passworts warnen, bevor er abläuft. Zum Beispiel können Sie dies wie gezeigt auf 7 Tage setzen.

Pass_max_days 7 

NOTIZ: Diese Passwortkontrollen funktionieren nicht mit bereits bestehenden Konten. Sie werden nur auf neue Konten angewendet, die nach Definieren der Regeln erstellt wurden.

Festlegen der Passwortkomplexität mit dem PAM -Modul

Bevor Sie die bearbeiten /etc/pam.D/Common-Password Datei, eine Sicherungskopie erstellen. In diesem Beispiel haben wir die erstellt Common-Password.Bak Sicherungskopie -Datei.

$ sudo cp /etc /pam.D/Common-Password/etc/pam.D/Common-Password.Bak 

Öffnen Sie dann die Datei.

$ sudo vim /etc /pam.D/Common-Password 

Suchen Sie die unten gezeigte Linie.

Passwort erfordert PAM_PWQUALITY.Also wiederholen = 3 
Festlegen der Passwortkomplexität mit PAM

Der wiederholen Die Option legt die maximale Anzahl fest, mit der Sie das richtige Passwort eingeben müssen, bevor Sie einen Fehler erhalten. Standardmäßig ist dies auf 3 gesetzt. Dies ist nur eine Option und wir werden mehrere Optionen enthalten.

Fügen Sie der Zeile die folgenden Attribute hinzu:

minlen = 10 DIFOK = 3 lcredit = -1 ucredit = -1 dcRedit = -1 ocredit = -1 reject_username 

Lassen Sie uns diese Attribute ausfertigen.

  • Minlen = 10: Legt die minimal akzeptable Größe für das Passwort fest. In diesem Fall 10 Zeichen.
  • diffok = 3: Dies ist die maximale Anzahl von Zeichen, die im vorherigen Passwort vorhanden sind.
  • lcredit = -1: Dies ist die minimale Anzahl von Kleinbuchstaben, die im Passwort vorhanden sein sollten.
  • ucredit = -1: Das ist die maximale Anzahl von Kleinbuchstaben, die im Passwort vorhanden sein sollten.
  • DCREDIT = -1: Die minimale Anzahl numerischer Zeichen, die im Passwort definiert werden sollten.
  • ocredit = -1: Die minimale Anzahl von Sonderzeichen e.g @, #und das sollte im Passwort definiert werden.
  • reject_username: Diese Option löst die Ablehnung des Passworts aus, wenn das Passwort der Benutzername entweder im geraden oder im umgekehrten Format ist.

Wenn Sie versuchen, einen neuen Benutzer zu erstellen, der die Kennwortrichtlinien nicht vornimmt, werden Sie wie gezeigt auf Fehler stoßen.

Erstellen Sie einen neuen Benutzer unter Linux
Zusammenfassung

Dadurch schließt sich das Thema zu den Grundlagen der Systemsicherheit und der Sicherheitsfundamentaler im Allgemeinen ab. Im gesamten Kapitel haben wir das Licht auf grundlegende Sicherheitsmaßnahmen ausgelöst, die Sie implementieren können, um Ihr Linux -System vor böswilligen Nutzern wie Hackern oder verärgerten Mitarbeitern zu schützen.

Werden Sie ein Linux Foundation Certified IT Associate (LFCA)