Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Kapitel 2. Sichern Ihres Netzwerks

2.1. Sicherheit eines Arbeitsplatzrechners

Die Sicherung einer Linux-Umgebung beginnt beim Arbeitsplatzrechner. Ungeachtet dessen, ob Sie Ihren persönlichen Rechner oder ein Firmensystem sichern, beginnt eine vernünftige Sicherheitsrichtlinie mit dem einzelnen Computer. Im Endeffekt ist ein Computernetzwerk nur so sicher wie das schwächste Glied.

2.1.1. Beurteilung der Arbeitsplatzrechner-Sicherheit

Wenn Sie die Sicherheit eines Red Hat Enterprise Linux Arbeitsplatzrechners auswerten, sollten Sie Folgendes beachten:
  • BIOS und Bootloader-Sicherheit — Kann ein unbefugter Benutzer physisch auf den Rechner zugreifen und in den Einzelbenutzer- oder Rettungsmodus booten, ohne dass nach einem Passwort gefragt wird?
  • Passwortsicherheit — Wie sicher sind die Passwörter für die Benutzeraccounts auf dem Rechner?
  • Administrative Kontrolle — Wer hat alles einen Account auf dem System, und wie viel administrative Kontrolle wird diesen Accounts gewährt?
  • Verfügbare Netzwerkdienste — Welche Dienste horchen auf dem Netzwerk auf Anfragen, und sollten diese überhaupt aktiv sein?
  • Persönliche Firewalls — Welche Art von Firewall, wenn überhaupt, ist nötig?
  • Kommunikationstools mit erweiterter Sicherheit — Welche Tools sollten zur Kommunikation zwischen Arbeitsplatzrechnern verwendet werden, und welche sollten vermieden werden?

2.1.2. BIOS und Bootloader-Sicherheit

Passwortschutz für das BIOS (oder BIOS-Äquivalent) und den Bootloader kann unbefugte Benutzer, die physischen Zugang zu Ihren Systemen erlangen, davon abhalten, externe Medien zu booten oder sich durch den Einzelbenutzermodus als Root anzumelden. Die Sicherheitsmaßnahmen, mithilfe derer Sie sich vor solchen Attacken schützen sollten, hängen zum einen von den Informationen ab, die auf dem Arbeitsplatzrechner gespeichert sind, und zum anderen vom Standort des Rechners.
Wenn zum Beispiel ein Computer auf einer Messe verwendet wird und keine sensiblen Daten enthält, ist es nicht unbedingt wichtig, solche Attacken zu verhindern. Wenn jedoch ein Laptop eines Mitarbeiters mit privaten, nicht-passwortgeschützten SSH-Schlüsseln zum Firmennetzwerk auf der gleichen Messe unbeaufsichtigt gelassen wird, kann dies zu einem bedeutenden Sicherheitsbruch führen, der Auswirkungen auf das gesamte Unternehmen haben kann.
Wenn sich der Rechner dagegen an einem Ort befindet, zu dem nur befugte oder vertrauenswürdige Personen Zugang haben, ist das Sichern des BIOS oder des Bootloaders nicht unbedingt notwendig.

2.1.2.1. BIOS-Passwörter

Es gibt zwei Hauptgründe für den Schutz des BIOS eines Computers durch Passwörter [11]:
  1. Änderungen an den BIOS-Einstellungen verhindern — Hat ein Eindringling Zugang zum BIOS, kann dieser den Bootvorgang von einer Diskette oder einer CD-ROM festlegen. Dies ermöglicht dann, in den Rettungsmodus oder Einzelbenutzermodus zu gelangen und von hier aus schädliche Prozesse auf dem System zu starten oder sensible Daten zu kopieren.
  2. System-Boot verhindern — Einige BIOS erlauben Ihnen, den Bootvorgang selbst mit einem Passwort zu schützen. Ist dies aktiviert, muss ein Passwort eingegeben werden, bevor das BIOS den Bootloader startet.
Da die Methoden für das Einstellen von BIOS-Passwörtern sich von Hersteller zu Hersteller unterscheiden, lesen Sie bitte das Handbuch Ihres Computers für weitere Informationen.
Sollten Sie das BIOS-Passwort vergessen, kann es oft entweder mit Jumpern im Motherboard oder durch das Entfernen der CMOS-Batterie zurückgesetzt werden. Daher ist es sinnvoll, wenn möglich das Computergehäuse abzuschließen. Bevor Sie jedoch versuchen, die CMOS-Batterie zu entfernen, sollten Sie das Handbuch Ihres Computers oder Motherboards lesen.
2.1.2.1.1. Sicherung von nicht-x86-Plattformen
Andere Architekturen verwenden verschiedene Programme zum Ausführen von Low-Level-Aufgaben, die mit denen des BIOS auf einem x86-System äquivalent sind. So verwenden zum Beispiel Intel® Itanium™-basierte Computer die Extensible Firmware Interface (EFI) Shell.
Anweisungen für den Passwortschutz von BIOS-ähnlichen Programmen auf anderen Architekturen finden Sie in den Handbüchern des Herstellers.

2.1.2.2. Bootloader-Passwörter

Es gibt die folgenden wesentlichen Gründe für den Schutz eines Linux-Bootloaders:
  1. Zugang zum Einzelbenutzermodus verhindern — Wenn Angreifer in den Einzelbenutzermodus booten können, werden diese automatisch zu Root-Benutzern, ohne nach dem Root-Passwort gefragt zu werden.
  2. Zugang zur GRUB-Konsole verhindern — Wenn der Rechner GRUB als Bootloader verwendet, kann ein Angreifer die GRUB-Editor-Schnittstelle verwenden, um die Konfiguration zu ändern oder Informationen mithilfe des cat-Befehls zu sammeln.
  3. Zugang zu unsicheren Betriebssystemen verhindern — Haben Sie ein Dual-Boot-System, kann ein Angreifer während des Bootens ein Betriebssystem wie zum Beispiel DOS auswählen, das Zugangskontrollen und Dateiberechtigungen ignoriert.
