Sicherheit ist ein Dauerthema von Interesse für Systemadministratoren. Und die Sicherung neuer Systeme stellt immer eine Herausforderung dar, weil es dafür eigentlich keine festen Standards gibt. Ich ziehe die Liste der Sicherheitsmaßnahmen und -kontrollen dieses Artikels aus einer Vielzahl von Quellen, darunter persönliche Erfahrungen, DISA-STIGs und Empfehlungen von anderen Systemadministratoren und Sicherheitsleuten. Obwohl diese Sicherheitsmaßnahmen gut sind, sind sie nur ein erster Schritt in Richtung einer besseren Systemsicherheit. Diese acht Systemsteuerungen sind in keiner bestimmten Reihenfolge nach Wichtigkeit.
SSH-Schlüssel
Konfigurieren Sie die passwortlose Authentifizierung mit SSH-Schlüsselpaaren. Lesen Sie den Artikel von Susan Lauber für Anweisungen:Passwordless SSH using public-private key pairs. Passwörter sind keine gute Sicherheitsmaßnahme, egal wie lang oder komplex sie sind. Mit SSH-Schlüsselpaaren und einer einzigen Jumpbox können Sie einen hochgradig sicheren Zugriff auf Ihre Systeme einrichten.
SSH-Authentifizierung
Nachdem Sie SSH-Schlüsselpaare für die Authentifizierung eingerichtet haben, müssen Sie SSHD
konfigurieren um sie für die Remote-Anmeldung zu akzeptieren. Die /etc/ssh/sshd_config
Datei ist der zentrale Ort zum Sichern von SSHD
auf Ihren Systemen. Bemerkenswerte Optionen zum Überprüfen und Ändern sind:
Ursprüngliche Einstellung | Ändern zu |
---|---|
#PermitRootLogin ja | RootLogin-Nr. zulassen |
#PubkeyAuthentication ja | Pubkey-Authentifizierung ja |
#PermitEmptyPasswords nein | EmptyPasswords zulassen nein |
Passwortauthentifizierung ja | PasswordAuthentication no |
Sie müssen SSHD
neu starten nachdem Sie Änderungen an der Konfigurationsdatei vorgenommen haben, damit Ihre Änderungen wirksam werden.
NULL-Passwörter
Überprüfen Sie, ob alle Konten ein Kennwort zur Authentifizierung verwenden. Erlauben Sie keinem Konto, ein leeres oder leeres Passwort zu haben. Das Einrichten von Schlüsselpaaren ist eine gute Verteidigung gegen Null-Passwörter. Entfernen Sie alle Instanzen der Option „nullok“ in /etc/pam.d/system-auth
und /etc/pam.d/password-auth
um Anmeldungen mit leeren Passwörtern zu verhindern.
Unsichere Dienste entfernen
Um Ihre Systeme besser zu sichern, entfernen Sie alle unsicheren Dienste (solche, die Kennwörter im Klartext über das Netzwerk senden oder solche, die anonyme (nicht authentifizierte) Verbindungen zulassen). Entfernen Sie die folgenden Pakete:
- ypserv
- rsh-server
- vsftpd*
- telnet-server
- tftp-Server
Dateiübertragungen und interaktive Verbindungen zwischen Systemen sollten mit SSH
erfolgen . rsh-server
ist nicht erforderlich , vsftpd
, und telnet-server
. Sie sollten ypserv
durch LDAP oder Active Directory ersetzen (NIS/NIS+). Wie bei tftp-server
, wenn Sie es verwenden müssen, widmen Sie ihm ein System oder eine virtuelle Maschine und installieren Sie es in einer chroot
Gefängnis für mehr Sicherheit.
*Während vsftpd
verschlüsselt die Kommunikation, diese Funktion wird besser von SSH/SFTP/SCP
gehandhabt .
Hostbasierte Authentifizierung deaktivieren
Entfernen Sie alle Instanzen der hostbasierten Authentifizierung in Form von .shosts
und shosts.equiv
Dateien. Die hostbasierte Authentifizierung ist unzureichend, um unbefugten Zugriff auf ein System zu verhindern, da sie keine interaktive Identifizierung und Authentifizierung einer Verbindungsanforderung erfordert, oder für die Verwendung von Multi-Faktor-Authentifizierung.
SNMP-Version und Community-Name
Verwenden Sie SNMP Version 3.x für die Benutzerauthentifizierung und Nachrichtenverschlüsselung. Ändern Sie den Standard-Community-String von public
oder private
zu einem anderen String-Wert.
X11-Weiterleitung
Wenn Sie das X-Protokoll in Ihrem Netzwerk verwenden, stellen Sie sicher, dass es durch SSL gesichert ist. Bearbeiten Sie die /etc/ssh/sshd_config
und stellen Sie den X11Forwarding-Parameter wie folgt ein:
X11Forwarding yes
Wenn der Parameter existiert, aber mit einem vorangestellten #
kommentiert ist , dann entfernen Sie das #
und SSHD neu starten.
GNOME sichern
Wenn Sie GNOME auf Ihren Serversystemen verwenden, sichern Sie es mit den folgenden Einstellungen in der /etc/gdm/custom.conf
Datei. Fügen Sie die Zeile für AutomaticLoginEnable
hinzu oder bearbeiten Sie sie Parameter im [daemon]
Abschnitt der custom.conf
file auf false, wie unten gezeigt.
[daemon]
AutomaticLoginEnable=false
Und fügen Sie die Zeile für TimedLoginEnable
hinzu oder bearbeiten Sie sie Parameter im [daemon]
Abschnitt der /etc/gdm/custom.conf
file auf false, wie unten gezeigt.
[daemon]
TimedLoginEnable=false
Einige Sicherheitsberater warnen erneut vor der Verwendung von grafischen Benutzeroberflächen (GUIs) auf Serversystemen wegen Malware, die auf sie abzielt.
[ Verbessern Sie Ihre Systemsicherheit mit Antimalware-Software weiter:3 Antimalware-Lösungen für Linux-Systeme ]
Abschluss
Obwohl die Unix-ähnliche Sicherheit sehr gut ist, ist Linux nach einer Installation nicht zu 100 Prozent sicher. Und es gibt keine 100-prozentige Sicherheit, aber Sie können einige Kontrollen festlegen und einige grundlegende Aufgaben ausführen, um ein System besser zu sichern. Ich bin dabei, Ihnen weitere Artikel dieser Art zu bringen, die sich auf die Systemsicherheit konzentrieren.
[ Möchten Sie mehr über Sicherheit erfahren? Sehen Sie sich die Checkliste für IT-Sicherheit und Compliance an. ]