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

Linux-Sicherheit:8 weitere Systemsperrkontrollen

Die Systemsperre muss keine große oder schreckliche Aufgabe sein, die die abgestumpftesten Sysadmin-Herzen mit Schrecken erfüllt. Nein, es ist nicht intuitiv oder notwendigerweise trivial, einen Linux-Server ordnungsgemäß zu sperren, aber es ist auch keine Quantenphysik. In meinem vorherigen Artikel Sysadmin-Sicherheit:8 Linux-Sperrkontrollen habe ich acht wesentliche Änderungen behandelt, die Sie unabhängig von der Funktion an jedem Linux-System vornehmen müssen. In diesem Artikel behandle ich weitere Systemkontrollen, die Sie schnell und kostenlos implementieren können.

Diese Kontrollen stammen aus einer Vielzahl von Quellen, wie meiner eigenen Erfahrung, DISA STIGs und anderen Systemadministratoren. Die hier aufgeführten Kontrollen sind in keiner bestimmten Reihenfolge nach Wichtigkeit oder Schweregrad.

Banner

Unabhängig davon, ob Ihr System über eine grafische Benutzeroberfläche verfügt oder nicht, müssen Sie ein Banner erstellen, das dem Benutzer bei der Anmeldung angezeigt wird. Das Banner muss den Benutzer warnen, dass das System durch geschützt ist und dass der Missbrauch des Systems eine Straftat darstellt. Das Banner muss sowohl für Benutzer an der Konsole als auch für diejenigen angezeigt werden, die sich über das Netzwerk anmelden.

Bearbeiten Sie /etc/issue für Konsolenbenutzer und /etc/issue.net für Netzwerknutzer. Achten Sie darauf, den vollständigen Pfad zu der Datei anzugeben, die Sie für das Banner in /etc/ssh/sshd_config verwenden Datei wie folgt:

Banner /etc/issue.net

Sie können jede beliebige Datei verwenden, aber Sie müssen den Bannerpfad bearbeiten und auf die Datei verweisen, die Ihre Nachricht enthält.

Nein, das Einrichten eines Banners wird einen Angreifer definitiv nicht daran hindern, Ihr System erfolgreich zu kompromittieren. Dennoch zerstört es das Verteidigungsargument, dass der Angreifer nicht wusste, dass das System ein privates, geschütztes System war.

Erzwingung der Passwortkomplexität

Erzwingen Sie die Kennwortkomplexität für Systeme, die noch Kennwörter verwenden, indem Sie die Parameter in /etc/security/pwquality.con ändern Datei (siehe unten). Diese Datei enthält eine Liste bearbeitbarer Parameter, um sichere Passwörter für Ihre Systeme zu erzwingen.

# Configuration for systemwide password quality limits
# Defaults:
#
# Number of characters in the new password that must not be present in the
# old password.
# difok = 5
#
# Minimum acceptable size for the new password (plus one if
# credits are not disabled which is the default). (See pam_cracklib manual.)
# Cannot be set to lower value than 6.
# minlen = 9
#
# The maximum credit for having digits in the new password. If less than 0
# it is the minimum number of digits in the new password.
# dcredit = 1
#
# The maximum credit for having uppercase characters in the new password.
# If less than 0 it is the minimum number of uppercase characters in the new
# password.
# ucredit = 1
#
# The maximum credit for having lowercase characters in the new password.
# If less than 0 it is the minimum number of lowercase characters in the new
# password.
# lcredit = 1
#
# The maximum credit for having other characters in the new password.
# If less than 0 it is the minimum number of other characters in the new
# password.
# ocredit = 1
#
# The minimum number of required classes of characters for the new
# password (digits, uppercase, lowercase, others).
# minclass = 0
#
# The maximum number of allowed consecutive same characters in the new password.
# The check is disabled if the value is 0.
# maxrepeat = 0

Nachfolgend sind die empfohlenen Werte aufgeführt. Hinweis:Stellen Sie sicher, dass Sie die Parameterzeile auskommentieren, um den erzwungenen Wert zu aktivieren.

difok = 8

minlen = 15

dcredit = -1

