W�hrend Benutzerzugriff zu administrativen Kontrollen ein wichtiges Thema f�r Systemadministratoren innerhalb eines Unternehmens ist, ist die Kontrolle der Netzwerkdienste von oberster Wichtigkeit f�r jeden, der ein Linux-System installiert und anwendet.
Viele Dienste unter Red Hat Enterprise Linux verhalten sich als Netzwerkserver. Wenn ein Netzwerkdienst auf einem Computer ausgef�hrt wird, h�rt eine Server-Applikation, auch Daemon genannt, auf einem oder mehreren Ports die Verbindungen ab. Jeder dieser Server sollte als potentielle Angriffsstelle betrachtet werden.
4.5.1. Risiken f�r Dienste
Netzwerkdienste k�nnen viele Risiken f�r Linux-Systeme bedeuten. Untenstehend finden Sie eine Liste der Hauptprobleme:
Denial of Service Attacken (DoS) — In dem ein System mit Anfragen �berflutet wird, kann eine Denial of Service Attacke ein System zum v�lligen Stillstand bringen, da das System versucht, jede Anfrage aufzuzeichnen und zu beantworten.
Skript-Anf�lligkeits-Attacken — Wenn ein Server Skripte zum Ausf�hren von serverseitigen Aufgaben verwendet, kann ein Cracker durch nicht-sachgem�� erstellte Skripte eine Attacke initiieren. Diese Skript-Anf�lligkeits-Attacken k�nnen zu einem Buffer-Overflow f�hren oder es dem Angreifer erm�glichen, Dateien auf dem Server zu �ndern.
Buffer Overflow Attacken — Dienste, die sich �ber Ports 0 bis 1023 einw�hlen, m�ssen als administrativer Benutzer ausgef�hrt werden. Hat die Applikation einen ausbeutbaren Buffer Overflow, kann ein Angreifer Zugang zum System erlangen, indem er als Benutzer diesen Daemon ausf�hrt. Da ausbeutbare Buffer-Overflows existieren, k�nnen Cracker mit automatisierten Tools das System auf Anf�lligkeiten pr�fen. Sobald diese dann Zugang zum System haben, k�nnen sie mithilfe automatisierter root-Kits den Zugang zum System aufrecht erhalten.
Hinweis
Die Bedrohung durch Schwachstellen, welche durch Puffer-Overflow entstehen, ist in Red Hat Enterprise Linux durch ExecShield entsch�rft, einer ausf�hrbaren Speicher-Segmentation und Schutztechnologie, unterst�tzt durch x86-kompatible Einzelprozessor- und Multiprozessor-Kernels. ExecShield reduziert das Risiko eines Puffer-Overflow indem virtueller Speicher in ausf�hrbare und nicht-ausf�hrbare Segmente unterteilt wird. Jeglicher Progammcode, welcher versucht ausserhalb des ausf�hrbaren Segments auszuf�hren (vors�tzlich und b�swillig unter Ausnutzung eines Sicherheitsloches in Zusammenhang mit Puffer-Overflow implementierter Code) l�st einen Segmentierungsfehler aus und wird abgebrochen.
Execshield beinhaltet auch Unterst�tzung f�r No eXecute (NX) Technology auf AMD64 Plattformen und eXecute Disable (XD) Technologie auf Itanium und Intel® EM64T Systemen. Diese Technologien arbeiten in Zusammenhang mit ExecShield, um b�swilligen Code davon abzuhalten, im ausf�hrbaren Bereich des virtuellen Speichers mit einer Granularit�t von 4 KB ausf�hrbaren Codes abzulaufen, wobei das Risiko eines heimlichen Eindringens in das System unter Ausnuztung eines Puffer-Overflows verringert wird.
F�r weitere Informationen �ber ExecShield und NX oder XD Technologien siehe das Whitepaper mit dem Titel New Security Enhancements in Red Hat Enterprise Linux v.3, Update 3, welches unter folgender URL erh�ltlich ist:
Um die Angriffsfl�che des Netzwerks zu verringern, sollten alle nicht-genutzten Dienste ausgeschaltet werden.
4.5.2. Identifizieren und Konfigurieren von Diensten
Zur Erh�hung der Sicherheit sind die meisten, mit Red Hat Enterprise Linux installierten Netzwerkdienste standardm��ig deaktiviert, Es gibt jedoch einige nennenswerte Ausnahmen:
cupsd — Der standardm��ige Druck-Server f�r Red Hat Enterprise Linux.
lpd — Ein alternativer Druck-Server.
xinetd — Ein Super-Server, der die Verbindungen zu einem Host von untergeordneten Servern, wie zum Beispiel vsftpd und telnet regelt.
sendmail — Der Sendmail Mail Transport Agent ist standardm��ig aktiviert, h�rt jedoch nur Verbindungen vom localhost ab.
sshd — Der OpenSSH Server, ein sicherer Ersatz f�r Telnet.
Bei der Entscheidung, ob diese Dienste aktiviert bleiben sollen, sollten Sie mit gesundem Menschenverstand handeln und Vorsicht walten lassen. Wenn Sie zum Beispiel keinen Drucker besitzen, sollten Sie cupsd nicht laufen lassen, nur weil Sie eines Tages eventuell einen Drucker kaufen werden. Das gleiche gilt f�r portmap. Wenn Sie keine NFSv3-Volumen mounten oder NIS (denypbind Dienst) nicht verwenden, sollte portmap deaktiviert werden.
Red Hat Enterprise Linux wird mit drei Programmen geliefert, die f�r das Aktivieren und Deaktivieren von Diensten entwickelt wurden. Aus diesen besteht das Services Configuration Tool (system-config-services), ntsysv undchkconfig. Informationen zu diesen Tools finden Sie im Kapitel Zugangskontrolle zu Diensten im Red Hat Enterprise Linux Handbuch zur System-Administration.
Abbildung 4-3. Services Configuration Tool
Wenn Sie sich nicht sicher sind, welchen Zweck ein Dienst hat, finden Sie im Services Configuration Tool ein Beschreibungsfeld, in Abbildung 4-3 abgebildet, das Ihnen von Nutzen sein kann.
Das reine �berpr�fen, welche Netzwerkdienste zum Bootzeitpunkt verf�gbar sind, ist jedoch nicht genug. Kompetente Systemadministratoren sollten auch pr�fen, welche Ports offen sind und eingehende Signale abh�ren. Weitere Informationen zu diesem Thema finden Sie unter Abschnitt 5.8.
4.5.3. Unsichere Dienste
Jeder Netzwerkdienst is potentiell unsicher. Aus diesem Grund ist es wichtig, nicht ben�tigte Dienste zu deaktivieren. Angriffsfl�chen f�r Dienste werden so erkannt und k�nnen gepatcht werden. Es ist daher wichtig, Pakete, die f�r einen Netzwerkdienst ben�tigt werden, auf dem neuesten Stand zu halten. Weitere Informationen hierzu finden Sie unter Kapitel 3.
Einige Netzwerkprotokolle sind von Natur aus unsicherer als andere. Dies umfasst Dienste, die wie folgt eingesetzt werden:
Unverschl�sselte �bertragung von Benutzernamen und Passw�rtern �ber ein Netzwerk — Viele �ltere Protokolle, z.B. Telnet und FTP, verschl�sseln die Authentifizierung nicht, und sollten m�glichst deaktiviert werden.
Emfpindliche Daten unverschl�sselt �ber ein Netzwerk versenden — Viele Protokolle �bertragen Daten unverschl�sselt �ber ein Netzwerk. Diese Protokolle sind unter anderem Telnet, FTP, HTTP und SMTP. Viele Netzwerk-Dateisysteme, z.B. NFS und SMB, �bertragen auch Informationen unverschl�sselt �ber das Netzwerk. Es liegt in der Verantwortung des Benutzers, einzuschr�nken, welche Art Daten bei der Verwendung dieser Protokolle �bertragen werden d�rfen.
Auch remote Speicherabbildungsdienste wie netdump �bertragen den Inhalt eines Speichers unverschl�sselt �ber das Netzwerk. Memory Dumps k�nnen Passw�rter, oder schlimmer noch, Datenbankeintr�ge und andere empfindliche Informationen enthalten.
Andere Dienste wie finger und rwhod geben Informationen �ber Benutzer im System preis.
Beispiele f�r von Natur aus unsichere Dienste sind unter anderem folgende:
rlogin
rsh
telnet
vsftpd
Alle Remote-Login- und Shell-Programme (rlogin, rsh und telnet) sollten zugunsten von SSH vermieden werden. (Unter Abschnitt 4.7 finden Sie weitere Informationen zu sshd).
FTP ist nicht ganz so gef�hrlich f�r die Sicherheit des Systems wie Remote-Shells, FTP-Server m�ssen jedoch sorgf�ltig konfiguriert und �berwacht werden, um Probleme zu vermeiden. Weitere Informationen �ber das Sichern von FTP-Servern finden Sie unter Abschnitt 5.6.
Dienste, die sorgf�ltig implementiert und hinter einer Firewall verwendet werden sollten, umfassen folgende:
finger
identd
netdump
netdump-server
nfs
rwhod
sendmail
smb (Samba)
yppasswdd
ypserv
ypxfrd
Weitere Informationen zur Sicherung von Netzwerkdiensten ist unter Kapitel 5 erh�ltlich.
Im n�chsten Abschnitt werden Tools f�r das Einrichten einer Firewall beschrieben.