Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Linuxtopia - Red Hat Enterprise Linux Sicherheitshandbuch - Administrative Kontrollen

4.4. Administrative Kontrollen

F�r die Verwaltung eines Heim-PCs muss der Benutzer einige Aufgaben als root-Benutzer oder durch effektive root-Berechtigungen durch ein setuid Programm wie sudo oder su ausf�hren. Ein setuid-Programm arbeitet mit der Benutzer-ID (UID) des Besitzers des Programms, und nicht mit der des Benutzers des Programms. Solche Programme werden durch ein kleines s im Abschnitt Besitzer einer detaillierten Auflistung wie im folgenden Beispiel markiert:

-rwsr-xr-x    1 root     root        47324 May  1 08:09 /bin/su

F�r Systemadministratoren eines Unternehmens muss festgelegt werden, wieviel administrativen Zugang Benutzer innerhalb des Unternehmens zu ihren Computern haben d�rfen. Durch ein PAM-Modul mit dem Namen pam_console.so k�nnen einige Vorg�nge, die normalerweise nur dem root-Benutzer erlaubt sind, wie z.B. das Rebooten und Mounten externer Medien, dem ersten Benutzer, der sich an der physischen Konsole anmeldet, erm�glicht werden (siehe auch das Kapitel Pluggable Authentication Modules (PAM) im Red Hat Enterprise Linux Referenzhandbuch f�r weitere Informationen �ber das pam_console.so-Modul). Andere wichtige Systemadministrations-Aufgaben wie das �ndern von Netzwerkeinstellungen, Konfigurieren einer neuen Maus oder das Mounten von Netzwerkger�ten sind jedoch ohne administrativen Zugang nicht m�glich, weswegen Systemadministratoren entscheiden m�ssen, wieviel administrativen Zugang die Benutzer auf ihrem Netzwerk erhalten sollen.

4.4.1. Root-Zugang erlauben

Sind die Benutzer innerhalb eines Unternehmens vertrauensw�rdig und kennen sich mit Computern aus, ist das Vergeben von root-Berechtigungen unter Umst�nden sinnvoll. root-Zugang zu erlauben bedeutet, dass kleinere Probleme wie das Hinzuf�gen von Ger�ten oder das Konfigurieren von Netzwerkschnittstellen von den einzelnen Benutzern durchgef�hrt werden kann und somit Systemadministratoren mehr Zeit f�r Netzwerksicherheit und andere, wichtige Aufgaben haben.

Auf der anderen Seite kann das Vergeben von root-Rechten zu Einzelbenutzern zu folgenden Problemen f�hren:

  • Fehlkonfigurationen — Benutzer mit root-Rechten, k�nnen ihre Computer falsch konfigurieren und ben�tigen dann Hilfe, oder schlimmer noch, k�nnen Sicherheitsl�cher �ffnen, ohne dies zu merken.

  • Unsichere Dienste — Benutzer mit root-Berechtigungen k�nnen unsichere Dienste, wie zum Beispiel FTP oder Telnet auf ihrem Computer laufen lassen, und somit Benutzernamen und Passw�rter einem Risiko aussetzen, da diese im Klartext �ber das Netzwerk verschickt werden.

  • E-Mail-Anh�nge als root ansehen — Wenn auch selten, gibt es doch E-Mail-Viren, die Linux betreffen. Dies wird jedoch nur zum Problem, wenn sie als root ausgef�hrt werden.

4.4.2. Root-Zugang sperren

Wenn ein Administrator Benutzern keine root-Berechtigungen aus diesen oder anderen Gr�nden zuweisen m�chte, sollte das root-Passwort geheim gehalten und Zugang zu Runlevel 1 oder Einzelbenutzermodus durch Passwortschutz f�r den Bootloader verhindert werden (weitere Informationen zu diesem Thema finden Sie unter Abschnitt 4.2.2).

Tabelle 4-1 zeigt Methoden, mit denen ein Administrator Anmeldungen als root verhindern kann:

MethodeBeschreibungBetrifftBetrifft nicht
�ndern der root-ShellBearbeiten Sie die Datei /etc/passwd und �ndern Sie die Shell von /bin/bash zu /sbin/nologin.

