So prüfen Sie, ob ein Seccomp-Filter in Linux angewendet wird

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob ein Seccomp-Filter (seccomp: Security Computing Mode) in Linux angewendet wird. Seccomp ist ein Sicherheitsfeature, das die Systemaufrufe (system calls), die ein Prozess ausführen kann, einschränkt.

Sie werden drei Methoden zur Überprüfung des Seccomp-Status erkunden: die Prüfung der Datei /proc/self/status, um den Seccomp-Zustand des Prozesses zu überprüfen, die Inspektion der Kernelmeldungen mit dmesg auf Seccomp-bezogene Ereignisse und die Überprüfung des Verzeichnisses /sys/kernel/security auf Seccomp-Konfigurationsinformationen. Diese Schritte vermitteln Ihnen praktische Fähigkeiten zum Verständnis und zur Überprüfung der Anwendung von Seccomp in einer Linux-Umgebung.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/ls -.-> lab-558751{{"So prüfen Sie, ob ein Seccomp-Filter in Linux angewendet wird"}} linux/cat -.-> lab-558751{{"So prüfen Sie, ob ein Seccomp-Filter in Linux angewendet wird"}} linux/cd -.-> lab-558751{{"So prüfen Sie, ob ein Seccomp-Filter in Linux angewendet wird"}} linux/grep -.-> lab-558751{{"So prüfen Sie, ob ein Seccomp-Filter in Linux angewendet wird"}} end

Prüfen des Seccomp-Status mit cat /proc/self/status

In diesem Schritt werden wir untersuchen, wie man den Seccomp-Status (seccomp: Secure Computing) eines Prozesses in Linux prüft. Seccomp ist ein Sicherheitsfeature, das es einem Prozess ermöglicht, die Systemaufrufe (system calls), die er ausführen kann, einzuschränken. Dies kann helfen, die Auswirkungen von Sicherheitslücken zu mildern.

Wir können den Seccomp-Status des aktuellen Prozesses prüfen, indem wir die Datei /proc/self/status untersuchen. Diese Datei enthält verschiedene Statusinformationen über den Prozess.

Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist. Sie können dies tun, indem Sie auf das Symbol Xfce Terminal auf der linken Seite des Desktops klicken.

Geben Sie jetzt den folgenden Befehl ein und drücken Sie die Eingabetaste:

cat /proc/self/status

Dieser Befehl zeigt den Inhalt der Datei /proc/self/status an. Scrollen Sie durch die Ausgabe und suchen Sie nach einer Zeile, die mit Seccomp: beginnt.

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

Name:   zsh
Umask:  0002
State:  R (running)
Tgid:   ...
Ngid:   0
Pid:    ...
PPid:   ...
TracerPid:      0
Uid:    ...
Gid:    ...
FDSize: 64
Groups: ...
NStgid: ...
NSpid:  ...
NSpgid: ...
NSsid:  ...
VmPeak: ... kB
VmSize: ... kB
VmLck:  0 kB
VmPin:  0 kB
VmHWM:  ... kB
VmRSS:  ... kB
RssAnon:        ... kB
RssFile:        ... kB
RssShmem:       ... kB
VmData: ... kB
VmStk:  ... kB
VmExe:  ... kB
VmLib:  ... kB
VmPTE:  ... kB
VmSwap: 0 kB
HugetlbPages:   0 kB
CoreDumpFilter: 00000000
Threads:        1
SigQ:   .../...
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
voluntary_ctxt_switches:        ...
nonvoluntary_ctxt_switches:     ...
Seccomp:        0

Die Zeile Seccomp: gibt den Seccomp-Status an. Der Wert 0 bedeutet, dass Seccomp für diesen Prozess nicht aktiviert ist. Andere mögliche Werte geben verschiedene Seccomp-Modi an.

Das Verständnis der Ausgabe von /proc/self/status ist eine grundlegende Fähigkeit für die Inspektion von Prozessinformationen in Linux.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen von Seccomp in dmesg

In diesem Schritt lernen wir, wie man mit dem Befehl dmesg Kernelmeldungen im Zusammenhang mit Seccomp (seccomp: Secure Computing) prüft. dmesg ist ein Befehl, der die Kernel-Ringpuffer-Meldungen anzeigt. Diese Meldungen enthalten Informationen über Hardware, Gerätetreiber und andere Kernel-Ebene-Ereignisse, einschließlich sicherheitsrelevanter Ereignisse wie Seccomp-Aktionen.

Wenn Seccomp aktiv ist und einen Systemaufruf (system call) blockiert, protokolliert der Kernel oft eine Meldung im Ringpuffer. Wir können dmesg verwenden, um diese Meldungen anzuzeigen und nach solchen zu filtern, die sich auf Seccomp beziehen.

Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist.

Geben Sie jetzt den folgenden Befehl ein und drücken Sie die Eingabetaste:

dmesg | grep seccomp

Lassen Sie uns diesen Befehl zerlegen:

  • dmesg: Dieser Befehl zeigt die Kernelmeldungen an.
  • |: Dies ist eine Pipe. Sie nimmt die Ausgabe des linken Befehls (dmesg) und gibt sie als Eingabe an den rechten Befehl (grep) weiter.
  • grep seccomp: Dieser Befehl sucht in der empfangenen Eingabe nach Zeilen, die das Wort "seccomp" enthalten.

