Skip to main content
Skip table of contents

Fehlerbehebung bei fehlgeschlagener ICG-Installation auf einem SELinux-System

Symptom

Wenn man versucht, IGEL Cloud Gateway (ICG) auf einem System zu installieren, auf dem SELinux aktiv ist, stößt man auf einen Fehler wie:

BASH
Error:
stderr: Python 2.7.18
Command 'systemctl --quiet enable icg-server' returned non-zero exit status 1

Problem

Der ICG Dienst kann nicht gestartet werden, da er nicht auf die notwendigen Systemressourcen zugreifen darf. Die entsprechende SELinux-Richtlinie fehlt.

Weitere Informationen zu SELinux finden Sie unter What is SELinux (Security-Enhanced Linux)?

Umgebung

  • ICG 2.04.100 und ICG 2.05.100 (getestet; die Lösung sollte auch mit höheren Versionen funktionieren)

  • Red Hat Enterprise Linux 8.5 mit Kernel 4.18.0-348.el8.x86_64 (getestet; die Lösung könnte auch mit anderen Linux-Systemen funktionieren)

  • Die Voraussetzungen müssen erfüllt sein

  • Python muss installiert sein

  • Firewall Konfiguration: Der Port, der vom ICG für eingehende Verbindungen verwendet wird, muss offen sein. Standardmäßig ist dies Port 8443; weitere Informationen finden Sie unter Verwendete Netzwerkanschlüsse.

Lösung

Im Folgenden werden wir eine SELinux-Richtlinie in einer Datei definieren und mit einem Skript installieren.

Schreiben der SELinux-Richtlinie

  1. Loggen Sie sich auf dem Rechner ein, auf dem Ihr ICG gehostet wird, und gehen Sie in ein Verzeichnis, in dem Ihr Benutzer Dateien erstellen darf.

  2. Öffnen Sie den Texteditor Ihrer Wahl, z.B. vi, und erstellen Sie eine Datei namens icg.te

    BASH
    vi icg.te

  1. Geben Sie den folgenden Inhalt in die Datei ein und speichern Sie sie als icg.te (in vi wird die Datei mit :wq gespeichert):

    CODE
    module icg 1.0;
    
    require {
            Typ init_t;
            Typ user_home_t;
            class file { execute execute_no_trans ioctl open read };
    }
    
    #============= init_t ==============
    allow init_t user_home_t:file { execute execute_no_trans ioctl open read };

Installieren der SELinux-Richtlinie

  1. Erstellen Sie eine weitere Datei namens icg sh; dies wird das Installationsskript sein.

    BASH
    vi icg.sh

  1. Geben Sie den folgenden Inhalt in die Datei ein und speichern Sie sie als icg.sh:

    CODE
     #!/bin/bash
     checkmodule -M -m -o icg.mod icg.te
     semodule_package -o icg.pp -m icg.mod
     semodule -i icg.pp 

  1. Starten Sie das Installationsskript.

    BASH
    chmod +x icg.sh
    sudo ./icg.sh

    Nun, da die Sicherheitsrichtlinie installiert ist, können Sie ICG auf Ihrem System installieren.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.