Zum Inhalt springen

Linux/SELinux/04/15 ptrace

Aus Foxwiki

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

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