Die Ausgabe dieses Befehls zeigt alle Kernelmeldungen an, die den Begriff "seccomp" enthalten. In einer typischen Umgebung, in der Seccomp von einigen Systemprozessen oder Containern verwendet wird, könnten Sie eine Ausgabe ähnlich der folgenden sehen:

[ ... ] audit: type=1326 audit(...): auid=... uid=... gid=... ses=... subj=unconfined seccomp=0 pid=... comm="..." exe="..." sig=0 arch=c000003e syscall=... compat=0 ip=... code=0x...
[ ... ] audit: type=1326 audit(...): auid=... uid=... gid=... ses=... subj=unconfined seccomp=2 pid=... comm="..." exe="..." sig=0 arch=c000003e syscall=... compat=0 ip=... code=0x...

Diese Meldungen zeigen, dass das Auditsystem des Kernels Seccomp-bezogene Ereignisse protokolliert. Das Feld seccomp= in der Auditmeldung zeigt den Seccomp-Modus für den Prozess zum Zeitpunkt des Ereignisses an.

Wenn Sie keine Ausgabe sehen, kann dies bedeuten, dass in dieser speziellen Umgebung kürzlich keine Seccomp-bezogenen Ereignisse protokolliert wurden. Dies ist ebenfalls normal und hängt von der Aktivität des Systems ab.

Die Verwendung von dmesg mit grep ist eine leistungsstarke Methode, um Kernelmeldungen zu filtern und Probleme zu diagnostizieren oder Sicherheitsereignisse zu beobachten.

Klicken Sie auf Weiter, um zum nächsten Schritt zu gelangen.

Prüfen von Seccomp in /sys/kernel/security

In diesem letzten Schritt werden wir das Verzeichnis /sys/kernel/security untersuchen, das eine Schnittstelle zu verschiedenen Kernel-Sicherheitsmodulen, einschließlich Seccomp (seccomp: Secure Computing), bietet. Dieses Verzeichnis ermöglicht es uns, sicherheitsrelevante Aspekte des Kernels zu prüfen und manchmal zu konfigurieren.

Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist.

Zunächst navigieren wir in das Verzeichnis /sys/kernel/security. Hierfür können wir den Befehl cd verwenden:

cd /sys/kernel/security

Jetzt, da wir uns im Verzeichnis /sys/kernel/security befinden, listen wir seinen Inhalt mit dem Befehl ls auf:

ls

Sie sollten eine Liste von Verzeichnissen und Dateien sehen, die sich auf verschiedene Sicherheitsmodule beziehen. Suchen Sie nach einem Verzeichnis oder einer Datei, die sich auf seccomp bezieht. Die Ausgabe könnte in etwa so aussehen (der genaue Inhalt kann je nach System variieren):

apparmor  cap  device_cgroup  lockdown  lsm  selinux  seccomp  smack  tomoyo

Sie sollten ein Verzeichnis namens seccomp sehen. Dieses Verzeichnis enthält Dateien, die Informationen über die Seccomp-Konfiguration und den -Status auf Kernel-Ebene liefern.

Navigieren wir nun in das seccomp-Verzeichnis:

cd seccomp

Jetzt listen wir den Inhalt des seccomp-Verzeichnisses auf:

ls

Je nach Kernelversion und -konfiguration könnten Sie Dateien wie policy oder andere Dateien sehen. Diese Dateien können detailliertere Informationen über die Seccomp-Policies liefern, die auf dem System geladen oder verfügbar sind.

Beispielsweise können Sie versuchen, den Inhalt einer Datei wie policy anzuzeigen, wenn diese existiert (der Dateiname könnte anders sein):

cat policy

Die Ausgabe von cat policy hängt davon ab, ob eine Seccomp-Policy systemweit aktiv ist oder ob diese Datei andere Informationen liefert. In vielen Standardkonfigurationen enthält diese Datei möglicherweise keine umfangreichen, menschenlesbaren Policydetails direkt, aber ihre Existenz zeigt an, dass Seccomp ein anerkanntes Sicherheitsmodul ist.

Die Untersuchung des /sys-Dateisystems, insbesondere des Pfads /sys/kernel/security, ist ein wichtiger Weg, um die aktivierten und konfigurierten Sicherheitsfunktionen in Ihrem Linux-Kernel zu verstehen.

Sie haben nun drei verschiedene Methoden gelernt, um den Seccomp-Status und verwandte Informationen in einer Linux-Umgebung zu prüfen.

Klicken Sie auf Weiter, um das Lab abzuschließen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man prüft, ob ein Seccomp-Filter (seccomp: Secure Computing) in Linux angewendet wird. Wir haben drei Methoden untersucht: das Prüfen der Datei /proc/self/status, um den Seccomp:-Status eines Prozesses zu sehen, die Überprüfung von Seccomp-bezogenen Meldungen im Kernel-Log mit dmesg und die Prüfung des Seccomp-Status über das /sys/kernel/security-Dateisystem.

Diese Schritte haben praktische Möglichkeiten bereitgestellt, um den Seccomp-Status von Prozessen zu bestimmen und zu verstehen, wie Seccomp vom Linux-Kernel gemeldet wird. Dies ist für die Sicherheitsanalyse und die Fehlerbehebung von entscheidender Bedeutung.