ucredit = -1

lcredit = -1

ocredit = -1

minclass = 4

maxrepeat = 3

maxclassrepeat = 4

Diese Parameter tragen dazu bei, dass Systemkennwörter weitaus sicherer sind als die Standardeinstellungen. Es wird empfohlen, Multi-Faktor-Authentifizierung anstelle von Passwörtern für eine verbesserte Systemzugriffssicherheit zu verwenden.

Hinweis:Die minlen (Mindestlänge) sollte auf einen Wert von 15 oder höher gesetzt werden. Bringen Sie Benutzern bei, Passphrasen zu verwenden, anstatt zu versuchen, ein einzelnes Wort zu finden, das die Kriterien erfüllt.

Mindestpasswortlebensdauer

Einige clevere Benutzer ändern ihre Passwörter mehrmals, um die Systemsicherheit zu umgehen. Wenn sie gezwungen sind, ihre Passwörter zu aktualisieren, ändern sie ihre Passwörter oft genug, um die Systemsicherheit zu umgehen und ihr Passwort schließlich auf das Original zurückzusetzen. Die PASS_MIN_DAYS Parameter in /etc/login.defs Datei kann diese Aktivität verhindern. Setzen Sie den Wert auf 1 oder höher. Der Standardwert ist 0, was das Sicherheitsproblem verursacht.

PASS_MIN_DAYS 1

Das Setzen dieses Parameters bedeutet, dass der Benutzer das neue Passwort mindestens einen Tag lang behalten muss, bevor er es erneut ändert. Sie können den Wert auf eine beliebige Zahl festlegen, aber das Verhindern, dass der Benutzer sofort mehrmals wechselt, scheint das Problem zu lösen.

Maximale Passwortlebensdauer

Vielleicht noch gefährlicher als die minimale Passwortlebensdauer ist die Einstellung der maximalen Passwortlebensdauer. Der Standardwert ist 99999, was bedeutet, dass der Benutzer sein Passwort niemals ändern muss. Dies ist eine schwerwiegende Sicherheitsverletzung.

Abhängig von den Richtlinien und Sicherheitsanforderungen Ihres Unternehmens sollten Sie Kennwortänderungen im Bereich von 60 bis 90 Tagen erzwingen. Um eine solche systemweite Änderung zu erzwingen, bearbeiten Sie PASS_MAX_DAYS Einstellung in /etc/login.defs Datei.

PASS_MAX_DAYS 60

Diese Einstellung zwingt Benutzer, ihre Passwörter alle 60 Tage zu ändern. Ja, Sie werden Murren hören, besonders in Verbindung mit PASS_MIN_DAYS Beschränkung. Sicherheit gewinnt über Benutzerbeschwerden.

Sudoer-Sicherheit

Häufig konfigurieren Systemadministratoren ihre Benutzerkonten für die Verwendung von sudo Befehl ohne Passwort. Dies ist eine schwerwiegende Sicherheitsverletzung, die auf keinem System, unabhängig von der Funktion, unter keinen Umständen zugelassen werden sollte.

Bearbeiten Sie /etc/sudoers Datei mit visudo und entfernen Sie alle Instanzen von NOPASSWD in der Datei.

Suchen Sie außerdem in /etc/sudoers nach Instanzen von „!authentication“. Datei. Dieser Eintrag erlaubt einem Benutzer, der sudo hat Zugang, um sudo weiterhin zu verwenden ohne erneute Authentifizierung. Dies ist eine Sicherheitsverletzung. Entfernen Sie alle Instanzen von „!authentication“ aus /etc/sudoers Datei.

Verzögerung bei fehlgeschlagener Anmeldung

Um Brute-Force-Angriffe auf Benutzerkonten zu vereiteln, sollten Sie die Verzögerung bei fehlgeschlagener Anmeldung auf mindestens 4 Sekunden festlegen. Dies verhindert Brute-Force-Angriffe, kann Benutzern aber auch dabei helfen, das richtige Passwort einzugeben, was bei längeren Passwörtern und Passphrasen schwieriger wird.