Red Hat Enterprise Linux 6 wird mit dem GRUB-Bootloader für die x86-Plattform ausgeliefert. Detaillierte Informationen zu GRUB finden Sie im Red Hat Installationshandbuch.
2.1.2.2.1. Passwortschutz für GRUB
Sie können GRUB konfigurieren, um die ersten beiden, in Abschnitt 2.1.2.2, »Bootloader-Passwörter« angesprochenen Probleme zu vermeiden, indem Sie eine Passwortdirektive zur Konfigurationsdatei hinzufügen. Hierfür legen Sie erst ein sicheres Passwort fest, öffnen dann einen Shell-Prompt, melden sich als Root an und geben Folgendes ein:
/sbin/grub-md5-crypt
Wenn Sie dazu aufgefordert werden, geben Sie das GRUB-Passwort ein und drücken anschließend Enter. Daraufhin wird ein MD5-Hash des Passworts ausgegeben.
Bearbeiten Sie als Nächstes die GRUB-Konfigurationsdatei /boot/grub/grub.conf. Öffnen Sie die Datei und fügen Sie die nachfolgende Zeile unterhalb der timeout-Zeile im Hauptabschnitt des Dokuments ein:
password --md5 <password-hash>
Ersetzen Sie <password-hash> durch den Wert, der von /sbin/grub-md5-crypt[12] ausgegeben wurde.
Wenn Sie das nächste Mal Ihr System booten, verhindert das GRUB-Menü den Zugriff auf den Editor oder die Befehlszeilen-Schnittstelle, bis Sie p drücken und dann das GRUB-Passwort eingeben.
Diese Lösung hält jedoch Angreifer nicht davon ab, in einer Dual-Boot-Umgebung in ein unsicheres Betriebssystem zu booten. Hierfür müssen Sie einen anderen Teil der Datei /boot/grub/grub.conf bearbeiten.
Suchen Sie die title-Zeile des Betriebssystems, das sie absichern möchten, und fügen Sie direkt darunter eine Zeile mit der lock-Direktive ein.
Für ein DOS-System sollte der Absatz etwa wie folgt beginnen:
title DOS lock

Warnung

Es muss eine password-Zeile im Hauptabschnitt der /boot/grub/grub.conf-Datei vorhanden sein, damit diese Methode funktionieren kann. Andernfalls kann ein Angreifer auf den GRUB-Editor zugreifen und die lock-Zeile entfernen.
Wenn Sie für einen bestimmten Kernel oder ein Betriebssystem ein anderes Passwort festlegen möchten, fügen Sie eine lock-Zeile gefolgt von einer Passwortzeile in den Absatz ein.
Jeder Absatz, den Sie mit einem eindeutigen Passwort schützen möchten, sollte mit einer Zeile ähnlich dem folgenden Beispiel beginnen:
title DOS lock password --md5 <password-hash>

2.1.3. Passwortsicherheit

Passwörter werden in Red Hat Enterprise Linux als Hauptmethode zur Überprüfung der Benutzeridentität eingesetzt. Aus diesem Grund ist die Passwortsicherheit sehr wichtig für den Schutz des Benutzers, des Arbeitsplatzrechners und des Netzwerks.
Aus Sicherheitsgründen konfiguriert das Installationsprogramm das System zur Verwendung von Secure Hash Algorithm 512 (SHA512) und Shadow-Passwörtern. Es wird dringend empfohlen, diese Einstellungen nicht zu verändern.
Wenn Sie die Shadow-Passwörter während der Installation deaktivieren, werden alle Passwörter als unidirektionaler Hash in der allgemein lesbaren /etc/passwd-Datei gespeichert, wodurch das System potenziell für Angriffe verwundbar wird, bei denen Passwörter offline geknackt werden. Erlangt ein Angreifer als regulärer Benutzer Zugriff auf das System, kann er die /etc/passwd-Datei auf seinen eigenen Rechner kopieren und diverse Programme zum Knacken von Passwörtern darüber laufen lassen. Befindet sich ein unsicheres Passwort in der Datei, ist es nur eine Frage der Zeit, bis es von diesen Programmen geknackt wird.
Shadow-Passwörter machen diese Art von Angriff unmöglich, da die Passwort-Hashes in der Datei /etc/shadow gespeichert werden, die nur vom Root-Benutzer gelesen werden kann.
Dies zwingt einen möglichen Angreifer, Passwörter auf dem Rechner von Remote aus über einen Netzwerkdienst wie zum Beispiel SSH oder FTP zu knacken. Diese Art von Angriff ist wesentlich langsamer und hinterlässt offensichtliche Spuren, da Hunderte von gescheiterten Anmeldeversuchen in Systemdateien aufgezeichnet werden. Wenn der Angreifer jedoch eine Attacke mitten in der Nacht startet und Sie schwache Passwörter auf dem System haben, erlangt der Angreifer eventuell Zugang noch vor Morgengrauen und konnte seine Spuren in den Protokolldateien bereits verwischen.
Ein weiteres Problem über die Überlegungen zu Format und Speicherung hinaus, ist der Inhalt. Das wichtigste, was ein Benutzer tun kann, um seinen Account gegen eine Passwortattacke zu schützen, ist das Erstellen eines sicheren Passworts.

2.1.3.1. Erstellen sicherer Passwörter

Beim Erstellen von Passwörtern ist es sinnvoll, die folgenden Richtlinien zu befolgen:
  • Verwenden Sie nicht nur Wörter oder Zahlen — Sie sollten für ein Passwort nicht ausschließlich Wörter oder ausschließlich Zahlen verwenden.
    Hier einige Beispiele für unsichere Passwörter:
    • 8675309
    • juan
    • hackme
  • Verwenden Sie keine erkennbaren Wörter — Wörter wie Namen, im Wörterbuch stehende Wörter oder Begriffe aus Fernsehsendungen oder Romanen sollten vermieden werden, auch wenn diese am Ende mit Zahlen versehen werden.
    Hier einige Beispiele für unsichere Passwörter:
    • john1
    • DS-9
    • mentat123
  • Verwenden Sie keine Wörter in anderen Sprachen — Programme zum Knacken von Passwörtern prüfen oft anhand von Wortlisten, die Wörterbücher in anderen Sprachen umfassen. Sich für sichere Passwörter auf Fremdsprachen zu verlassen ist daher häufig wenig hilfreich.
    Hier einige Beispiele für unsichere Passwörter:
    • cheguevara
    • bienvenido1
    • 1dummkopf
  • Verwenden Sie keine Hacker-Begriffe — Glauben Sie nicht, dass Sie auf der sicheren Seite sind, wenn Sie Hacker-Begriffe — auch l337 (LEET) genannt — für Ihre Passwörter verwenden. Viele Wortlisten enthalten LEET-Begriffe.
    Hier einige Beispiele für unsichere Passwörter:
    • H4X0R
    • 1337
  • Verwenden Sie keine persönlichen Informationen — Vermeiden Sie die Verwendung von persönlichen Informationen in Ihren Passwörtern. Wenn der Angreifer Sie kennt, kann er Ihr Passwort leichter herausfinden. Sehen Sie nachfolgend eine Liste mit zu vermeidenden Informationen beim Erstellen eines Passworts:
    Hier einige Beispiele für unsichere Passwörter:
    • Ihren Namen
    • Den Namen von Haustieren
    • Die Namen von Familienmitgliedern
    • Jegliche Geburtstage
    • Ihre Telefonnummer oder Postleitzahl
  • Drehen Sie keine erkennbaren Wörter um — Gute Passwortprogramme überprüfen gemeinsprachliche Wörter auch rückwärts, das Invertieren von schlechten Passwörtern machen diese also nicht sicherer.
    Hier einige Beispiele für unsichere Passwörter:
    • R0X4H
    • nauj
    • 9-DS
  • Schreiben Sie sich Ihr Passwort nicht auf — Bewahren Sie Ihr Passwort niemals auf Papier auf. Es ist wesentlich sicherer, sich das Passwort zu merken.
  • Verwenden Sie nie das gleiche Passwort für alle Ihre Rechner — Es ist wichtig, dass Sie separate Passwörter für jeden Recher erstellen. So sind nicht alle Rechner auf einen Schlag betroffen, falls ein System einem Angriff zum Opfer fällt.
