Im Folgenden erhalten Sie eine Beschreibung der unterschiedlichen Sicherheits-Funktionalitäten, mit denen Ihr System durch die jeweiligen Ebenen ausgestattet wird.
Dateirechte,
Versand von Warnmeldungen,
Periodische Sicherheits-Tests:
bei Dateien: können sie unter dem privilegierten Benutzer-Kennzeichen ausgeführt werden (suid root), sind sie schreibbar, besitzerlos,
hören an Ports: aktiv, neugierig (promiscuous[1]),
Integrität der Passwort-Dateien
X-Verbindungen,
Kontrolle offener Ports,
verfügbare Dienste,
Boot-Passwort,
authorisierte Klienten.
Funktion \ Ebene | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
globale Sicherheits-Checks | ja | ja | ja | ja | ||
umask für Benutzer | 002 | 002 | 002 | 002 | 077 | 077 |
umask für root | 002 | 002 | 002 | 002 | 002 | 077 |
Shell ohne Passwort | ja | |||||
Zugriff auf X-Anzeige | alle | lokal | lokal | keiner | keiner | keiner |
Benutzer in der Gruppe audio | ja | ja | ja | |||
. in $PATH | ja | ja | ||||
Warnungen in Datei /var/log/security.log | ja | ja | ja | ja | ja | |
Warnungen direkt auf tty | ja | ja | ja | ja | ||
Warnungen in syslog | ja | ja | ja | ja | ||
Warnungen als E-Mail an root | ja | ja | ja | ja | ||
Kontrolle der Dateien suid root | ja | ja | ja | ja | ||
MD5-Test der Dateien suid root | ja | ja | ja | ja | ||
Suche nach schreibbaren Dateien | ja | ja | ja | |||
Kontrolle der Dateirechte | ja | ja | ja | |||
Kontrolle von Dateien der Gruppe suid | ja | ja | ja | |||
Suche nach Dateien ohne Besitzer | ja | ja | ja | |||
Suche nach neugierigen Prozessen | ja | ja | ja | |||
Suche nach offenen Ports | ja | ja | ja | |||
Integritätskontrolle der passwd-Datei | ja | ja | ja | |||
Integritätskontrolle der shadow-Datei | ja | ja | ja | |||
täglicher Sicherheits-Check um Mitternacht | ja | ja | ja | |||
System-Ereignisse auf /dev/tty12 ausgeben | ja | ja | ja | |||
Strg-Alt-Entf darf nur root | ja | ja | ||||
Abschalten unbekannter Dienste | ja | ja | ||||
Boot-Passwort (grub/LILO) | ja | ja | ||||
Verbindungsaufbau erlaubt für | alle | alle | alle | alle | lokal | keiner |
Sechs der zehn periodischen Kontrollen können System-Änderungen erkennen. Nach jedem Check wird der aktuelle Systemzustand in Dateien unter /var/log/security/ gespeichert. Sollten nun Veränderungen seit dem letzten Check (normalerweise einen Tag vorher) aufgetreten sein, erhalten Sie eine Warnung. Die Checks sind:
Kontrolle der Dateien suid root
MD5-Test der Dateien suid root
Suche nach schreibbaren Dateien
Kontrolle von Dateien mit suid der Gruppe
Suche nach Dateien ohne Besitzer
Suche nach offenen Ports
NFS filesystems globally exported: (,,Weltweit exportierte NFS-Dateisysteme``) Dies muss als unsicher angesehen werden, da keine Möglichkeiten existieren, festzustellen, wer diese Dateisysteme eingehängt und was er evtl. verändert hat.
NFS mounts with missing nosuid: (,,NFS-Exporte mit fehlendem nosuid``) Diese Dateisysteme werden ohne die Option nosuid exportiert, die die Ausführung von suid-Programmen untersagt.
Host trusting files contain + sign: (,,Die Rechner-Vertrauens-Datei enthält das Zeichen +``) Das bedeutet, dass mindestens eine der Dateien /etc/hosts.equiv, /etc/shosts.equiv oder /etc/hosts.lpd Rechner enthält, die sich ohne saubere Authentifizierung mit Ihrem Rechner verbinden dürfen.
Executables found in the aliases files: (,,Ausführbare Programme in den Alias-Dateien gefunden``) Diese Warnung weist darauf hin, dass in mindestens einer der Dateien /etc/aliases und /etc/postfix/aliases Aliase definiert werden, die existierende Programme ,,verdecken``.
Setzt die Dateierzeugungsmaske (umask) für normale Benutzer-Kennzeichen auf den angegebenen Wert.
Setzt die Dateierzeugungsmaske (umask) für das privilegierte Benutzer-Kennzeichen root auf den angegebenen Wert.
Der Zugriff auf die Konsole erfolgt ohne Passwortabfrage.
alle: Ausnahmslos jeder kann ein X-Fenster auf Ihrem Schirm öffnen.
lokal: Nur Benutzer-Kennzeichen auf localhost können ein X-Fenster auf Ihrem Schirm öffnen.
keiner: Niemand ist berechtigt, ein Fenster auf Ihrem Schirm zu öffnen.
Alle Benutzer-Kennzeichen werden automatisch in die Gruppen audio, urpmi und cdrom aufgenommen. Das bedeutet, alle Benutzer bekommen automatisch zusätzliche Privilegien, Sie dürfen etwa die Soundkarte ansprechen.
Der Platzhalter für das aktuelle Verzeichnis, der Punkt (.), wird der Umgebungs-Variable $PATH hinzugefügt. Dies erleichtert die Ausführung von Programmen im aktuellen Verzeichnis (dies ist aber ebenfalls eine Sicherheitslücke, es würde jedoch zu weit führen, hier zu erläutern, in welcher Form).
Alle MSEC-Warnungen werden in /var/log/security.log festgehalten.
Jede Warnung, die MSEC kund tut, wird direkt auf der aktuellen Konsole ausgegeben.
Jede Warnung von MSEC wird per E-Mail an root geschickt.
Sucht, ob Dateien der Form suid root hinzugefügt oder gelöscht wurden. Sollte dies der Fall sein, wird eine Liste dieser Dateien als Warnung ausgegeben.
Verifiziert die MD5-Summe jeder Datei suid root. Sollte sich herausstellen, dass sie sich geändert hat, bedeutet dies, dass das Programm verändert wurde, möglicherweise hatte Ihr System Besuch von einem Eindringling. Auch hier wird eine Warnung ausgegeben.
Kontrolliert, ob sich Dateien auf Ihrem System befinden die weltweite Schreibberechtigungen besitzen. Falls ja, erhalten Sie eine Liste dieser Dateien als Warnung.
Hier werden die Rechte einiger Dateien, wie etwa .netrc, der Konfigurationsdateien sowie die Heim-Verzeichnisse der Anwender kontrolliert. Sollten die Rechte zu freizügig gesetzt sein, wird eine Warnung ausgegeben.
Sucht nach neuen oder gelöschten suid-Gruppe-Dateien auf dem Rechner. Werden solche Dateien gefunden, werden sie als Liste in einer Warnung ausgegeben.
Dieser Test sucht Dateien, deren Eigentümer oder Gruppen dem System nicht bekannt sind (etwa da der Systemadministrator ein Benutzer-Kennzeichen gelöscht hat). Falls solche Dateien gefunden werden, erhalten sie automatisch den Eigentümer, bzw. die Gruppe nobody.
Dieser Test untersucht jede Ethernet-Karte ob neugierige Prozesse alle durchkommenden Daten-Pakete mithören, auch die, die nicht für sie bestimmt sind, ob sich die Karte also im sog. ,,promiscuous``-Modus befindet. Falls ja, haben Sie einen Sniffer-Prozess auf Ihrem Rechner laufen. Dieser Test wird einmal pro Minute durchgeführt!
Generiert eine Liste aller offenen Ports Ihres Systems.
Kontrolliert, ob für jedes Benutzer-Kennzeichen ein Passwort (kein leeres und kein zu leicht zu erratendes) existiert und das dieses in der Datei shadow steht.
Kontrolliert, dass jedes Benutzer-Kennzeichen in der Datei shadow ein Passwort (kein leeres oder zu leicht erratbares) besitzt.
Alle bisher aufgeführten Kontrollen werden jede Nacht um Mitternacht erneut angestoßen. Dies geschieht durch Hinzufügen eines cron-Skriptes in der Datei crontab.
Nur Dienste in /etc/security/msec/init-sh/server.4 für Sicherheitsebene 4, bzw. server.5 für Ebene 5, bleiben unbehelligt, alle anderen werden angehalten. Sie werden nicht aus dem System entfernt, sondern einfach beim nächsten Wechseln des Runlevels nicht mehr gestartet. Sollten Sie einen davon wieder benötigen, können Sie ihn mit Hilfe des Programms chkconfig erneut hinzufügen (vermutlich werden Sie ihn auch erneut mit dem entsprechenden init-Skript, das Sie im Verzeichnis /etc/rc.d/init.d/ finden, starten müssen).
Je nach verwendetem Betriebssystem-Starter erhalten Sie hier unterschiedliches Verhalten.
Zum Boot-Zeitbunkt fragt grub Sie nur nach dem Passwort, wenn Sie dem Kern manuell zusätzliche Parameter übergeben wollen. Das ermöglicht es Ihrem Rechner einerseits ohne menschliches Eingreifen einen Neustart durchzuführen, andererseits verhindert es, dass unathorisierte Personen durch einen Neustart des Rechners Zugiff auf das System bekommen können (etwa durch Starten in den sog. fail safe-Modus).
Erlaubt es Ihnen LILO durch ein Passwort zu schützen. Dies verhindert, dass (unbefugte) Personen Ihren Rechner starten, andererseits kann Ihr System dann nicht selbst einen Neustart ausführen.
alle: Alle Rechner dürfen sich an offenen Ports melden.
lokal: Nur Prozesse Ihres Rechners (localhost) dürfen sich an offenen Ports melden.
keiner: Keine Rechner dürfen sich an offenen Ports melden.
[1] | Prozesse die Pakete mithören, die nicht für sie bestimmt sind. |