SelfLinux Sicherheit Grundlagen Sicherheit Abschnitt 1 | SelfLinux-0.13.0

| Grundlagen Sicherheit | Autoren Formatierung GFDL

#### 1 Einleitung und Überblick

#### 1.1 Allgemeines

Dieses Kapitel soll einen groben aber möglichst umfassenden Überblick zur Systemsicherheit des Linux-Rechners vermitteln. Das Themengebiet Sicherheit ist sehr komplex und besitzt zahlreiche Facetten. In der Regel reicht es nicht aus, irgendwelche Firewall-Konfigurationsskripte zu kopieren und auf einem Linux-Rechner zu starten, um diesen sicher zu machen.

Denn bevor man jedoch überstürzt loslegt, sollte man sich über verschiedene Dinge klar werden:

- Was verstehe ich unter Sicherheit?
- Was kann ich tun, um meine Sicherheit zu erreichen?
- Wie kann ich meinen Erfolg messen?
- Wie kann ich meine Sicherheit aufrechterhalten?

#### 1.2 Was ist Sicherheit?

Der Begriff Sicherheit beschreibt keinen konkreten Zustand eines Systems. Sicherheit steht dafür, dass nichts und niemand unerwünschte Aktionen durchführt oder gewünschte Aktionen untersagt. Sicherheit herrscht also dann, wenn alles so bleibt, wie es sein soll.

Man muss für seine eigene Sicherheit demnach nur noch definieren, was alles, so bleibt und sein soll bedeuten!

Gehen wir der Reihe nach vor: was bedeutet alles? Vermutlich gehört dazu der Linux-Rechner, um den es hier geht. Außerdem gehören die Daten auf dem Rechner dazu. Alle Benutzer des Rechners, aber auch das LAN, in dem sich der Rechner vielleicht befindet, gehören dazu.

Leider ist das Wörtchen alles damit noch nicht erschöpfend untersucht. Denn es gehört auch die Haustür, die nur diejenigen einlässt, die in die Nähe Ihres Rechners dürfen, dazu.
Dazu gehört auch der Stromlieferant, der Ihren Rechner zuverlässig mit Energie versorgen soll. Und ganz besonders gehören auch Sie selbst dazu, der oder die den Linux-Rechner vernünftig konfigurieren will oder soll!

Diese Überlegungen kann man noch beliebig fortsetzen, um festzustellen, was denn nun zu alles gehört.

Spätestens jetzt wird hoffentlich deutlich, dass noch ein anderer Faktor eine Rolle bei der Sicherheit spielt: der Aufwand. Oder besser gesagt: das Verhältnis zwischen dem Aufwand, der betrieben werden muss, und dem Nutzen, der damit erreicht werden soll.

Kosten und Nutzen

Bei der Beschäftigung mit dem Thema Sicherheit spielen also auch Kosten und Nutzen eine Rolle.

Der erste Schritt, um sein System sicher zu machen, ist also, den Zustand zu definieren, den das System einhalten soll. Womit wir beim nächsten Aspekt der Überlegungen wären. Die Definition, wie das System sein soll, könnte beispielsweise folgende Punkte enthalten:

- Es soll 24 Stunden am Tag, 7 Tage in der Woche arbeiten.
- Es können sich nur legitime Systembenutzer anmelden.
- Es werden keine externen Dateien vom Systembenutzer eingebracht.
- Systembenutzer haben starke Passwörter.
- Das System ist frei von Viren, Trojanern oder sonstigem Getier.
- Der Datenzugriff erfolgt entsprechend der Berechtigung des Systembenutzers.
- Es gibt keine Möglichkeit, sensible Daten zu stehlen.
- Netzwerkzugriffe außerhalb der Geschäftszeiten werden protokolliert.
- ...

Diese Auflistung sollte so umfangreich gehalten werden, dass sämtliche Aspekte des Systembetriebes durch solche Vorgaben beschrieben worden sind. Diese Vorgaben heißen auch Sicherheitsrichtlinien beziehungsweise security policy.

Aus diesen Sicherheitsrichtlinien ergeben sich die Konfigurationen und die Maßnahmen, um diesen Soll-Zustand zu verwirklichen. Zu den oben angeführten Punkten passen demnach folgende Aktionen:

- Rechner an einer unterbrechungsfreien Stromversorgung anschließen und ein Backup-System im Standby-Modus betreiben.
- korrekte Pflege der Benutzerdatenbank durch den Administrator
- physische Sicherung z.B. der internen Laufwerke (Schloss oder Ausbau), Absicherung der Schnittstellen (z.B. USB), Sicherung der Netzwerkdosen, am besten alle Server eines Bereiches in einem eigenen Raum
- organisatorische Sicherung (Putzkräfte stehen unter Kontrolle und arbeiten in sensiblen Bereichen wie Serverräumen nur tagsüber, am besten unter Aufsicht)
- Schulung der Systembenutzer, Überprüfen der Kennworte durch Passwort-Crackprogramm
- ständige Aktualisierung der Virenscanner
- Schutz vor Zugriff von Außen
- Anpassung der Topologie (Netzinfrastruktur)
- ...

