Übersicht über die Linux-Bedrohungskategorie

Dieses Dokument bietet einen Überblick über die Regelsätze in der Kategorie „Linux-Bedrohungen“, die erforderlichen Datenquellen und die Konfiguration, mit der Sie die von diesen Regelsätze generierten Benachrichtigungen optimieren können.

Regelsätze in der Kategorie „Linux-Bedrohungen“ helfen bei der Identifizierung von Bedrohungen in Linux-Umgebungen mit CrowdStrike Falcon, Linux Auditing System (AuditD) und Unix-Systemlogs. Diese Kategorie umfasst die folgenden Regelsätze:

  • Tools zur Ausweitung von Betriebssystemberechtigungen: Erkennt Verhalten, das häufig in Tools zur Ausweitung von Open-Source-Linux-Rechten auftritt.
  • Persistenzmechanismen: Aktivitäten, die von Angreifern verwendet werden, um dauerhaften Zugriff auf Linux-Hosts einzurichten und aufrechtzuerhalten.
  • Änderungen der Berechtigungen: Aktivitäten im Zusammenhang mit privilegierten Authentifizierungsversuchen und Aktionen, die häufig verwendet werden, um Berechtigungen auf Linux-Hosts auszuweiten oder beizubehalten.
  • Malwaresignale – verdächtige LOTL-Binäraktivität: Erkennt verdächtige Szenarien der Nutzung nativer Tools (Living Off the Land) auf der Grundlage der beobachteten Aktivität von Linux-Malware in realen Umgebungen.
  • Malwaresignale – verdächtige Downloadaktivität: Erkennt Verhalten in Bezug auf schädliche Downloadaktivitäten unter Linux in realen Umgebungen.
  • Malwaresignale – verdächtige Ausführung: Erkennt Signale, die durch beobachtetes Verhalten von Linux-Malware generiert werden, die in realen Umgebungen erkannt wurde. Der Schwerpunkt liegt auf Ausführungsverhalten (TA0002).

Unterstützte Geräte und Protokolltypen

Regelsätze in der Kategorie „Linux-Bedrohungen“ wurden getestet und werden für die folgenden von Google Security Operations unterstützten Datenquellen unterstützt:

  • Linux-Audit-System (AUDITD)
  • Unix-System (NIX_SYSTEM)
  • CrowdStrike Falcon (CS_EDR)

Eine Liste aller von Google Security Operations unterstützten Datenquellen finden Sie unter Unterstützte Standardparser.

Geräte so konfigurieren, dass korrekte Protokolldaten generiert werden

Damit die Regeln in der Kategorie „Linux-Bedrohungen“ wie vorgesehen funktionieren, müssen Geräte Logdaten im erwarteten Format generieren. Konfigurieren Sie die folgenden persistenten Audit-Regeln für den Linux Audit Daemon auf jedem Gerät, auf dem Sie Logs erfassen und an Google Security Operations senden.

Weitere Informationen zum Implementieren persistenter Audit-Regeln für den Linux Audit Daemon finden Sie in der Dokumentation des jeweiligen Betriebssystems.

# Inserts the machine hostname into each log event
name_format = hostname

# Process creation (32 and 64-bit)

-a exit,always -F arch=b32 -S execve
-a exit,always -F arch=b64 -S execve

# Persistence: Cron

-w /etc/cron.allow -p wa -k cron
-w /etc/cron.d/ -p wa -k cron
-w /etc/cron.daily/ -p wa -k cron
-w /etc/cron.deny -p wa -k cron
-w /etc/cron.hourly/ -p wa -k cron
-w /etc/cron.monthly/ -p wa -k cron
-w /etc/cron.weekly/ -p wa -k cron
-w /etc/crontab -p wa -k cron
-w /var/spool/cron/ -p wa -k cron

# Persistence: System Startup

-w /etc/init/ -p wa -k init
-w /etc/init.d/ -p wa -k init
-w /etc/inittab -p wa -k init

# Persistence: Systemd Units and Generators

-w /etc/systemd/user -p wa -k systemd
-w /usr/lib/systemd/user -p wa -k systemd
-w /var/lib/systemd/linger -p wa -k systemd
-w /root/.config/systemd/user -pa wa -k systemd

-w /etc/systemd/system -p wa -k systemd
-w /usr/lib/systemd/system -p wa -k systemd