Die folgenden Richtlinien helfen Ihnen dabei, ein sicheres Passwort zu erstellen:
  • Das Passwort sollte mindestens acht Zeichen enthalten — Je länger das Passwort, desto besser. Wenn Sie MD5-Passwörter verwenden, sollten diese 15 Zeichen oder mehr enthalten. DES-Passwörter sollten die maximale Länge nutzen (acht Zeichen).
  • Mischen Sie Groß- und Kleinbuchstaben — In Red Hat Enterprise Linux wird Groß- und Kleinschreibung unterschieden, mischen Sie daher Groß- und Kleinbuchstaben, um die Sicherheit des Passworts zu erhöhen.
  • Mischen Sie Buchstaben und Zahlen — Das Hinzufügen von Zahlen, insbesondere in der Mitte des Passwortes (nicht nur am Anfang oder Ende), verstärkt die Sicherheit des Passworts.
  • Verwenden Sie Sonderzeichen — Nicht-alphanumerische Zeichen wie z. B. &, $ und > können die Sicherheit des Passworts signifikant erhöhen (nicht möglich für DES-Passwörter).
  • Wählen Sie ein Passwort, das Sie sich leicht merken können — selbst das beste Passwort hilft Ihnen nicht weiter, wenn Sie sich nicht daran erinnern können. Verwenden Sie daher Akronyme oder andere mnemonische Techniken, um sich das Passwort zu merken.
Durch all diese Regeln erscheint es schwierig, ein Passwort zu erstellen, das all die Kriterien für sichere Passwörter erfüllt und gleichzeitig die Charakteristiken von schlechten Passwörtern vermeidet. Glücklicherweise gibt es einige einfache Schritte, mit deren Hilfe Sie ein leicht zu merkendes, sicheres Passwort generieren können.
2.1.3.1.1. Methode zur Erstellung sicherer Passwörter
Es gibt viele verschiedene Methoden, sichere Passwörter zu erstellen. Eine der beliebtesten Methoden verwendet Akronyme. Zum Beispiel:
  • Überlegen Sie sich einen leicht zu merkenden Satz, wie zum Beispiel:
    "over the river and through the woods, to grandmother's house we go."
  • Verwandeln Sie dies als Nächstes in ein Akronym (einschließlich der Satzzeichen).
    otrattw,tghwg.
  • Machen Sie das Passwort komplexer, indem Sie Buchstaben durch Zahlen und Sonderzeichen austauschen. Ersetzen Sie zum Beispiel t durch 7 und a durch das at-Symbol (@):
    o7r@77w,7ghwg.
  • Machen Sie es noch komplexer, indem Sie mindestens einen Buchstaben groß schreiben, zum Beispiel H.
    o7r@77w,7gHwg.
  • Und bitte verwenden Sie nicht unser Beispielpasswort für Ihre Systeme.
Das Erstellen sicherer Passwörter ist von größter Wichtigkeit, genauso wichtig ist jedoch die richtige Verwaltung der Passwörter, insbesondere für Systemadministratoren in größeren Unternehmen. Im nächsten Abschnitt werden Verfahren für das Erstellen und Verwalten von Benutzerpasswörtern innerhalb eines Unternehmens beschrieben.

2.1.3.2. Erstellen von Benutzerpasswörtern innerhalb eines Unternehmens

