SELinux-Richtlinien konfigurieren |
Wenn das Schutzsystem SELinux (Security-Enhanced UNIX) in Ihrer UNIX-Distribution integriert ist, können einige Änderungen der SELinux-Sicherheitslinien eventuell erforderlich sein, damit die Dienstkomponenten von Dr.Web für Linux (z. B. die Scan-Engine) nach der Installation ordnungsgemäß ausgeführt werden. 1. Probleme bei der Installation des generischen Pakets Wenn SELinux aktiviert ist, kann die Installation von Dr.Web für Linux mithilfe des universellen Pakets der Installationsdatei (.run) fehlschlagen, da der Account drweb, unter dem die Komponenten von Dr.Web für Linux ausgeführt werden, nicht erstellt werden kann. Wenn die Installation von Dr.Web für Linux mithilfe der 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 nicht aktiv. Wenn SELinux im Modus Enforced läuft, versetzen Sie SELinux vorübergehend in den Modus Permissive, bis die Installation abgeschlossen ist. Führen Sie dazu den folgenden Befehl aus:
Der Befehl versetzt SELinux vorübergehend (bis zum nächsten Neustart) in den Modus Permissive.
Nachdem Sie Dr.Web für Linux mittels der Installationsdatei erfolgreich installiert haben (aber vor dem Start und vor der Aktivierung des Programms), müssen Sie wieder in den Modus Enforced versetzten. Führen Sie hierzu den folgenden Befehl aus:
2. Fehlerhafte Funktion von Dr.Web für Linux Wenn SELinux aktiviert ist, kann es eventuell dazu kommen, dass einzelne zusätzliche Komponenten von Dr.Web für Linux (wie drweb-se und drweb-filecheck, die vom Scanner und von SpIDer Guard verwendet werden) nicht gestartet werden, wodurch der Scan und die Überwachung des Dateisystems nicht möglich sind. In diesem Fall erscheinen die Fehlermeldungen 119 und 120 im Hauptdialogfenster von Dr.Web für Linux und im syslog-Protokoll (liegt standardmäßig im Verzeichnis /var/log/). Meldungen von SELinux werden auch im Systemprotokoll aufgezeichnet. Bei der Verwendung des audit-Dämons befindet sich die Protokolldatei üblicherweise unter /var/log/audit/audit.log. Anderenfalls werden Informationen über gesperrte Vorgänge in der Datei /var/log/messages oder /var/log/syslog protokolliert. Wenn festgestellt wurde, dass SELinux zusätzliche Module sperrt, kompilieren Sie spezielle Sicherheitsrichtlinien für diese Module.
So erstellen Sie SELinux-Richtlinien: 1.Erstellen Sie eine .te-Datei mit dem Quellcode der SELinux-Richtlinie. Diese Datei bestimmt die Regeln für das beschriebene Modul. 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: Diese Methode kann nur dann verwendet werden, wenn Verletzungen der SELinux-Richtlinie durch die Komponenten von Dr.Web für Linux bereits im Systemprotokoll registriert wurden. Alternativ können Sie die Erstellung von zulassenden Richtlinien mithilfe des Tools policygentool erzwingen (siehe nachfolgend).
Beispiel für die Verwendung von audit2allow:
In diesem Beispiel sucht das Tool audit2allow nach Meldungen über den dem Modul drweb-se verweigerten Zugriff in der Datei audit.log. Das Tool erstellt zwei Dateien: die Quelldatei der Richtlinie drweb-se.te und das Richtlinienmodul drweb-se.pp. Wenn im Systemprotokoll keine passenden Regelverstöße gefunden wurden, gibt das Tool einen entsprechenden Fehler zurück. In den meisten Fällen sind keine Änderungen an der mithilfe von audit2allow erstellen Datei erforderlich. Gehen Sie daher direkt zu Punkt 4, um das erstellte Richtlinienmodul drweb-se.pp zu installieren. Beachten Sie: audit2allow zeigt standardmäßig den Aufruf des Befehls semodule an. Kopieren Sie diesen Befehl in die Befehlszeile und führen Sie ihn aus. Damit erledigen Sie Punkt 4. Gehen Sie zu Punkt 2 nur dann, wenn Sie die für Dr.Web für Linux automatisch erzeugten Richtlinien ändern möchten. 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:
Weitere Informationen über die Funktion und die Konfiguration von SELinux finden Sie in der Dokumentation für Ihre UNIX-Distribution. |