Linux/SELinux/04/15 ptrace
Erscheinungsbild
Linux/SELinux/04/15 ptrace - ptrace
Beschreibung
- Deaktivieren von ptrace()
Der Systemaufruf ptrace() ] ermöglicht es einem Prozess, die Ausführung eines anderen Prozesses zu beobachten und zu steuern sowie dessen Speicher und Register zu ändern
- Dieser Aufruf wird in erster Linie von Entwicklern während der Fehlersuche verwendet, beispielsweise bei der Verwendung des Dienstprogramms strace
- Wenn ptrace() nicht benötigt wird, kann es deaktiviert werden, um die Systemsicherheit zu verbessern
- Dies kann durch Aktivieren des Booleschen Werts deny_ptrace erfolgen, der allen Prozessen – auch solchen, die in unconfined_t-Domänen laufen – die Verwendung von ptrace() auf andere Prozesse verweigert
Der [Boolesche Variable deny_ptrace ist standardmäßig deaktiviert
- Um sie zu aktivieren, führen Sie als Root-Benutzer den Befehl setsebool -P deny_ptrace on aus
sudo setsebool -P deny_ptrace on
Um zu überprüfen, ob diese Boolesche Variable aktiviert ist, verwenden Sie den folgenden Befehl
getsebool deny_ptrace deny_ptrace --> on
Um diesen Boolean zu deaktivieren, führen Sie den Befehl setsebool -P deny_ptrace off als Root aus
sudo setsebool -P deny_ptrace off
- Hinweis
- Der Befehl setsebool -P bewirkt dauerhafte Änderungen
- Verwenden Sie die Option -P nicht, wenn Sie nicht möchten, dass die Änderungen über Neustarts hinweg bestehen bleiben
Dieser Boolean-Wert wirkt sich nur auf Pakete aus, die Teil von Red Hat Enterprise Linux sind
- Daher könnten Pakete von Drittanbietern weiterhin den Systemaufruf ptrace() verwenden
- Um alle Domänen aufzulisten, denen die Verwendung von ptrace() gestattet ist, geben Sie den folgenden Befehl ein
- Beachten Sie, dass das Paket setools-console das Dienstprogramm sesearch bereitstellt und dass das Paket standardmäßig nicht installiert ist
sudo sesearch -A -p ptrace,sys_ptrace -C | grep -v deny_ptrace | cut -d ‚ ‘ -f 5