Erst jetzt können Sie feststellen, ob Ihr System sicher im Sinne Ihrer Vorgaben ist. Erst jetzt, wo Sie wissen, wie es sein soll, können Sie eine konkrete Aussage treffen. Entweder "ja, das System befindet sich in dem Zustand, in dem es sein soll" oder "Nein, ein Parameter ist nicht so, wie er sein soll, es besteht Handlungsbedarf!"

Als abschließende Betrachtung fehlen nun nur noch die Maßnahmen, mit denen Sie dafür sorgen, dass alles auch so bleibt, wie Sie es eingerichtet haben. Dazu müssen Sicherungen und Protokollsysteme eingerichtet und aktiviert werden. Und merken Sie sich:

> Sicherheit ist kein Produkt, sondern ein Prozess!

#### 1.3 Kapitelübersicht

Dieses Grundlagenkapitel soll einen Einblick in das Thema IT-Sicherheit geben. Nach einer kurzen Einleitung wird im Abschnitt Sicherheitsprozess eine systematische Vorgehensweise zur Durchsetzung und Aufrechterhaltung eines gewünschten Sicherheitsniveaus vorgestellt.

Im darauf folgenden Unterkapitel soll ein Überblick über Bedrohungen vermittelt werden. Sicherlich kennen Sie Viren und haben auch schon einmal etwas über Trojanische Pferde gehört, aber wissen Sie auch, was ein Sniffer oder was Spoofing ist und wie man sich davor schützen kann? Wir werden in diesem Kapitelabschnitt auch Buffer Overflows (Pufferüberläufe), Netzwerk-Scan-Techniken, DOS- und DDOS-Attacken ansprechen.

Im Unterkapitel Allgemeine Schutzmaßnahmen werden die Grundvoraussetzungen für die Härtung des Linux-Systems gegenüber potentiellen Angriffen geschaffen. Dazu gehören beispielsweise die Deinstallation nicht benötigter Pakete, die Absicherung des Boot-Vorgangs und der Schutz der Systemlogfiles.

Fortgesetzt wird dieses Kapitel mit einem Abschnitt über Authentisierung, Autorisierung und Zugriffssteuerung mit PAM. PAM ist eine englische Abkürzung für "Plugable Authentication Modules" heißt auf deutsch: steckbare Authentifikationsmodule.

Anschließend folgt ein Unterkapitel zum Superserver xinetd, indem auch die ältere Variante xinetd + TCP_Wrapper tcpd besprochen wird. Superserver steuern und überwachen Netzwerkdienste wie z.B. FTP, Login oder Samba. Trifft eine Anfrage auf einem vom Superserver verwalteten Port ein, so wird der entsprechende Serverprozess (z.B. der FTP-Server ftpd) gestartet. Zuvor wird jedoch nach bestimmten Regeln entschieden, ob der Netzwerkzugriff erlaubt ist oder nicht. Diese Zugriffssteuerung ist das Thema dieses Abschnittes.

Ein weiteres Unterkapitel beschäftigt sich mit Firewalls. Darin werden Paketfilter aber auch Kernelparameter und Proxies eine Rolle spielen.

Nachdem in den vorangegangenen Abschnitten Methoden zur Verbesserung der System-Sicherheit behandelt wurden, ist das Thema eines weiteren Unterkapitels das Testen der Sicherheitsmaßnahmen.

Anschließend folgen zwei Unterkapitel, die sich mit dem Aufrechterhalten der Sicherheit beschäftigen. Wir beginnen mit dem Logging und Accounting, also der Nachvollziehbarkeit dessen, was auf dem System passiert. Der für Systemmeldungen zuständige Syslog-Dienst wurde in einem ausgegliederten Kapitel betrachtet, deshalb wollen wir uns hier auf die Verwaltung der Log-Dateien und deren Schutz vor Angriffen beschränken.

Ein weiterer Abschnitt widmet sich dem Thema Einbruchserkennung (Intrusion Detection), einem sehr jungen Teilgebiet der IT-Sicherheit, welches Methoden zur frühzeitigen Erkennung von Angriffen bereitstellt. Man kann dies auch mit einer Alarmanlage vergleichen.

Sollte tatsächlich ein Einbruch festgestellt werden, hilft der Abschnitt Notfallplan im Falle einer Systemkompromittierung weiter. Um welche Maßnahmen es sich dabei im Einzelnen handeln könnte, soll in diesem vorletzten Unterkapitel behandelt werden.

Am Ende steht ein kurzes Fazit und eine Aufzählung der Themenbereiche, die zwar wichtig sind aber trotzdem (noch) keinen Eingang in dieses Kapitel gefunden haben.