Verhindert Zugang zur root-Shell und zeichnet den Versuch auf.
Die folgenden Programme k�nnen nicht mehr auf den root-Account zugreifen:
login
gdm
kdm
xdm
su
ssh
scp
sftp

Programme, die keine Shell ben�tigen, wie z.B. FTP-ClientsMail Clients und viele setuid-Programme.
F�r die folgenden Programme wird der root-Account nicht gesperrt:
sudo
� FTP-Clients
� E-Mail Clients

Sperren des root-Zugangs �ber ein Konsolenger�t (tty).Eine leere /etc/securetty Datei verhindert die Anmeldung als root f�r jegliche Ger�te, die am Computer angeschlossen sind.

Verhindert den Zugang zum root-Account �ber die Konsole oder das Netzwerk. Die folgenden Programme sind f�r den Zugang zum root-Account gesperrt:
login
gdm
kdm
xdm
� Andere Netzwerkdienste, die eine tty �ffnen

Programme, die sich nicht als root anmelden, aber administrative Aufgaben durch setuid oder andere Mechanismen ausf�hren.
Die folgenden Programme werden nicht f�r den Zugang zum root-Account gesperrt:
su
sudo
ssh
scp
sftp

Deaktivieren von SSH-Logins als rootBearbeiten Sie die Datei /etc/ssh/sshd_config und setzen Sie den PermitRootLogin Parameter auf no.

Verhindert root-Zugang �ber die OpenSSH-Toolsuite. Die folgenden Programme sind f�r den Zugang zum root-Account gesperrt:
ssh
scp
sftp

Das dies nur die OpenSSH-Toolsuite betrifft, sind keine anderen Programme von dieser Einstellung betroffen.

Mit PAM den root�-Zugang zu Diensten einschr�nkenBearbeiten Sie die Datei f�r den Zieldienst im Verzeichnis /etc/pam.d/. Stellen Sie sicher, dass pam_listfile.so f�r die Authentifizierung erforderlich ist. [a]

Verhindert root-Zugang zu Netzwerkdienste, die PAM ber�cksichtigen.
Die folgenden Programme sind f�r den Zugang zum Rot-Account gesperrt:
� FTP-Clients
� E-Mail-Clients
login
gdm
kdm
xdm
ssh
scp
sftp
� Alle anderen Dienste, die PAM ber�cksichtigen

Programme und Dienste, die PAM nicht ber�cksichtigen.

Bemerkungen:
a. Weitere Informationen finden Sie unter Abschnitt 4.4.2.4.

Tabelle 4-1. Methoden zum Deaktivieren des root-Accounts

4.4.2.1. Die Root-Shell deaktivieren

Um zu verhindern, dass sich Benutzer direkt als root anmelden, kann der Systemadministrator die Shell des root-Accounts auf /sbin/nologin in der Datei /etc/passwd setzen. Dies verhindert Zugang zum root-Account �ber Befehle, die eine Shell ben�tigen, wie zum Beispiel su oder ssh.

WichtigWichtig
 

Programme, die keinen Zugang zur Shell ben�tigen, wie z.B. E-Mail-Clients oder der Befehl sudo, k�nnen weiterhin auf den root-Account zugreifen.

4.4.2.2. Root-Anmeldungen deaktivieren

Um den Zugang zum root-Account noch weiter einzuschr�nken, k�nnen Administratoren root-Anmeldungen an der Konsole verhindern, in dem sie die Datei /etc/securetty bearbeiten. In dieser Datei werden alle Ger�te aufgelistet, auf die der root-Benutzer zugreifen kann. Existiert die Datei nicht, kann sich der root-Benutzer durch ein beliebiges Kommunikationsmedium auf dem System anmelden, sei es �ber eine Konsole oder eine Raw-Netzwerkschnittstelle. Dies stellt ein Risiko dar, da ein Benutzer sich �ber Telnet am Computer als root anmelden kann und die Passw�rter im Klartext �bers Netzwerk versendet. Standardm��ig erlaubt die Red Hat Enterprise Linux-Datei /etc/securetty dem root-Benutzer nur, sich an der mit dem Computer direkt verbundenen Konsole anzumelden. Um das Anmelden von root zu verhindern, l�schen Sie den Inhalt dieser Datei, indem Sie folgenden Befehl eingeben:

