Security ist ein stets aktuelles Thema in der IT. Deshalb widmet sich das ADMIN-Magazin 04/2012 speziell Sicherheitsaspekten und gibt Antworten auf die Fragen: ... (mehr)

Schulung

Nun könnten Sie die Konfigurationsdatei »/etc/grsec/policy« öffnen und ihr selbst weitere Rollen hinzufügen beziehungsweise die bisherigen Regeln verschärfen. Dabei passiert es jedoch leicht, dass man mehr Rechte zugesteht, als eigentlich notwendig, oder dass man wichtige Sonderfälle vergisst. »gradm« bietet deshalb einen Lernmodus. In ihm beobachtet es das System eine Zeit lang, merkt sich dabei alle ausgeführten Aktionen und generiert anschließend die passenden Regeln. Dazu müssen Sie das RBAC-System zunächst deaktivieren:

gradm -D

Hierzu ist das Passwort einzugeben, das man bei der Installation von »gradm« vorgegeben hat.

Das komplette System überwacht »gradm« via:

gradm -F -L /etc/grsec/gelerntes.log

Alle protokollierten Aktionen landen in der Datei »/etc/grsec/gelerntes.log« . Jetzt sollten die Benutzer des Systems alle ihnen zukünftig erlaubten Aktionen ausführen – und zwar mehrmals. Die Wiederholung hat einen wichtigen Grund: »gradm« versucht grundsätzlich so wenige Regeln wie möglich zu generieren. Wenn beispielsweise ein aufgerufenes Programm mehr als vier Mal auf Dateien in einem Verzeichnis zugreift wie etwa unter »/tmp« gestattet Grsecurity ihm später den kompletten Schreibzugriff auf dieses Verzeichnis.

Ausnahmen von diesen Regeln gibt die Datei »/etc/grsec/learn_config« vor. Alle in ihr genannten Verzeichnisse bleiben tabu und weiterhin gesperrt. Zudem können Sie hier das Lernverhalten für bestimmte Verzeichnisse beeinflussen. In jeder Zeile steht dabei genau ein Verzeichnis. Was mit ihm passieren soll, bestimmt das Schlüsselwort am Anfang. Die Bedeutungen der Befehle erklären die Kommentare am Anfang der Datei.

Um die Rechte eines normalen Desktop-Anwenders zu ermitteln, sollten Sie den Lernmodus durchaus mehrere Tage mitlaufen lassen. Während dieser Zeit sollten Sie sich tunlichst verkneifen, administrative Aufgaben durchzuführen – denn die würde »gradm« später erlauben. Müssen Sie dennoch am System schrauben, wechseln Sie vorübergehend in die Rolle »admin« .

Lernphase

Alle in der Lernphase ausgeführten Aktionen ordnet »gradm« dem jeweiligen Linux-Benutzer zu. Um beispielsweise »root« wieder das Starten und Stoppen des SSH-Daemon zu gestatten, aktivieren Sie den Lernmodus, melden sich als Benutzer »root« an und starten mehrmals den SSH-Daemon. »gradm« erkennt, dass hier »root« am Werke war, und erlaubt nur ihm den SSH-Daemon zu starten.

Im Hintergrund erstellt »gradm« dabei für jeden Benutzer und jede normale Gruppe des Linux-Systems eine eigene Rolle. Diese Rollen nimmt der Benutzer nach seiner Anmeldung am System automatisch ein. Gibt es für einen Benutzer noch keine eigene Rolle, beispielsweise weil er sich während der Lernphase nicht angemeldet hat, gilt für ihn die Standard-Rolle »default« . Das klingt nicht nur kompliziert, sondern sorgt bei der manuellen Einrichtung von Grsecurity immer wieder für Verwirrung.

Nachdem Sie im Lernmodus alle gewünschten Aktionen ausgeführt haben, beenden Sie mit »gradm -E« das RBAC-System. Die Aufzeichnungen muss »gradm« jetzt noch in Regeln pressen und mit diesen eine neue Datei »/etc/grsec/policy« generieren ( Abbildung 6 ):

Abbildung 6: Die notwendigen Regeln erzeugt
gradm -F -L /etc/grsec/gelerntes.log -O/etc/grsec/policy

Vorher sollten Sie sicherheitshalber eine Kopie der alten »/etc/grsec/policy« erstellen.

Schmeißt man jetzt wieder das RBAC-System mit »gradm -E« an, sind alle aufgezeichneten Aktionen erlaubt. Im Beispiel darf der Benutzer »root« wieder den SSH-Daemon starten, ohne gleich die Rolle »admin« annehmen zu müssen.

Der Lernmodus ist recht praktisch, in der Praxis kommt man jedoch normalerweise nicht um die nachträgliche Bearbeitung der Konfigurationsdatei »/etc/grsec/policy« herum. Eine Erläuterung des Aufbaus würde den Rahmen dieses Artikels sprengen. Einen Crash-Kurs findet man am Anfang der mitgelieferten »policy« -Datei, eine umfangreiche Referenz im Grsecurity-Wiki [7] . Als kleine Hilfe kann man auch den Lernmodus anwerfen, die entsprechende Aktion durchführen, dann die Regeln in eine separate Datei schreiben

gradm -F -L /etc/grsec/gelerntes.log -O /etc/grsec/neue

und dann aus ihr die Regeln manuell in »policy« übertragen. Damit muss man sich zumindest schon einmal nicht die passenden Regeln selbst ausdenken.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023