Under Construction

Ablauf beim Anwenden eines Sicherheits-Levels

Beim Anwenden eines Sicherheits-Levels durch „aixpert -l <level>“ oder „aixpert -f <file>“ werden die folgenden Schritte durchgeführt:

Schritt 1: Überprüfen ob AIX Security Expert schon läuft.

Um mehrfache parallele Läufe des AIX Security Expert zu verhindern, wird als erstes überprüft ob schon ein aixpert (oder pscxpert) Prozess läuft. Wenn dies der Fall ist, wird mit der folgenden Fehlermeldung abgebrochen:

# aixpert -l low
Another instance of pscxpert or aixpert is already running.

#

Schritt 2: Überprüfung ob LiveUpdate aktiv ist

Während eine LiveUpdate Operation läuft, sollte AIX Security Expert nicht verwendet werden. Um dies auszuschließen, erfolgt eine Überprüfung ob LiveUpdate gerade aktiv ist. Wenn das der Fall ist, wird der Lauf von aixpert mit der folgenden Fehlermeldung beendet:

# aixpert -l low
lvupdate
Live Kernel Update in Progress. Exiting aixpert.

#

Die nachfolgenden Schritte werden in einer Schleife für jede Regel ausgeführt.

Schritt 3: Überprüfung der Voraussetzungen (Prereqs)

Die meisten Regeln besitzen eine Liste von Abhängigkeiten. In vielen Fällen bestehen diese Abhängigkeit in Filesets die installiert sein müssen. Es erfolgt dann einfach eine Überprüfung mittels „lslpp -l <fileset>“. Ist eine Voraussetzung für eine Regel nicht erfüllt, dann wird eine Fehlermeldung ausgegeben und die Sicherheitseinstellung der Regel wird nicht vorgenommen:

# aixpert -f custom/mypolicy.xml

do_action(): rule(hls_minlen): warning.
do_action(): Warning: Prereq failed for bos.rte.ILS

#

Dies hat aber keinen Einfluß auf weitere Regeln. Diese werden weiterhin sequentiell abgearbeitet.

Sind die Voraussetzungen einer Regel nicht gegeben, wird der Counter PrereqFailedrules um eins erhöht.

Schritt 4: Umsetzung der Regel

Sind alle Voraussetzungen einer Regel/Sicherheitseinstellung gegeben, dann wird das mit AIXPertCommand hinterlegte Kommando mit den Argumenten aus AIXPertArgs gestartet. Für die Ausführung des Kommandos werden einige Shell-Variablen gesetzt, mit deren Hilfe einige Informationen der Regel aus der XML-Datei für das Kommando zugreifbar sind. Im Einzelnen sind das die folgenden Variablen:

    • AIXPERT_DESC_CATMSGINFO: enthält einen String mit catalog, setNum und msgNum aus AIXPertDescription.
    • AIXPERT_DESC: Die Beschreibung aus AIXPertDescription.
    • AIXPERT_NAME: Der Name der Regel aus AIXPertEntry, erweitert um einen Unterstrich und eine 8-stellige hexadezimale ID. Der generierte Name wird für die Undo-Funktionalität verwendet.

Das auszuführende Kommando nimmt die Umsetzung der Regel/Sicherheitseinstellung vor. Die Umsetzung, sowie alle ausgeführten Kommandos, werden in /etc/security/aixpert/log/aixpert.log mitprotokolliert.

Die meisten Sicherheitseinstellungen können rückgängig gemacht werden. Dazu wird von dem gestarteten Kommando eine Undo-Regel in der Datei /etc/security/aixpert/core/undo.xml eingetragen. Die Undo-Regel sieht in vielen Fällen der umgesetzten Regel ähnlich, mit dem Unterschied das bei Sicherheitseinstellungen kein neuer Wert, sondern der ursprünglich gesetzte Wert verwendet wird

Schritt 5: Ausgeben einer Statistik zur Ausführung der Regeln

Nachdem alle Regeln abgearbeitet sind, wird eine kurze Statistik ausgegeben:

# aixpert -f custom/mypolicy.xml

Processedrules=11        Passedrules=10   PrereqFailedrules=1     Failedrules=0   Level=HLS
        Input file=custom/mypolicy.xml
#

Es wurden insgesamt 11 Regeln abgearbeitet (Processedrules), wobei davon 10 erfolgreich (Passedrules) waren. Bei den nicht erfolgreichen Regeln wird eine Unterscheidung gemacht, ob die Regel selbst fehlgeschlagen ist (Failedrules) oder eine Voraussetzung nicht erfüllt ist (PrereqFailedrules).

Alle fehlgeschlagenen Regeln (Failedrules) werden in /etc/security/aixpert/log/FAILEDRULES festgehalten. Alle erfolgreich ausgeführten Regeln (Passedrules) in /etc/security/aixpert/log/PASSEDRULES.