echo > /etc/securetty

WarnungAchtung
 

Eine leere /etc/securetty Datei verhindert nicht, dass der root-Benutzer sich von au�en �ber die OpenSSH Toolsuite anmeldet, da die Konsole erst nach der Authentifizierung ge�ffnet wird.

4.4.2.3. Root SSH-Anmeldungen deaktivieren

Um root-Anmeldungen �ber das SSH-Protokoll zu verhindern, bearbeiten Sie die Konfigurationsdatei des SSH-Daemons (/etc/ssh/sshd_config). �ndern Sie folgende Zeile:

# PermitRootLogin yes

zu:

 
PermitRootLogin no

4.4.2.4. PAM f�r root deaktivieren

PAM erm�glicht durch das /lib/security/pam_listfile.so-Modul eine gr��ere Flexibilit�t in der Ablehnung bestimmter Accounts. Dies erm�glicht dem Administrator, das Modul an eine Liste von Benutzern zu verweisen, denen die Anmeldung nicht gestattet ist. Unten finden Sie ein Beispiel, wie das Modul f�r den vsftpd FTP-Server in der /etc/pam.d/vsftpd PAM-Konfigurationsdatei verwendet werden kann (das \ Zeichen am Ende der ersten Zeile im folgenden Beispiel ist nicht n�tig, wenn die Direktive auf einer Zeile steht):

auth   required   /lib/security/pam_listfile.so   item=user \
sense=deny file=/etc/vsftpd.ftpusers onerr=succeed

Dies weist PAM an, die Datei /etc/vsftpd.ftpusers zu konsultieren und allen hier aufgef�hrten Benutzern Zugang zum Dienst zu verbieten. Der Administrator kann den Namen dieser Datei �ndern und separate Listen f�r jeden Dienst oder eine einzige zentrale Liste f�r die Zugriffsverweigerung f�r mehrere Dienste f�hren.

Wenn der Administrator den Zugang zu mehreren Diensten verbieten will, kann eine �hnliche Zeile zum PAM-Konfigurationsdienste wie z.B. /etc/pam.d/pop und /etc/pam.d/imap f�r Mail Clients oder /etc/pam.d/ssh f�r SSH-Clients hinzugef�gt werden.

Weitere Informationen zu PAM finden Sie im Kapitel Pluggable Authentication Modules (PAM) im Red Hat Enterprise Linux Referenzhandbuch.

4.4.3. Root-Zugang beschr�nken

Anstelle dass der Zugang zum root-Benutzer vollst�ndig verweigert wird, kann der Administrator Zugang nur �ber setuid-Programme wie z.B. su oder sudo gew�hren.

4.4.3.1. Der Befehl su

Wenn Sie den Befehl su eingeben, wird der Benutzer nach dem root-Passwort gefragt und erh�lt nach der Authentifizierung ein root-Shell-Prompt.

Wenn �ber den Befehl su angemeldet, ist der Benutzer der root-Benutzer und hat absoluten administrativen Zugang zum System. Zus�tzlich dazu ist es dem Benutzer mit root-Berechtigungen m�glich, in einigen F�llen den Befehl su zu verwenden, um sich als ein anderer Benutzer im System anzumelden, ohne nach einem Passwort gefragt zu werden.

Da dieses Programm sehr m�chtig ist, sollten Administratoren innerhalb eines Unternehmens den Zugang zu diesem Befehl beschr�nken.

Einer der einfachsten Wege ist es, Benutzer zur administrativen Gruppe mit dem Namen wheel hinzuzuf�gen. Hierzu geben Sie den folgenden Befehl als root ein:

usermod -G wheel <username>

Ersetzen Sie in diesem Befehl <username> mit dem Benutzernamen, der zur wheel-Gruppe hinzugef�gt werden soll.

