| Red Hat Enterprise Linux 4: Sicherheitshandbuch | ||
|---|---|---|
| Zurück | Kapitel 4. Workstation-Sicherheit | Nach vorne |
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.
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.
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.
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.
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.
| Zurück | Zum Anfang | Nach vorne |
| Administrative Kontrollen | Nach oben | Persönliche Firewalls |