如何配置PAM以審計記錄Shell使用者活動?
引言
在當今的數字時代,安全至關重要。網路威脅和資料洩露事件的增加表明,沒有任何系統是完全安全的。系統管理員和IT專業人員必須採取積極措施來保護他們的系統和資料。
其中一項措施是使用可插拔身份驗證模組 (PAM) 進行使用者身份驗證。PAM是一個強大的工具,允許系統管理員自定義其系統的身份驗證過程。
它允許使用多種身份驗證方法,例如密碼、令牌和生物識別技術等等。這種靈活性使管理員更容易管理訪問控制,並確保只有授權使用者才能訪問敏感資料。
瞭解PAM和Auditd
PAM(可插拔身份驗證模組)的解釋
PAM,即可插拔身份驗證模組,是大多數Linux系統中的一個安全功能,允許管理員配置使用者如何進行身份驗證。使用PAM,管理員可以為特定的應用程式、服務或系統元件設定身份驗證規則。這透過允許管理員控制使用者登入和訪問資源的方式為系統增加了額外的安全層。
Auditd(審計守護程序)概述
Auditd是執行在Linux系統上的審計守護程序,用於監控系統上發生的各種事件。它記錄各種事件,包括核心事件、應用程式日誌和系統呼叫。審計守護程序提供有關係統上使用者活動的詳細資訊,包括誰執行了哪些操作以及何時執行。
PAM和Auditd如何協同工作以記錄使用者活動
PAM和Auditd協同工作,為使用者活動日誌記錄提供全面的解決方案。當用戶使用PAM登入時,它會生成一個由Auditd記錄的身份驗證事件。此事件包含有關誰登入、登入後做了什麼以及何時登出的資訊。
透過結合這兩個工具,管理員可以跟蹤系統上的所有使用者活動,並對任何可疑行為發出警報。總體而言,瞭解這兩個工具有助於理解大型組織如何在Linux系統上進行安全審計,這些組織有多個使用者可以訪問敏感資料。
配置PAM以進行使用者活動日誌記錄
安裝必要的軟體包
在配置PAM以進行使用者活動日誌記錄之前,有必要安裝所需的軟體包。“audit”和“audit-libs”是兩個必要的軟體包。可以使用Linux發行版的包管理器安裝它們。
例如,在CentOS中,可以使用命令`sudo yum install -y audit audit-libs`安裝這些軟體包。在繼續執行下一步之前,請確保這兩個軟體包都已安裝。
編輯/etc/pam.d/system-auth檔案
大多數Linux發行版中PAM的配置檔案位於`/etc/pam.d/`目錄中。我們需要編輯的檔案是“system-auth”。此檔案包含應用於系統範圍服務的身份驗證規則,例如登入和sudo。
要新增使用者活動日誌記錄,我們需要為此新增一條規則。使用你喜歡的文字編輯器開啟`/etc/pam.d/system-auth`。
找到以`auth`開頭的行,並在該行的末尾新增`required pam_tty_audit.so enable=always`。這將確保每個成功的身份驗證都將由auditd記錄。
向檔案中新增審計規則
我們還需要修改Auditd配置檔案中的一些設定,以便它能夠適當地記錄所有使用者活動。使用文字編輯器開啟`/etc/audit/audit.rules`,並在末尾新增以下幾行:
## Log all commands run by users. -a always,exit -F arch=b64 -S execve -F uid=0 -F auid!=0 -k root_activity -a always,exit -F arch=b32 -S execve -F uid=0 -F auid!=0 -k root_activity ## Log user login/logout activity. -w /var/run/faillock/ -p wa -k logins -w /var/log/tallylog -p wa -k logins
這些規則將記錄使用者執行的所有命令以及使用者登入/登出活動。修改後,儲存檔案並退出文字編輯器。
現在需要重新啟動auditd服務才能使這些設定生效。可以使用命令`sudo systemctl restart auditd.service`來完成此操作。
現在我們已經成功配置了PAM以進行使用者活動日誌記錄。在下一節中,我們將配置Auditd以進行使用者活動日誌記錄。
配置Auditd以進行使用者活動日誌記錄
安裝必要的軟體包
在配置Auditd之前,首先需要安裝必要的軟體包。這些軟體包的安裝因發行版而異。
在CentOS和RHEL中,使用以下命令:
sudo yum install audit
在Ubuntu/Debian系統中,可以使用以下命令:
sudo apt-get install auditd
編輯/etc/audit/audit.rules檔案
安裝audit軟體包後,我們需要配置其規則檔案。預設情況下,它只記錄一些事件,例如系統啟動和關閉活動。可以透過編輯`/etc/audit/audit.rules`檔案來新增更多規則,以包含用於記錄使用者活動的自定義規則。
要編輯此檔案,請執行:
sudo nano /etc/audit/audit.rules
新增規則以記錄使用者活動
Auditd提供了各種選項來記錄使用者活動,例如使用者登入或登出系統、使用sudo許可權執行命令等等。我們可以透過在我們的`audit.rules`檔案中新增特定的行來新增這些規則。
例如,如果我們想要記錄使用sudo訪問許可權執行的所有命令,我們將新增如下規則:
-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged-commands
上面的行將為每次有人使用特權執行“sudo”命令生成日誌。類似地,可以根據你的需求新增不同的規則,例如監控對關鍵檔案或目錄所做的更改,或監控失敗的登入嘗試。
配置Auditd只是配置PAM以審計Shell使用者活動的一部分;但是,它是該過程中的一個重要部分。
按照上述步驟,你可以確保已將系統設定為記錄所有必要的使用者活動。因此,請記住,仔細配置PAM和Auditd對於監控使用者活動和維護安全系統至關重要。
測試使用者活動日誌記錄
一旦PAM和Auditd被正確配置為記錄使用者活動,就必須測試日誌記錄以確保其正常執行。本節將介紹建立測試使用者和活動以及檢查日誌以確保成功記錄的分步過程。
建立測試使用者和活動
測試使用者活動日誌記錄的第一步是建立測試使用者,並作為這些使用者在系統上執行各種活動。此過程將允許你檢視PAM和Auditd如何記錄不同使用者在系統上執行的各種操作。
要建立測試使用者,請使用'useradd'命令,後跟你的使用者名稱。例如:
$ sudo useradd -m testuser1
建立測試使用者後,使用'su'或'sudo'切換到該使用者帳戶,然後執行各種活動,例如開啟檔案、執行命令或修改系統設定。
檢查日誌以確保成功記錄
在系統上以不同使用者身份執行各種活動後,是時候檢查PAM和Auditd是否正確記錄了這些操作。使用以下命令:
$ sudo ausearch -ua <username>
此命令將顯示與特定使用者名稱關聯的所有審計記錄。此外,你還可以使用'journalctl'或文字編輯器(例如'nano')檢視日誌。以這種方式檢視日誌可以幫助識別日誌記錄中的任何錯誤或差距。
結論
正確配置PAM以進行使用者活動日誌記錄對於維護高安全標準至關重要。正如我們所討論的,PAM提供了一種保護我們系統安全的好方法,並且當與Auditd結合使用時,它可以記錄Shell使用者的每個活動。
在本文中,我們學習瞭如何配置PAM以進行使用者活動日誌記錄,以及如何為此目的配置Auditd。我們還了解了如何測試我們的設定是否正常工作。
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP