Linux/Benutzer/Root/Login
Linux/Benutzer/Root/Zugriff einschänken
Beschreibung
Wenn ein Administrator aus diesen oder anderen Gründen Bedenken hat, Benutzern die Anmeldung als root zu gestatten, sollte
- das root-Passwort geheim gehalten werden und
- der Zugriff auf den Runlevel 1 oder den Einzelbenutzermodus sollte durch den Passwortschutz des Bootloaders verhindert werden (Bootloader-Passwörter)
- Root-Anmeldungen verhindern
Login-Shell | |
securetty | |
SSH | |
PAM |
Login-Shell
- Ändern der Root-Shell
Um zu verhindern, dass sich Benutzer direkt als Root anmelden, kann der Systemadministrator die Shell des Root-Kontos in der Datei /etc/passwd auf /sbin/nologin setzen
- Deaktivierung der Root-Shell
Auswirkungen | Keine Auswirkungen |
---|---|
Verhindert den Zugriff auf die Root-Shell und protokolliert alle derartigen Versuche
Folgende Programme können nicht auf das Root-Konto zugreifen
|
Programme, die keine Shell benötigen, wie FTP-Clients, E-Mail-Clients und viele Setuid-Programme
Folgende Programme werden „nicht" am Zugriff auf das Root-Konto gehindert
|
securetty
- Deaktivieren des Root-Zugriffs über ein Konsolengerät (tty)
Um den Zugriff auf das Root-Konto weiter einzuschränken, können Administratoren die Root-Anmeldung an der Konsole deaktivieren, indem sie die Datei /etc/securetty bearbeiten
- In dieser Datei sind alle Geräte aufgeführt, bei denen eine Anmeldung des Root-Benutzers zulässig ist
- Wenn die Datei überhaupt nicht vorhanden ist, kann sich der Root-Benutzer über jedes Kommunikationsgerät im System anmelden, sei es über die Konsole oder eine Raw-Netzwerkschnittstelle
- Dies ist gefährlich, da sich ein Benutzer über Telnet als Root auf seinem Computer anmelden kann, wobei das Passwort im Klartext über das Netzwerk übertragen wird
Standardmäßig erlaubt die Datei /etc/securetty von Red Hat Enterprise Linux dem Root-Benutzer nur die Anmeldung an der physisch an den Computer angeschlossenen Konsole
- Um die Anmeldung des Root-Benutzers zu verhindern, entfernen Sie den Inhalt dieser Datei, indem Sie als Root den folgenden Befehl an einer Shell-Eingabeaufforderung eingeben
echo > /etc/securetty
Um die Unterstützung von securetty in den Anmeldungsmanagern KDM, GDM und XDM zu aktivieren, fügen Sie die folgende Zeile
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
zu den unten aufgeführten Dateien hinzu:
- /etc/pam.d/gdm
- /etc/pam.d/gdm-autologin
- /etc/pam.d/gdm-fingerprint
- /etc/pam.d/gdm-password
- /etc/pam.d/gdm-smartcard
- /etc/pam.d/kdm
- /etc/pam.d/kdm-np
- /etc/pam.d/xdm
- Warnung
- Eine leere /etc/securetty-Datei verhindert nicht, dass sich der Root-Benutzer über die OpenSSH-Tool-Suite remote anmeldet, da die Konsole erst nach der Authentifizierung geöffnet wird
- Deaktivieren von Root-Anmeldungen
Auswirkungen | Hat keine Auswirkungen |
---|---|
Verhindert den Zugriff auf das Root-Konto über die Konsole oder das Netzwerk
Der Zugriff auf das Root-Konto wird für die folgenden Programme verhindert
|
Programme, die sich nicht als root anmelden, aber administrative Aufgaben über setuid oder andere Mechanismen ausführen
Folgende Programme werden „nicht" am Zugriff auf das root-Konto gehindert
|
SSH
Um Anmeldungen als root über das SSH-Protokoll zu verhindern, bearbeiten Sie die Konfigurationsdatei des SSH-Daemons, /etc/ssh/sshd_config, und ändern Sie die Zeile, die lautet
#PermitRootLogin yes
wie folgt
PermitRootLogin no
- Deaktivieren von Root-SSH-Anmeldungen
Auswirkungen | Hat keine Auswirkungen |
---|---|
Verhindert den Root-Zugriff über die OpenSSH-Tool-Suite
|
Programme, die nicht Teil der OpenSSH-Tool-Suite sind |
PAM
- PAM zur Einschränkung des Root-Zugriffs auf Dienste verwenden
PAM ermöglicht über das Modul /lib/security/pam_listfile.so eine hohe Flexibilität beim Ablehnen bestimmter Konten
- Der Administrator kann dieses Modul verwenden, um auf eine Liste von Benutzern zu verweisen, die sich nicht anmelden dürfen
- Um den Root-Zugriff auf einen Systemdienst zu beschränken, bearbeiten Sie die Datei für den Zieldienst im Verzeichnis /etc/pam.d/ und stellen Sie sicher, dass das Modul pam_listfile.so für die Authentifizierung erforderlich ist
Im Folgenden wird ein Beispiel dafür gegeben, wie das Modul für den vsftpd FTP-Server in der PAM-Konfigurationsdatei /etc/pam.d/vsftpd verwendet wird (das \-Zeichen am Ende der ersten Zeile ist „nicht" erforderlich, wenn die Anweisung in einer einzelnen Zeile steht)
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
Hierdurch wird PAM angewiesen, die Datei /etc/vsftpd.ftpusers zu konsultieren und allen aufgeführten Benutzern den Zugriff auf den Dienst zu verweigern
- Der Administrator kann den Namen dieser Datei ändern und separate Listen für jeden Dienst führen oder eine zentrale Liste verwenden, um den Zugriff auf mehrere Dienste zu verweigern
Wenn der Administrator den Zugriff auf mehrere Dienste verweigern möchte, kann eine ähnliche Zeile zu den PAM-Konfigurationsdateien hinzugefügt werden, z. B. /etc/pam.d/pop und /etc/pam.d/imap für Mail-Clients oder /etc/pam.d/ssh für SSH-Clients
Weitere Informationen zu PAM finden Sie im Kapitel „Pluggable Authentication Modules (PAM)" im „Reference Guide"
- Deaktivieren von Root mit PAM
Auswirkungen | Hat keine Auswirkungen |
---|---|
Verhindert den Root-Zugriff auf Netzwerkdienste, die PAM-fähig sind
|
Programme und Dienste, die nicht PAM-fähig sind |