Dieser Parameter wird in /etc/login.defs gesetzt Datei. Die Zahl ist die Anzahl der Sekunden, die das System anhält, bevor nach einem fehlgeschlagenen Anmeldeversuch eine neue Anmeldeaufforderung angezeigt wird.

FAIL_DELAY 4

Vier Sekunden sind kurz genug, um Benutzer nicht zu frustrieren, die möglicherweise versehentlich die falsche Taste gedrückt haben, aber lang genug, um wiederholte Anmeldeversuche von Bots zu verhindern.

Automatisches Mounten von Geräten deaktivieren

Das automatische Mounten von Dateisystemen führt zu Sicherheitsrisiken durch unbekannte Geräte, die möglicherweise an ein System angeschlossen sind. Mit anderen Worten, ein Angreifer könnte ein USB-Gerät anschließen, um eine Nutzlast zu liefern, wenn das Gerät automatisch bereitgestellt wird. Deaktivieren Sie das automatische Mounten, indem Sie autofs stoppen und deaktivieren Dienst.

$ sudo systemctl stop autofs

$ sudo systemctl disable autofs

Es mag etwas weniger bequem sein, Dateisysteme manuell zu mounten, nachdem ein neues Gerät an das System angeschlossen wurde, aber die erhöhte Sicherheit gleicht die zusätzlichen drei Sekunden Arbeit aus, die zum Mounten eines Geräts erforderlich sind. Dies gibt dem Systemadministrator die Möglichkeit, ein nicht autorisiertes Gerät zu deaktivieren, zu löschen oder auszuwerfen.

Beschränken Sie die Dateierstellungsberechtigungen

Wir gehen zurück zu /etc/login.defs Datei, um eine systemweite Änderung vorzunehmen. Wenn Benutzer neue Dateien erstellen, erhalten sie normalerweise Berechtigungen von 644, die sich aus umask ergeben Filtereinstellung 022. Um die Sicherheit zu erhöhen, sollten alle neuen Dateien mit einem umask erstellt werden von 077, was dazu führt, dass neue Dateien 600 als Standardberechtigungen haben.

UMASK 077

Für die meisten Benutzer mag es weniger wichtig sein, aber für Dateien, die von root erstellt wurden, ist diese Einstellung obligatorisch. Wenn Sie es systemweit festlegen, wird Konsistenz gewährleistet.

Abschluss

Die Verbesserung der Systemsicherheit ist eine der Hauptaufgaben des Systemadministrators. Neue Systeme, geerbte Systeme und Systeme, die Nischenfunktionen erfüllen, sind in Ihrem Netzwerk am anfälligsten. Besondere Sorgfalt muss darauf verwendet werden, jedes Netzwerksystem zu schützen. Oft ermöglicht die Kompromittierung eines Systems die Kompromittierung mehrerer Systeme, da sich der Angreifer jetzt im Inneren des Netzwerks befindet und die Kontrolle über ein oder mehrere Systeme hat.

Einige dieser Sicherheitskontrollen mögen schwerfällig erscheinen, aber verglichen mit der Wiederherstellung nach einem Sicherheitsverstoß ist dies heute einfach ein Teil des „Normalen“.

[ Möchten Sie mehr über Sicherheit erfahren? Schauen Sie sich die Checkliste für IT-Sicherheit und Compliance an. ]


Linux
  1. Geben Sie der Firewall Ihres Linux-Systems einen Sicherheitsschub

  2. Überleben eines Sicherheitsaudits mit Enterprise Linux

  3. Linux-Sicherheit:Schützen Sie Ihre Systeme mit fail2ban

  4. Sysadmin-Sicherheit:8 Linux-Sperrkontrollen

  5. Balance zwischen Linux-Sicherheit und Benutzerfreundlichkeit

Stellen Sie ein vergessenes Root-Passwort auf einem Redhat 7 Linux Selinux-System wieder her

Kali Linux-Systemanforderungen

Befehl zum Herunterfahren von Linux

So prüfen Sie ein Remote-Linux-System mit dem Lynis Security Tool

13 Wichtige Datenschutz- und Sicherheitseinstellungen in Ubuntu Linux

Linux vs. Windows-Sicherheit