Wenn es eine große Anzahl von Benutzern in einem Unternehmen gibt, haben Systemadministratoren zwei grundlegende Möglichkeiten, um die Verwendung sicherer Passwörter zu erzwingen. Sie können entweder selbst Passwörter für die Benutzer erstellen, oder aber Benutzer ihre eigenen Passwörter erstellen lassen und dabei deren Qualität überprüfen.
Das Erstellen der Passwörter für den Benutzer stellt sicher, dass die Passwörter sicher sind, kann aber schnell zu einer ausufernden Arbeit werden, wenn das Unternehmen wächst. Außerdem erhöht dies das Risiko, dass die Benutzer ihre Passwörter aufschreiben.
Aus diesen Gründen ziehen es die meisten Systemadministratoren vor, dass die Benutzer ihre eigenen Passwörter erstellen, diese jedoch auf ihre Sicherheit prüfen und in einigen Fällen Benutzer durch die Passwortalterung dazu zu zwingen, ihre Passwörter in regelmäßigen Abständen zu ändern.
2.1.3.2.1. Erzwingen sicherer Passwörter
Um das Netzwerk vor Eindringlingen zu schützen, sollten Systemadministratoren sicherstellen, dass die im Unternehmen verwendeten Passwörter sicher sind. Wenn Benutzer aufgefordert werden, ihre eigenen Passwörter zu erstellen oder zu ändern, können sie dies über die Befehlszeilenapplikation passwd tun, die Pluggable Authentication Manager (PAM) unterstützt und daher prüft, ob ein Passwort zu kurz oder anderweitig zu unsicher ist. Diese Prüfung erfolgt mit dem pam_cracklib.so-PAM-Modul. Da PAM anpassbar ist, ist es möglich, weitere Passwort-Integritätsprüfer hinzuzufügen wie z. B. pam_passwdqc (erhältlich unter http://www.openwall.com/passwdqc/) oder ein neues Modul zu schreiben. Eine Liste erhältlicher PAM-Module finden Sie unter http://www.kernel.org/pub/linux/libs/pam/modules.html. Weitere Informationen über PAM finden Sie unter Managing Single Sign-On and Smart Cards.
Die Passwortprüfung zum Erstellungszeitpunkt erkennt schlechte Passwörter jedoch nicht so effektiv wie ein Programm zum Knacken von Passwörtern.
Es gibt eine Vielzahl an Passwort-Cracking-Programmen, die unter Red Hat Enterprise Linux laufen, jedoch nicht mit dem Betriebssystem ausgeliefert werden. Nachfolgend finden Sie eine kurze Liste der beliebtesten Passwort-Cracking-Programme:
  • John The Ripper — Ein schnelles und flexibles Passwort-Cracking-Programm. Es ermöglicht die Verwendung mehrerer Wortlisten und ist fähig zum Brute-Force Passwort-Cracking. Es ist unter http://www.openwall.com/john/ erhältlich.
  • Crack — Die vielleicht bekannteste Passwort-Cracking-Software. Crack ist ebenfalls sehr schnell, jedoch nicht so einfach zu verwenden wie John The Ripper. Es ist unter http://www.crypticide.com/alecm/security/crack/c50-faq.html erhältlich.
  • SlurpieSlurpie funktioniert ähnlich wie John The Ripper und Crack, ist jedoch darauf ausgelegt, auf mehreren Computern gleichzeitig zu laufen und ermöglicht so einen verteilten Passwort-Cracking-Angriff. Es ist erhältlich unter http://www.ussrback.com/distributed.htm, zusammen mit einer Reihe anderer Tools zur Bewertung der Sicherheit bei verteilten Passwort-Cracking-Angriffen.

Warnung

Bitte holen Sie sich stets eine schriftliche Genehmigung ein, bevor Sie Passwörter innerhalb eines Unternehmens zu knacken versuchen.
2.1.3.2.2. Passphrasen
Passphrasen und Passwörter bilden die Eckpfeiler der Sicherheit in den meisten heutigen Systemen. Leider gehören Technologien wie biometrische Daten oder Zwei-Wege-Authentifikation in den meisten Systemen noch nicht zum Standard. Wenn Passwörter zur Sicherung eines Systems verwendet werden müssen, sollten stattdessen Passphrasen in Erwägung gezogen werden. Passphrasen sind länger als Passwörter und bieten eine höhere Sicherheit selbst im Vergleich mit Passwörtern, die Sonderzeichen und Ziffern enthalten.
2.1.3.2.3. Passwortalterung
Passwortalterung ist eine weitere Methode, die von Systemadministratoren verwendet wird, um unsicheren Passwörtern in einem Unternehmen vorzubeugen. Passwortalterung bedeutet, dass ein Benutzer nach einer bestimmten Zeit (gewöhnlich 90 Tage) aufgefordert wird, ein neues Passwort festzulegen. Wird der Benutzer regelmäßig zur Änderung seines Passworts gezwungen, ist somit selbst ein geknacktes Passwort dem Angreifer nur für eine begrenzte Zeit nützlich. Der Nachteil der Passwortalterung ist jedoch, dass Benutzer eher dazu neigen, sich die Passwörter aufzuschreiben.
Es gibt zwei Programme für das Festlegen der Passwortalterung unter Red Hat Enterprise Linux: den Befehl chage oder die grafische Benutzerverwaltung (system-config-users).
Die Option -M des chage-Befehls legt die maximale Anzahl von Tagen fest, für die das Passwort gültig ist. Wenn Sie zum Beispiel festlegen wollen, dass ein Benutzerpasswort nach 90 Tagen ungültig wird, geben Sie den folgenden Befehl ein:
chage -M 90 <username>
Ersetzen Sie im oben genannten Befehl <username> mit dem Namen des Benutzers. Wenn Sie nicht möchten, dass das Passwort ungültig wird, verwenden Sie den Wert 99999 nach der Option -M (dies entspricht etwas mehr als 273 Jahren).
Sie können den Befehl chage auch im interaktiven Modus verwenden, um mehrere Details der Passwortalterung und des Benutzerkontos zu ändern. Verwenden Sie folgenden Befehl für den interaktiven Modus:
chage <username>
Nachfolgend sehen Sie eine interaktive Beispielsession mit diesem Befehl:
[root@myServer ~]# chage davido 
Changing the aging information for davido 
Enter the new value, or press ENTER for the default 
Minimum Password Age [0]: 10
Maximum Password Age [99999]: 90 
Last Password Change (YYYY-MM-DD) [2006-08-18]: 
Password Expiration Warning [7]: 
Password Inactive [-1]: 
Account Expiration Date (YYYY-MM-DD) [1969-12-31]: 
[root@myServer ~]#
Werfen Sie einen Blick auf die Handbuchseite für weitere Informationen über verfügbare Optionen.
Sie können auch die grafische Applikation zur Benutzerverwaltung nutzen, um wie nachfolgend beschrieben Richtlinien zur Passwortalterung festzulegen. Beachten Sie, dass Sie zur Durchführung dieses Verfahrens über Administratorrechte verfügen müssen.
  1. Klicken Sie im System-Menü auf der oberen Menüleiste auf Administration und anschließend auf Benutzer und Gruppen, um die Benutzerverwaltung anzuzeigen. Alternativ können Sie dazu auch den Befehl system-config-users an einem Shell-Prompt eingeben.
  2. Klicken Sie auf den Benutzer-Reiter und wählen Sie den gewünschten Benutzer aus der Liste aus.
  3. Klicken Sie auf Eigenschaften in der Werkzeugleiste, um das Dialogfeld mit den Benutzereigenschaften anzuzeigen (oder wählen Sie Eigenschaften aus dem Datei-Menü).
  4. Klicken Sie auf den Passwort-Info-Reiter und markieren Sie das Auswahlkästchen Ablauf des Passworts aktivieren.
  5. Geben Sie im Feld Verbleibende Tage bis zur Änderung den gewünschten Wert ein und klicken Sie anschließend auf OK.
Angeben der Optionen zur Passwortalterung

Abbildung 2.1. Angeben der Optionen zur Passwortalterung

2.1.4. Administrative Kontrolle

Bei der Verwaltung eines Heimcomputers muss der Benutzer einige Aufgaben als Root-Benutzer durchführen, oder unter Verwendung eines setuid-Programms wie sudo oder su. Ein setuid-Programm ist ein Programm, das mit der Benutzer-ID (UID) des Besitzers dieses Programms ausgeführt wird, statt mit der Benutzer-ID desjenigen Benutzers, der dieses Programm ausführt. Solche Programme sind durch ein s im Besitzerabschnitt eines ausführlichen Listings gekennzeichnet, wie im folgenden Beispiel veranschaulicht:
-rwsr-xr-x 1 root root 47324 May 1 08:09 /bin/su

Anmerkung

Das s kann ein Groß- oder Kleinbuchstabe sein. Falls es ein Großbuchstabe ist, bedeutet dies, dass das darunterliegende Berechtigungs-Bit nicht gesetzt ist.
Systemadministratoren eines Unternehmens dagegen müssen festlegen, in welchem Umfang die Benutzer im Unternehmen administrative Kontrolle über ihre Computer erhalten dürfen. Mithilfe des PAM-Moduls namens pam_console.so können einige Vorgänge, die normalerweise nur dem Root-Benutzer erlaubt sind, wie z. B. das Neustarten und Einhängen von Wechseldatenträgern, dem ersten Benutzer erlaubt werden, der sich an der physischen Konsole anmeldet (siehe auch Managing Single Sign-On and Smart Cards für weitere Informationen über das pam_console.so-Modul). Andere wichtige Systemadministrationsaufgaben wie das Ändern von Netzwerkeinstellungen, Konfigurieren einer neuen Maus oder das Einhängen von Netzwerkgeräten sind jedoch ohne Administratorrechte nicht möglich, weshalb Systemadministratoren entscheiden müssen, in welchem Umfang die Benutzer in ihrem Netzwerk administrative Kontrolle erhalten sollen.

2.1.4.1. Gewähren von Root-Zugriff

Sind die Benutzer innerhalb eines Unternehmens vertrauenswürdig und computerversiert, 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 selbst durchgeführt werden kann und somit Systemadministratoren mehr Zeit für Netzwerksicherheit und andere, wichtige Aufgaben haben.
Andererseits kann das Vergeben von Root-Rechten an Einzelbenutzer zu folgenden Problemen führen:
  • Fehlkonfiguration des Rechners — Benutzer mit Root-Rechten können ihre Computer unter Umständen falsch konfigurieren und benötigen dann Hilfe, oder schlimmer noch, können Sicherheitslücken öffnen, ohne dies zu merken.
  • Ausführen unsicherer Dienste — Benutzer mit Root-Berechtigungen können unsichere Dienste, wie zum Beispiel FTP oder Telnet auf ihrem Rechner ausführen und dadurch Benutzernamen und Passwörter einem Risiko aussetzen, da diese im Klartext über das Netzwerk verschickt werden.
  • Als Root E-Mail-Anhänge öffnen — Wenn auch selten, so gibt es doch E-Mail-Viren, die Linux angreifen. Dies wird jedoch nur dann zum Problem, wenn sie als Root ausgeführt werden.

2.1.4.2. Verwehren von Root-Zugriff

Falls ein Administrator aus diesen oder anderen Gründen den Benutzern keine Root-Rechte gewähren möchte, sollte das Root-Passwort geheim gehalten werden und der Zugriff auf Runlevel 1 oder Einzelbenutzermodus mithilfe eines Bootloader-Passworts verwehrt werden (siehe Abschnitt 2.1.2.2, »Bootloader-Passwörter« für weitere Informationen diezbezüglich.)
Tabelle 2.1, »Methoden zum Deaktivieren des Root-Accounts« zeigt Methoden, mit denen ein Administrator Anmeldungen als Root noch weiter verhindern kann:

Tabelle 2.1. Methoden zum Deaktivieren des Root-Accounts

Methode Beschreibung Effekt Keine Auswirkung auf
Ändern der Root-Shell Bearbeiten Sie die /etc/passwd-Datei und ändern Sie die Shell von /bin/bash auf /sbin/nologin.
Verhindert Zugang zur Root-Shell und protokolliert jegliche Versuche.
Die folgenden Programme werden daran gehindert, auf den Root-Account zuzugreifen:
· login
· gdm
· kdm
· xdm
· su
· ssh
· scp
· sftp
Programme, die keine Shell benötigen, wie zum Beispiel FTP-Clients, Mail-Clients und viele setuid-Programme.
Folgende Programme werden nicht daran gehindert, auf den Root-Account zuzugreifen:
· sudo
· FTP-Clients
· E-Mail-Clients
Deaktivieren des Root-Zugriffs über Konsolengeräte (tty) Eine leere /etc/securetty-Datei verhindert die Anmeldung als Root auf jeglichen am Computer angeschlossenen Geräten.
Verhindert den Zugriff auf den Root-Account über die Konsole oder das Netzwerk. Folgende Programme werden daran gehindert, auf den Root-Account zuzugreifen:
· login
· gdm
· kdm
· xdm
· Andere Netzwerkdienste, die ein tty öffnen
Programme, die sich nicht als Root anmelden, jedoch administrative Aufgaben mittels setuid oder anderen Mechanismen ausführen.
Folgende Programme werden nicht daran gehindert, auf den Root-Account zuzugreifen:
· su
· sudo
· ssh
· scp
· sftp
Deaktivieren von SSH-Logins als Root Bearbeiten Sie die Datei /etc/ssh/sshd_config und setzen Sie den PermitRootLogin-Parameter auf no.
Verhindert den Root-Zugriff via OpenSSH-Suite-Tools. Folgende Programme werden daran gehindert, auf den Root-Account zuzugreifen:
· ssh
· scp
· sftp
Da dies nur die OpenSSH-Tool-Suite betrifft, sind keine anderen Programme von dieser Einstellung betroffen.
Mit PAM den Root-Zugang zu Diensten einschränken. Bearbeiten Sie die Datei für den Zieldienst im Verzeichnis /etc/pam.d/. Stellen Sie sicher, dass die pam_listfile.so zur Authentifizierung erforderlich ist.[a]
Verhindert den Root-Zugriff auf Netzwerkdienste, die PAM verwenden.
Die folgenden Dienste werden daran gehindert, auf den Root-Account zuzugreifen:
· FTP-Clients
· E-Mail-Clients
· login
· gdm
· kdm
· xdm
· ssh
· scp
· sftp
· Jegliche Dienste, die PAM verwenden
Programme und Dienste, die PAM nicht berücksichtigen.
2.1.4.2.1. Deaktivieren der Root-Shell
Um zu verhindern, dass sich Benutzer direkt als Root anmelden, kann der Systemadministrator die Shell des Root-Accounts in der /etc/passwd-Datei auf /sbin/nologin setzen. Dies verhindert Zugang zum Root-Account über Befehle, die eine Shell benötigen, wie zum Beispiel su oder ssh.

Wichtig

Programme, die keinen Zugang zur Shell benötigen, wie z. B. E-Mail-Clients oder der sudo-Befehl, können weiterhin auf den Root-Account zugreifen.
2.1.4.2.2. Deaktivieren von Root-Anmeldungen
Um den Zugang zum Root-Account noch weiter einzuschränken, können Administratoren Root-Anmeldungen an der Konsole verhindern, indem sie die Datei /etc/securetty bearbeiten. In dieser Datei werden alle Geräte aufgelistet, an denen sich der Root-Benutzer anmelden darf. Existiert die Datei nicht, darf sich der Root-Benutzer über jedes beliebige Kommunikationsgerät 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, wobei die Passwörter im Klartext über das Netzwerk versendet werden. Standardmäßig erlaubt die Red Hat Enterprise Linux Datei /etc/securetty dem Root-Benutzer nur, sich an der mit dem Rechner 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

Warnung

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.
2.1.4.2.3. Deaktivieren von Root SSH-Anmeldungen
Root-Anmeldungen über das SSH-Protokoll sind in Red Hat Enterprise Linux 6 standardmäßig deaktiviert. Falls diese Option jedoch zwischenzeitlich aktiviert wurde, kann sie wieder deaktiviert werden, indem Sie die Konfigurationsdatei des SSH-Daemons (/etc/ssh/sshd_config) bearbeiten. Ändern Sie folgende Zeile:
PermitRootLogin yes
zu:
PermitRootLogin no
Damit diese Änderungen wirksam werden, muss der SSH-Daemon neu gestartet werden. Führen Sie dazu den folgenden Befehl aus:
kill -HUP `cat /var/run/sshd.pid`
2.1.4.2.4. Deaktivieren von PAM für Root
PAM ermöglicht durch das /lib/security/pam_listfile.so-Modul eine größere Flexibilität in der Ablehnung bestimmter Accounts. Mithilfe dieses Moduls kann der Administrator eine Liste von Benutzern festlegen, 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 lesen 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 zu den PAM-Konfigurationsdateien 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 über PAM finden Sie unter Managing Single Sign-On and Smart Cards.

2.1.4.3. Beschränken des Root-Zugangs

Statt dem Root-Benutzer den Zugriff völlig zu verwehren, kann der Administrator den Zugriff ausschließlich über setuid-Programme wie su oder sudo gewähren.
2.1.4.3.1. Der su-Befehl
Wenn ein Benutzer den su-Befehl ausführt, wird er nach dem Root-Passwort gefragt und erhält nach erfolgreicher Authentifizierung ein Root-Shell-Prompt.
Nach der Anmeldung über den su-Befehl ist der Benutzer tatsächlich der Root-Benutzer und hat vollständigen administrativen Zugriff auf das System[13]. Nachdem der Benutzer auf diese Weise zum Root-Benutzer geworden ist, kann er mit dem Befehl su zu jedem anderen Benutzer im System wechseln, ohne nach einem Passwort gefragt zu werden.
Da dieses Programm sehr mächtig ist, sollten Administratoren im Unternehmen den Zugang zu diesem Befehl beschränken.
Einer der einfachsten Wege dazu 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> durch den Benutzernamen, den Sie zur wheel-Gruppe hinzufügen möchten.
Sie können auch die grafische Benutzerverwaltung nutzen, um wie nachfolgend beschrieben Gruppenmitgliedschaften zu ändern. Beachten Sie, dass Sie zur Durchführung dieses Verfahrens über Administratorrechte verfügen müssen.
  1. Klicken Sie im System-Menü auf der oberen Menüleiste auf Administration und anschließend auf Benutzer und Gruppen, um die Benutzerverwaltung anzuzeigen. Alternativ können Sie dazu auch den Befehl system-config-users an einem Shell-Prompt eingeben.
  2. Klicken Sie auf den Benutzer-Reiter und wählen Sie den gewünschten Benutzer aus der Liste aus.
  3. Klicken Sie auf Eigenschaften in der Werkzeugleiste, um das Dialogfeld mit den Benutzereigenschaften anzuzeigen (oder wählen Sie Eigenschaften aus dem Datei-Menü).
  4. Klicken Sie auf den Gruppen-Reiter, markieren Sie das Auswahlkästchen für die "wheel"-Gruppe und klicken Sie anschließend auf OK. Siehe Abbildung 2.2, »Hinzufügen von Benutzern zur "wheel"-Gruppe.«.
Hinzufügen von Benutzern zur "wheel"-Gruppe.

Abbildung 2.2. Hinzufügen von Benutzern zur "wheel"-Gruppe.

Öffnen Sie die PAM-Konfigurationsdatei für su (/etc/pam.d/su) in einem Texteditor und entfernen Sie die Kommentierung # von der folgenden Zeile:
auth  required /lib/security/$ISA/pam_wheel.so use_uid
Hierdurch können nur Mitglieder der administrativen Gruppe wheel dieses Programm nutzen.

Anmerkung

Der Root-Benutzer ist standardmäßig Mitglied der wheel-Gruppe.
2.1.4.3.2. Der sudo-Befehl
Der sudo-Befehl bietet eine weitere Methode, Benutzern administrativen Zugang zu gewähren. Wenn ein vertrauenswürdiger Benutzer einem administrativen Befehl den sudo-Befehl voranstellt, wird dieser nach seinem eigenen Passwort gefragt. Nach erfolgreicher Authentifizierung und vorausgesetzt, dass der Befehl erlaubt ist, wird der administrative Befehl wie von einem Root-Benutzer ausgeführt.
Das grundlegende Format des sudo-Befehls lautet wie folgt:
sudo <command>
Im obigen Beispiel würde <command> durch einen Befehl ersetzt, der normalerweise für den Root-Benutzer reserviert ist, wie z. B. mount.

Wichtig

Benutzer des sudo-Befehls sollten sicherstellen, dass sie sich abmelden, bevor Sie sich von Ihrem Rechner entfernen, da Sudoers den Befehl innerhalb von fünf Minuten erneut ausführen können, ohne nach einem Passwort gefragt zu werden. Diese Einstellung kann mithilfe der Konfigurationsdatei /etc/sudoers geändert werden.
Der sudo-Befehl ermöglicht einen hohen 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 2.1.4.2.1, »Deaktivieren der Root-Shell « gezeigt.
Der sudo-Befehl liefert auch ein umfangreiches Audit-Protokoll. Jede erfolgreiche Authentifizierung wird in die Datei /var/log/messages geschrieben, und der ausgeführte Befehl samt Benutzername wird 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 dazu den Befehl visudo verwenden.
Um einem Benutzer umfassende 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
Dieses Beispiel besagt, dass der Benutzer juan den sudo-Befehl auf jedem Host für jeden Befehl ausführen kann.
Das nachfolgende Beispiel veranschaulicht die möglichen Feinheiten bei der Konfiguration von sudo:
%users localhost=/sbin/shutdown -h now
Dieses Beispiel besagt, dass jeder Benutzer den Befehl /sbin/shutdown -h now ausführen kann, solange dieser auf der Konsole ausgeführt wird.
Die sudoers-Handbuchseite enthält eine detaillierte Liste aller Optionen für diese Datei.

2.1.5. Verfügbare Netzwerkdienste

Während der Benutzerzugriff auf administrative Kontrollen hauptsächlich für Systemadministratoren innerhalb eines Unternehmens ein wichtiges Thema ist, ist die Kontrolle der Netzwerkdienste dagegen für jeden von höchster Priorität, der ein Linux-System verwaltet und verwendet.
Viele Dienste unter Red Hat Enterprise Linux verhalten sich als Netzwerkserver. Wenn ein Netzwerkdienst auf einem Rechner ausgeführt wird, horcht eine Server-Applikation (auch Daemon genannt) auf einem oder mehreren Ports auf Verbindungen. Jeder dieser Server sollte als potenzielle Angriffsstelle betrachtet werden.

2.1.5.1. Risiken für Dienste

Netzwerkdienste können viele Risiken für Linuxsysteme mit sich bringen. Nachfolgend finden Sie eine Liste der Hauptprobleme:
  • Denial-of-Service-Angriff (DoS) — Indem ein System mit Anfragen überflutet wird, kann ein Denial-of-Service-Angriff ein System zum völligen Stillstand bringen, da das System versucht, jede Anfrage zu protokollieren und zu beantworten.
  • Distributed-Denial-of-Service-Angriff (DDoS) — Eine Art von DoS-Angriff, bei dem mehrere infizierte Rechner (oft Tausende) missbraucht werden, um einen koordinierten Angriff auf einen Dienst durchzuführen und diesen mit Anfragen zu überfluten.
  • Skript-Angriff — Wenn ein Server Skripte zum Ausführen von serverseitigen Aufgaben verwendet, wie es Webserver gewöhnlich tun, kann ein Cracker durch nicht-sachgemäß erstellte Skripte einen Angriff initiieren. Diese Skript-Angriffe können zu einem Pufferüberlauf führen oder es dem Angreifer ermöglichen, Dateien auf dem Server zu ändern.
  • Pufferüberlauf-Angriff — Dienste, die sich auf Ports 0 bis 1023 verbinden, müssen als administrativer Benutzer ausgeführt werden. Hat die Applikation einen Pufferüberlauf, kann ein Angreifer Zugang zum System erlangen als der Benutzer, der den Daemon ausführt. Da Pufferüberläufe existieren, können Cracker mit automatisierten Tools das System auf Schwachstellen prüfen. Sobald diese dann Zugang zum System haben, können sie mithilfe automatisierter Root-Kits den Zugang zum System aufrecht erhalten.

Anmerkung

Die Bedrohung durch Schwachstellen, die bei Pufferüberläufen entstehen, wird in Red Hat Enterprise Linux durch ExecShield entschärft, einer ausführbaren Speichersegmentation und Schutztechnologie, unterstützt von x86-kompatiblen Einzelprozessor- und Multiprozessor-Kernels. ExecShield reduziert das Risiko eines Pufferüberlaufs, indem virtueller Speicher in ausführbare und nicht-ausführbare Segmente unterteilt wird. Jeglicher Programmcode, der versucht, sich außerhalb des ausführbaren Segments auszuführen (wie z. B. schädlicher Code, der unter Ausnutzung einer Pufferüberlauf-Sicherheitslücke eingeschleust wurde), löst einen Segmentierungsfehler aus und wird beendet.
Execshield beinhaltet auch Unterstützung für No eXecute (NX) Technologie auf AMD64-Plattformen und eXecute Disable (XD) Technologie auf Itanium und Intel® 64-Systemen. Diese Technologien arbeiten zusammen mit ExecShield, um schädlichen Code davon abzuhalten, im ausführbaren Bereich des virtuellen Speichers mit einer Granularität von 4 KB ausführbaren Codes abzulaufen, wodurch das Risiko eines heimlichen Angriffs unter Ausnutzung eines Pufferüberlaufs verringert wird.

Wichtig

Um die Angriffsfläche des Netzwerks zu verringern, sollten alle nicht genutzten Dienste ausgeschaltet werden.

2.1.5.2. Identifizieren und Konfigurieren von Diensten

Zur Erhöhung der Sicherheit sind die meisten Netzwerkdienste, die mit Red Hat Enterprise Linux installiert werden, standardmäßig deaktiviert. Es gibt jedoch einige nennenswerte Ausnahmen:
  • cupsd — Der standardmäßige Druckerserver für Red Hat Enterprise Linux.
  • lpd — Ein alternativer Druckerserver.
  • xinetd — Ein Super-Server, der die Verbindungen zu einer Reihe untergeordneter Server, wie zum Beispiel gssftp und telnet steuert.
  • sendmail — Der Sendmail Mail Transport Agent (MTA) ist standardmäßig aktiviert, horcht jedoch nur auf Verbindungen von localhost.
  • 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 anschließen, sollten Sie cupsd nicht ausführen. Das gleiche gilt für portmap. Wenn Sie keine NFSv3-Datenträger einhängen oder NIS (den ypbind-Dienst) nicht verwenden, sollte Portmap deaktiviert werden.
Tool zur Dienstkonfiguration

Abbildung 2.3. Tool zur Dienstkonfiguration

Wenn Sie sich nicht sicher sind, welchen Zweck ein Dienst hat, finden Sie im Tool zur Dienstkonfiguration ein Beschreibungsfeld, wie in Abbildung 2.3, »Tool zur Dienstkonfiguration« dargestellt, das zusätzliche Informationen liefert.
Das reine Überprüfen, welche Netzwerkdienste zum Bootzeitpunkt verfügbar sind, ist jedoch nicht genug. Sie sollten auch prüfen, welche Ports offen sind und horchen. Weitere Informationen zu diesem Thema finden Sie unter Abschnitt 2.2.8, »Überprüfen der horchenden Ports«.

2.1.5.3. Unsichere Dienste

Jeder Netzwerkdienst ist potenziell unsicher. Aus diesem Grund ist es wichtig, nicht benötigte Dienste zu deaktivieren. Zudem werden regelmäßig neue Schwachstellen in Diensten gefunden und gepatcht, weshalb es ebenfalls enorm wichtig ist, die Pakete für Netzwerkdienste immer auf dem neuesten Stand zu halten. Weitere Informationen hierzu finden Sie unter Abschnitt 1.5, »Sicherheitsaktualisierungen«.
Einige Netzwerkprotokolle sind von Natur aus unsicherer als andere. Dazu gehören insbesondere Dienste mit folgenden Merkmalen:
  • Unverschlüsselte Übertragung von Benutzernamen und Passwörtern über ein Netzwerk — Viele ältere Protokolle, wie beispielsweise Telnet und FTP, verschlüsseln die Authentifizierung nicht und sollten möglichst deaktiviert werden.
  • Unverschlüsselte Übertragung von sensiblen Daten über ein Netzwerk — Viele Protokolle übertragen Daten unverschlüsselt über das Netzwerk. Zu diesen Protokollen gehört unter anderem Telnet, FTP, HTTP und SMTP. Viele Netzwerkdateisysteme wie z. B. NFS und SMB übertragen ebenfalls Informationen unverschlüsselt über das Netzwerk. Es liegt in der Verantwortung des Benutzers, einzuschränken, welche Art von Daten bei der Verwendung dieser Protokolle übertragen werden.
    Auch Remote-Speicherabbildungsdienste wie netdump übertragen den Speicherinhalt unverschlüsselt über das Netzwerk. Speicherauszüge können Passwörter, oder schlimmer noch, Datenbankeinträge und andere sensible Informationen enthalten.
    Andere Dienste wie finger und rwhod geben Informationen über Benutzer im System preis.
Zu den von Natur aus unsicheren Diensten gehören unter anderem rlogin, rsh, telnet und vsftpd.
Alle Remote-Login- und Shell-Programme (rlogin, rsh und telnet) sollten zugunsten von SSH vermieden werden. Siehe Abschnitt 2.1.7, »Kommunikationstools mit verbesserter Sicherheit« für weitere Informationen über sshd.
FTP ist von Natur aus 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 2.2.6, »Sichern von FTP«.
Dienste, die sorgfältig implementiert und hinter einer Firewall platziert werden sollten, umfassen:
  • finger
  • authd (in früheren Red Hat Enterprise Linux Releases identd genannt)
  • netdump
  • netdump-server
  • nfs
  • rwhod
  • sendmail
  • smb (Samba)
  • yppasswdd
  • ypserv
  • ypxfrd
Weitere Informationen zur Sicherung von Netzwerkdiensten finden Sie unter Abschnitt 2.2, »Server-Sicherheit«.
Im nächsten Abschnitt werden Tools für das Einrichten einer Firewall beschrieben.

2.1.6. Persönliche Firewalls

Sobald die notwendigen Netzwerkdienste konfiguriert sind, ist es wichtig, eine Firewall zu implementieren.

Wichtig

Sie sollten die notwendigen Netzwerkdienste konfigurieren und eine Firewall implementieren, bevor Sie sich mit dem Internet oder anderen nicht vertrauenswürdigen Netzwerken verbinden.
Firewalls verhindern, dass Netzwerkpakete Zugriff auf die Netzwerkschnittstelle des Systems erhalten. Wird eine Anfrage an einen Port gestellt, der von einer Firewall geschützt ist, wird diese Anfrage ignoriert. Horcht ein Dienst auf einen dieser blockierten Ports, kann dieser Dienst die Pakete nicht empfangen, und ist somit effektiv deaktiviert. Aus diesem Grund sollte man bei der Konfiguration einer Firewall darauf achten, dass der Zugang zu nicht benutzten Ports blockiert wird, Ports für konfigurierte Dienste jedoch offen bleiben.
Für die meisten Benutzer ist das beste Tool zur Konfiguration einer einfachen Firewall das einfache, grafische Firewall-Konfigurationstool, das standardmäßig in Red Hat Enterprise Linux enthalten ist: Tool zur Firewall-Konfiguration (system-config-securitylevel). Dieses Tool erzeugt breite iptables-Regeln für eine allgemeine Firewall, unter Verwendung einer grafischen Benutzeroberfläche.
Weitere Informationen zur Verwendung dieser Applikation und ihrer verfügbaren Optionen finden Sie unter Abschnitt 2.5.2, »Grundlegende Firewall-Konfiguration«
Für fortgeschrittene Benutzer und Server-Administratoren ist wahrscheinlich die manuelle Konfiguration einer Firewall mittels iptables die bessere Wahl. Weitere Informationen finden Sie unter Abschnitt 2.5, »Firewalls«. Einen umfassenden Leitfaden zum iptables-Befehl finden Sie unter Abschnitt 2.6, »IPTables«.

2.1.7. Kommunikationstools mit verbesserter Sicherheit

Mit wachsender Verbreitung und Beliebtheit des Internets wächst auch das Risiko, dass Kommunikationsdatenverkehr abgefangen wird. In den letzten Jahren wurden Tools entwickelt, die jegliche Kommunikation bei der Übertragung über das Netzwerk verschlüsseln.
Red Hat Enterprise Linux 6 wird mit zwei einfachen Tools geliefert, die Verschlüsselungsalgorithmen auf höchster Ebene (basierend auf öffentlichen Schlüsseln) zum Schutz der Daten bei der Übertragung im Netzwerk verwenden.
  • OpenSSH — Eine offene Implementierung des SSH-Protokolls zur Verschlüsselung von Netzwerkkommunikation.
  • Gnu Privacy Guard (GPG) — Eine offene Implementierung der PGP (Pretty Good Privacy) Verschlüsselungsapplikation zur Verschlüsselung von Daten.
OpenSSH ist eine sichere Methode für den Zugang zur einer entfernten Maschine und ersetzt ältere, unverschlüsselte Dienste wie telnet und rsh. OpenSSH umfasst einen Netzwerkdienst namens sshd und drei Befehlszeilen-Client-Applikationen:
  • ssh — Ein sicherer Client für den Zugriff auf Remote-Konsolen.
  • scp — Ein sicherer Befehl für Remote-Copy.
  • sftp — Ein sicherer Pseudo-FTP-Client, der interaktive Dateiübertragung ermöglicht.
Siehe Abschnitt 3.6, »Secure Shell« für weitere Informationen über OpenSSH.

Wichtig

Obwohl der sshd-Dienst von Natur aus sicher ist, muss dieser Dienst auf dem neuesten Stand gehalten werden, um Sicherheitsgefährdungen zu vermeiden. Unter Abschnitt 1.5, »Sicherheitsaktualisierungen« finden Sie weitere Informationen zu diesem Thema.
GPG ist eine mögliche Methode, um die private E-Mail-Kommunikation sicherzustellen. Es kann zum Versenden sensibler Daten per E-Mail über öffentliche Netzwerke sowie zum Schutz sensibler Daten auf Festplatten eingesetzt werden.


[11] Da sich das System-BIOS von Hersteller zu Hersteller unterscheidet, unterstützen u. U. einige nicht den Passwortschutz beider Typen, während andere vielleicht nur einen Typ und nicht den anderen unterstützen.
[12] GRUB akzeptiert auch Klartextpasswörter, aus Sicherheitsgründen wird jedoch empfohlen, die md5-Hash-Version zu verwenden.
[13] Dieser Zugang unterliegt nach wie vor den von SELinux verhängten Einschränkungen, falls aktiviert.