Logs

使用 su’d/sudoed 到 root 的原始使用者名記錄所有 root 活動

  • September 11, 2020

sudo -i當 root 登錄被禁用 (SSH) 但使用者可以執行或su -成為 root時,在日誌中跟踪誰在充當 root 的首選方法是什麼?我也想使用原始使用者名來執行每個命令。RHEL 6 或任何 Linux rsyslog 等。

最強大的方法似乎是經過審計的:

要求 10:跟踪和監控對網路資源和持卡人數據的所有訪問

Auditd 基本上攔截所有系統呼叫並根據您的規則集檢查它們。因此,在您的/etc/audit/audit.rules文件中,您將具有以下內容:

# This file contains the auditctl rules that are loaded
# whenever the audit daemon is started via the initscripts.
# The rules are simply the parameters that would be passed
# to auditctl.

# First rule - delete all
-D

# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320

# Feel free to add below this line. See auditctl man page
-a always,exit -F euid=0 -F perm=wxa -k ROOT_ACTION

最後一條規則是唯一的非預設規則。

這種方法的主要缺點(以及我在尋找替代方案時發現這個問題的原因)是原始日誌文件非常神秘,只有在對原始日誌文件執行查詢程序後才有用:ausearch

該規則的範例查詢是:

ausearch -ts today -k ROOT_ACTION -f audit_me | aureport -i -f

一個常識性的解決方案可能是創建一個 cron 來查詢您的原始審計日誌,然後將它們發送到您的日誌記錄解決方案。

引用自:https://unix.stackexchange.com/questions/153226