SELinux-Richtlinien konfigurieren |
![]() ![]() ![]() |
Wenn in Ihre Distribution von Linux das Schutzsystem SELinux (Security-Enhanced Linux – sicherheitsverbessertes Linux) integriert ist, müssen Sie einige Änderungen an der Konfiguration von SELinux vornehmen, damit die Komponenten der Anwendung (z. B. Scan-Engine) nach der Installation ordnungsgemäß ausgeführt werden. 1. Probleme bei der Installation des generischen Pakets Bei aktiviertem SELinux kann die Installation mithilfe des generischen Pakets der Installationsdatei (.run) fehlschlagen, da der Account drweb, unter dem die Module von Dr.Web für Linux ausgeführt werden, nicht angelegt werden kann. Wenn die Installation über die Installationsdatei (.run) fehlgeschlagen ist, da der Account drweb nicht erstellt werden konnte, überprüfen Sie die Konfiguration von SELinux, indem Sie den Befehl getenforce ausführen. Mit diesem Befehl ermitteln Sie, in welchem Modus SELinux läuft: •Permissive – der Schutz ist zwar aktiviert, doch befindet sich im Warnmodus: Vorgänge, die Regelverstöße verursachen, werden protokolliert und weiterhin ausgeführt. •Enforced – der Schutz ist aktiviert und setzt die Richtlinie um: Vorgänge, die Regelverstöße verursachen, werden protokolliert und gesperrt. •Disabled – SELinux ist installiert, aber ausgeschaltet. Wenn SELinux im Modus Enforced läuft, müssen Sie dieses vorübergehend (bis die Installation abgeschlossen ist) in den Modus Permissive versetzen. Führen Sie dafür den folgenden Befehl:
Der Befehl versetzt SELinux vorübergehend (bis zum nächsten Neustart) in den Modus Permissive.
Nachdem Sie das Produkt mittels der Installationsdatei erfolgreich installiert haben (aber vor dem Start und vor der Aktivierung des Programms), müssen Sie wieder in den Modus Enforced wechseln. Führen Sie hierzu den folgenden Befehl aus:
2. Problem mit unzureichender Funktion Bei aktiviertem SELinux kann es vorkommen, dass einzelne zusätzliche Komponenten von Dr.Web für Linux (wie etwa drweb-se und drweb-filecheck, die vom Scanner und von SpIDer Guard verwendet werden) nicht starten, wodurch das Scannen und Überwachen des Dateisystems nicht möglich ist. Probleme mit diesen Modulen erkennen Sie an den Fehlermeldungen 119 und 120 im Hauptdialogfenster von Dr.Web für Linux und im syslog-Protokoll (liegt standardmäßig im Verzeichnis /var/log/).
Meldungen vom SELinux werden im Systemprotokoll aufgezeichnet. Bei der Verwendung des auditt-Dämons befindet sich die Protokolldatei üblicherweise unter /var/log/audit/audit.log. Anderenfalls werden verweigerte Zugriffe in der Datei /var/log/messages oder /var/log/syslog protokolliert. Wenn festgestellt wurde, dass SELinux zusätzliche Module sperrt, müssen Sie besondere Richtlinien für diese Module kompilieren.
So erstellen Sie SELinux-Richtlinien: 1.Erstellen Sie eine Datei mit der Dateinamenserweiterung .te, die den Quellcode der SELinux-Richtlinie enthalten wird. Anhand dieser Datei werden die Regeln für das benötigte Modul erstellt. Die Datei kann über folgende Wege erstellt werden: 1)Über das Tool audit2allow. Dieses Werkzeug bietet den einfachsten Weg, da damit benutzerdefinierte „allow“-Regeln anhand der Protokollinformationen zu verweigerten Zugriffen generiert werden. Sie haben dabei die Möglichkeit, die Protokolldateien nach Meldungen automatisch durchsuchen zu lassen oder den Pfad zur gewünschten Protokolldatei manuell anzugeben. Beachten Sie, dass diese Methode nur dann möglich ist, wenn Verletzungen der SELinux-Richtlinie durch die Komponenten von Dr.Web für Linux im Systemprotokoll registriert sind. Anderenfalls müssen Sie warten, bis diese Regelverstöße aufgezeichnet sind, oder die Erstellung von „allow“-Regeln mithilfe von policygentool erzwingen (siehe nachfolgend).
Beispiel für die Verwendung von audit2allow:
Dieser exemplarische Befehl gibt an, dass audit2allow in der Datei audit.log nach Meldungen über die dem Modul drweb-se verweigerten Zugriffe suchen soll. Das Tool erstellt dann zwei Dateien: Quelldatei der Richtlinie drweb-se.te und die Binärdatei drweb-se.pp, die als Richtlinien-Modul geladen werden kann. Wenn im Systemprotokoll keine passenden Regelverstöße gefunden wurden, gibt das Tool einen entsprechenden Fehler zurück. In den meisten Fällen müssen Sie keine Änderungen an der mithilfe von audit2allow erstellen Datei vornehmen. Sie sollten daher direkt zum Punkt 4 gehen, in dem Sie erfahren, wie das erzeugte Richtlinien-Modul drweb-se.pp installiert wird. Beachten Sie, dass audit2allow am Ende des Vorgangs standardmäßig den Aufruf des Befehls semodule ausgibt. Kopieren Sie diesen Befehl in die Befehlszeile und führen Sie ihn aus. Damit erledigen Sie den Punkt 4. Gehen Sie zum Punkt 2 nur, wenn Sie die für Dr.Web für Linux automatisch erzeugten Regeln abändern wollen. 2)Über das Tool policygentool. Geben Sie hierzu als Parameter den Namen des Moduls, für das Sie die Richtlinie erstellen wollen, und den vollständigen Pfad zur ausführbaren Datei des Moduls an.
Beispiel für die Erstellung einer Richtlinie mithilfe von policygentool: •Für drweb-se:
•Für drweb-filecheck:
Sie werden aufgefordert, einige allgemeine Eigenschaften der Domäne anzugeben. Anschließend werden für jedes Modul drei Dateien erstellt, aus denen die Richtlinie besteht: <module_name>.te, <module_name>.fc und <module_name>.if. 2.Ändern Sie bei Bedarf die generierte Quelldatei der Richtlinie <module_name>.te und kompilieren Sie diese mit checkmodule in eine Binärdatei (mit der Dateiendung .mod).
Verwendungsbeispiel:
3.Erstellen Sie mit semodule_package das Richtlinien-Modul (mit der Dateiendung .pp). Beispiel:
4.Laden Sie das erzeugte Modul mit dem Tool semodule. Beispiel:
Weiterführende Informationen rund um das SELinux finden Sie in der Dokumentation für Ihre Distribution von Linux. |