Um f�r diesen Zweck das User Manager zu verwenden, klicken Sie auf die Schaltfl�che Hauptmen� (im Panel) => Systemeinstellungen => Benutzer und Gruppen oder geben Sie den Befehl system-config-users an einem Shell-Prompt ein. W�hlen Sie den Tab Benutzer, w�hlen Sie den Benutzer aus der Benutzerliste aus und klicken Sie auf Eigenschaften aus dem Men� (oder w�hlen Sie Datei => Eigenschaften aus dem Pull-Down-Men�).

W�hlen Sie dann den Tab Gruppen und klicken Sie auf die wheel-Gruppe, wie in Abbildung 4-2 abgebildet.

Abbildung 4-2. Das Gruppen-Panel

�ffnen Sie als n�chstes die PAM-Konfigurationsdatei f�r su (/etc/pam.d/su) in einem Texteditor und entfernen Sie den Kommentar [#] aus der folgenden Zeile:

auth  required /lib/security/$ISA/pam_wheel.so use_uid

Hierdurch k�nnen nur Mitglieder der administrativen Gruppe wheel das Programm verwenden.

AnmerkungHinweis
 

Der root-Benutzer ist standardm��ig Teil der wheel-Gruppe.

4.4.3.2. Der Befehlsudo

Der Befehl sudo bietet eine weitere Methode, Benutzern administrativen Zugang zu geben. Wenn ein vertrauensw�rdiger Benutzer einem administrativen Befehl den Befehl sudo voranstellt, wird dieser nach seinem Passwort gefragt. Nach der Authentifizierung und vorausgesetzt, dass der Befehl erlaubt ist, wird der administrative Befehl wie von einem root-Benutzer ausgef�hrt.

Das Format des sudo-Befehls ist wie folgt:

sudo <command>

Im obigen Beispiel w�rde <command> durch einen Befehl, der normalerweise f�r den root-Benutzer reserviert ist, wie z.B. mount, ersetzt.

WichtigWichtig
 

Alle, die den Befehl sudo ausf�hren, sollten sicherstellen, dass sie abgemeldet sind, bevor sie sich vom Computer entfernen, da der Befehl innerhalb von 5 Minuten nochmal ausgef�hrt werden kann, ohne dass Sudoers nach einem Passwort gefragt werden. Diese Einstellung kann in der Konfigurationsdatei /etc/sudoers ge�ndert werden.

Der sudo-Befehl erm�glicht einen h�heren Grad an Flexibilit�t. So k�nnen z.B. nur Benutzer, die in der Konfigurationsdatei /etc/sudoers aufgef�hrt sind, den Befehl sudo ausf�hren; dieser Befehl wird dann in der Shell des Benutzers ausgef�hrt, und nicht in der root-Shell. Dies bedeutet, das die root-Shell vollst�ndig deaktiviert werden kann, wie in Abschnitt 4.4.2.1 gezeigt.

Der sudo-Befehl liefert auch einen umfangreichen Audit-Trail. Jede erfolgreiche Authentifizierung wird in die Datei /var/log/messages und der ausgef�hrte Befehl, sowie der Benutzername in die Datei /var/log/secure geschrieben.

Ein weiterer Vorteil des sudo-Befehls ist, dass ein Administrator verschiedenen Benutzern Zugang zu bestimmten Befehlen basierend auf deren Bed�rfnissen geben kann.

Administratoren, die die sudo-Konfigurationsdatei /etc/sudoers bearbeiten wollen, sollten den Befehl visudo verwenden.

Um jemandem volle administrative Rechte zu geben, geben Sie visudo ein und f�gen Sie eine Zeile �hnlich der folgenden in den Abschnitt f�r die Benutzerrechte ein:

juan ALL=(ALL) ALL

In diesem Beispiel kann dann der Benutzer juan den Befehl sudo von jedem Host aus verwenden und jeden Befehl ausf�hren.

Das untenstehende Beispiel zeigt die m�gliche Granularit�t bei der Konfiguration von sudo:

%users  localhost=/sbin/shutdown -h now

In diesem Beispiel kann jeder Benutzer den Befehl /sbin/shutdown -h now ausf�hren, solange dieser von der Konsole aus eingegeben wird.

Die man-Seite zu sudoers enth�lt eine detaillierte Liste aller Optionen f�r diese Datei.

 
 
  Published under the terms of the GNU General Public License Design by Interspire