Under Construction
Löschen von TSD-Einträgen
Nicht mehr benötigte Einträge in der TSD können mit Hilfe von trustchk und der Option „-d“ (delete) sehr einfach entfernt werden:
# trustchk -d /usr/local/bin/myprog
#
Im Beispiel wird ein nicht mehr existierendes Programm aus der TSD gelöscht. Sollte ein Eintrag nicht vorhanden sein, wird beim Löschen die folgende Fehlermeldung ausgegeben:
# trustchk -d /usr/local/bin/myprog
trustchk: Stanza not found or duplicate stanza: /usr/local/bin/myprog
trustchk: Deletion of stanzas failed
#
Die Änderung wirkt sich erst beim nächsten Laden der TSD in den Kernel aus. Durch Ausführen von „trustchk -p te=on“ kann dies aber sofort erzwungen werden.
Bevor man einen Eintrag in der TSD löscht, sollte man aber ganz sicher sein, das dieser wirklich nicht benötigt wird! Je nach konfigurierter TE-Policy ist das zugehörige Binary dann nicht mehr ausführbar.
Wir demonstrieren das am Beispiel von /usr/bin/ls, das wir fälschlicherweise aus der TSD löschen:
# trustchk -d /usr/bin/ls
#
Dies wirkt sich aber erst nach einer Aktualisierung der TSD im Kernel aus:
# trustchk -p te=on
#
Damit ist /usr/bin/ls automatisch ein nicht vertrauenswürdiges (untrusted) Programm! Verbietet die eingestellte TE-Policy das Starten von solchen Programmen (STOP_UNTRUSTD=ON), lässt sich das ls-Kommando nicht mehr starten. Es liefert dann nur die folgende Fehlermeldung:
# ls -l
/usr/bin/ksh: ls: cannot execute
#
Hinweis: Dies gilt für alle Benutzer, auch den Benutzer root!
Bei Verwendung von syslogd werden die folgenden beiden Meldungen mitprotokolliert:
Mar 20 20:11:42 aixe03 kern:info unix: Trusted Execution: pid=15270340, euid=0, ruid=0: File not in TSD: /bin/ls
Mar 20 20:11:42 aixe03 kern:err|error unix: Trusted Execution: pid=15270340, euid=0, ruid=0: Crypto hash verification failed: /bin/ls