Under Construction

Erzeugen einer eigenen TSD

Das Kommando trustchk verwendet standardmäßig die TSD unter /etc/security/tsd/tsd.dat. Es können aber auch andere TSDs verwendet werden, die z.B. durch Kopieren und Abändern, durch Neuanlage oder auf anderem Weg entstanden sind. Um eine solche TSD zu verwenden, muss lediglich die Option „-F“ zusammen mit dem Pfad zu dieser TSD verwendet werden. Wir zeigen nachfolgend an einigen Beispielen wie eigene TSDs erzeugt werden können. Entscheidend für eine TSD ist das Format (Stanza) und der Inhalt, aber nicht wie die TSD erzeugt wurde.

Beispiel 1: Erzeugen einer leeren TSD.

Eine leere TSD kann im einfachsten Fall einfach durch Anlegen einer leeren Datei erzeugt werden:

# touch mytsd.dat
#

Auflisten der Einträge dieser leeren TSD zeigt erwartungsgemäß nichts an:

# trustchk -F mytsd.dat -q ALL
# echo $?
0
#

liefert aber auch keinen Fehler!

Man kann aber auch die System-TSD (/etc/security/tsd/tsd.dat) kopieren und anschließend alle Einträge löschen:

# cp /etc/security/tsd/tsd.dat mytsd2.dat
# trustchk -F mytsd2.dat -d ALL
#

Listet man die resultierende TSD per „-q“ (query) auf, erhält man:

# trustchk -F mytsd2.dat -q ALL
default:
        hash_algorithm = SHA256
        encrypt_algorithm = RSA

#

Diese Stanza legt die Algorithmen für das Hashing von Dateiinhalten (SHA1, SHA256 oder SHA512) und für die Verschlüsselung (RSA) fest.

Im Allgemeinen ist eine leere (bzw. fast leere) TSD nicht sehr sinnvoll. Man kann aber ausgehend von einer leeren TSD gewünschte Einträge hinzufügen. Gründe könnten unter anderem die folgenden sein:

    • Eine TSD mit einer Teilmenge der Einträge, z.B. nur Einträge für Executables mit SetUID-Bit, die häufiger überprüft werden sollen.
    • TSD mit Einträgen für eine Applikation, die unabhängig von der System-TSD verwendet wird.
    • TSD mit Einträgen für wichtige Konfigurations-Dateien für die sichergestellt werden soll das keine Veränderung stattgefunden hat.

Beispiel 2: Hinzufügen ausgewählter Einträge zu einer eigenen TSD

Mit Hilfe von „trustchk -q“ und „grep -p“ können gewünschte Einträge aus einer bestehenden TSD herausgefiltert werden und einer eigenen TSD hinzugefügt werden.

Als Beispiel fügen wir alle Einträge zu SetUID-Bit Executables zu der TSD aus dem vorigen Beispiel hinzu:

# trustchk -q ALL | grep -p SUID >mytsd2.dat
#

Mit dieser TSD lassen sich Änderungen an vertrauenswürdigen SetUID-Bit Executables überprüfen:

# time trustchk -F mytsd2.dat -n ALL

real   2.03
user   0.40
sys    0.20
#

Die Überprüfung hat ca 2 Sekunden gedauert. Während hingegen die Überprüfung gegen die System-TSD deutlich länger dauert:

# time trustchk -n ALL

real   113.18
user   15.87
sys    14.80
#

TSDs könnten auf einem Remote System abgelegt werden und zur gelegentlichen Überprüfung verwendet werden.