-w /run/systemd/system-generators -p wa -k systemd
-w /etc/systemd/system-generators -p wa -k systemd
-w /usr/local/lib/systemd/system-generators -p wa -k systemd
-w /usr/lib/systemd/system-generators -p wa -k systemd

-w /run/systemd/user-generators -pa wa -k systemd
-w /etc/systemd/user-generators -pa wa -k systemd
-w /usr/local/lib/systemd/user-generators -pa wa -k systemd
-w /usr/lib/systemd/user-generators -pa wa -k systemd

# Persistence: IAM

-w /etc/group -p wa -k iam_etcgroup
-w /etc/passwd -p wa -k iam_etcpasswd
-w /etc/gshadow -k iam_etcgroup
-w /etc/shadow -k iam_etcpasswd

-w /etc/sudoers -p wa -k iam_sudoers
-w /etc/sudoers.d/ -p wa -k iam_sudoers_d

-w /usr/bin/passwd -p x -k iam_passwd

-w /usr/sbin/groupadd -p x -k iam_groupmod
-w /usr/sbin/groupmod -p x -k iam_groupmod
-w /usr/sbin/addgroup -p x -k iam_groupmod
-w /usr/sbin/useradd -p x -k iam_usermod
-w /usr/sbin/userdel -p x -k iam_usermod
-w /usr/sbin/usermod -p x -k iam_usermod
-w /usr/sbin/adduser -p x -k iam_usermod


# Privilege Escalation

-w /bin/su -p x -k privesc
-w /usr/bin/sudo -p x -k privesc

# Persistence: Libraries

-w /etc/ld.so.conf -p wa -k libmod
-w /etc/ld.so.conf.d -p wa -k libmod
-w /etc/ld.so.preload -p wa -k libmod

# Persistence: PAM

-w /etc/pam.d/ -p wa -k pam
-w /etc/security/ -p wa  -k pam

# Persistence: SSH

-w /etc/ssh/ -p wa -k sshconfig
-w /root/.ssh/ -p wa -k sshconfig

# Persistence: Shell Configuration

-w /etc/bashrc -p wa -k shellconfig
-w /etc/csh.cshrc -p wa -k shellconfig
-w /etc/csh.login -p wa -k shellconfig
-w /etc/fish/ -p wa -k shellconfig
-w /etc/profile -p wa -k shellconfig
-w /etc/profile.d/ -p wa -k shellconfig
-w /etc/shells -p wa -k shellconfig
-w /etc/zsh/ -p wa -k shellconfig

# Injection

-a always,exit -F arch=b32 -S ptrace
-a always,exit -F arch=b64 -S ptrace

# Failed Access Attempts

-a always,exit -F arch=b64 -S open -F dir=/bin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/etc -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/home -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/sbin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/srv -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/usr/bin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/usr/sbin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/var -F success=0 -k file_err

# Network connections

-a always,exit -F arch=b64 -S connect -F a2=16 -F success=1 -k net_v4
-a always,exit -F arch=b32 -S connect -F a2=16 -F success=1 -k net_v4
-a always,exit -F arch=b64 -S connect -F a2=28 -F success=1 -k net_v6
-a always,exit -F arch=b32 -S connect -F a2=28 -F success=1 -k net_v6
-a always,exit -F arch=b32 -S socket -F a0=2 -k sock_v4
-a always,exit -F arch=b64 -S socket -F a0=2 -k sock_v4
-a always,exit -F arch=b32 -S socket -F a0=10 -k sock_v6
-a always,exit -F arch=b64 -S socket -F a0=10 -k sock_v6

Von der Linux-Bedrohungskategorie zurückgegebene Benachrichtigungen optimieren

Mithilfe von Regelausschlüssen können Sie die Anzahl der von einer Regel oder einem Regelsatz generierten Erkennungen reduzieren.

Im Regelausschluss definieren Sie die Kriterien eines UDM-Ereignisses, durch die ausgeschlossen wird, dass das Ereignis vom Regelsatz ausgewertet wird.

Erstellen Sie einen oder mehrere Regelausschlüsse, um Kriterien in einem UDM-Ereignis festzulegen, die verhindern, dass das Ereignis von diesem Regelsatz oder bestimmten Regeln im Regelsatz ausgewertet wird. Weitere Informationen dazu finden Sie unter Regelausschlüsse konfigurieren.

Beispielsweise können Sie Ereignisse basierend auf den folgenden UDM-Feldern ausschließen:

  • principal.hostname
  • target.user.userid