設定插入式驗證模組 (PAM) 以稽核登入事件
本文提供在未修改的 Ubuntu 20.04 或 18.04 安裝上設定插入式驗證模組 (PAM) 以稽核 SSH、Telnet 和終端機登入事件的範例程序。
PAM 設定可能會因裝置和 Linux 發行版本而異。
如需詳細資訊,請參閱登入收集器 (事件型收集器)。
注意
適用於 IoT 的 Defender 計劃於 2025 年 8 月 1 日淘汰微代理程式。
必要條件
開始之前,請確定您有適用於 IoT 的 Defender 微代理程式。
設定 PAM 需要技術知識。
如需詳細資訊,請參閱教學課程:安裝適用於 IoT 的 Defender 微代理程式。
修改 PAM 設定以報告登入和登出事件
此程式提供設定成功登入事件集合的範例程式。
我們的範例是以未修改的 Ubuntu 20.04 或 18.04 安裝為基礎,而且此程式中的步驟可能與您的系統不同。
找出下列檔案:
/etc/pam.d/sshd
/etc/pam.d/login
在每個檔案結尾處新增下列幾行:
// report login session [default=ignore] pam_exec.so type=open_session /usr/libexec/defender_iot_micro_agent/pam/pam_audit.sh 0 // report logout session [default=ignore] pam_exec.so type=close_session /usr/libexec/defender_iot_micro_agent/pam/pam_audit.sh 1
修改 PAM 設定以報告登入失敗
此程式提供設定失敗登入嘗試集合的範例程式。
此程式中的這個範例是以未修改的 Ubuntu 18.04 或 20.04 安裝為基礎。 下面所列的檔案和命令可能會因設定而有所不同,或因為修改而有所不同。
找出
/etc/pam.d/common-auth
檔案並尋找下列幾行:# here are the per-package modules (the "Primary" block) auth [success=1 default=ignore] pam_unix.so nullok_secure # here's the fallback if no module succeeds auth requisite pam_deny.so
本節會透過
pam_unix.so
模組進行驗證。 如果驗證失敗,本節會繼續進行pam_deny.so
模組以防止存取。將指示的程式程式碼取代為下列內容:
# here are the per-package modules (the "Primary" block) auth [success=1 default=ignore] pam_unix.so nullok_secure auth [success=1 default=ignore] pam_exec.so quiet /usr/libexec/defender_iot_micro_agent/pam/pam_audit.sh 2 auth [success=1 default=ignore] pam_echo.so # here's the fallback if no module succeeds auth requisite pam_deny.so
在此修改的區段中,PAM 會略過一個模組至
pam_echo.so
模組,然後略過pam_deny.so
模組並成功驗證。如果失敗,PAM 會繼續向代理程式記錄檔報告登入失敗,然後跳過一個模組至
pam_deny.so
模組,以封鎖存取。
驗證設定
此程式描述如何確認您已正確設定 PAM 以稽核登入事件。
使用 SSH 登入裝置,然後登出。
使用 SSH 登入裝置,使用不正確的認證來建立失敗的登入事件。
存取您的裝置並執行下列命令:
cat /var/lib/defender_iot_micro_agent/pam.log
確認已記錄類似下列幾行、成功登入 (
open_session
)、登出 (close_session
),以及登入失敗 (auth
):2021-10-31T18:10:31+02:00,16356631,2589842,open_session,sshd,user,192.168.0.101,ssh,0 2021-10-31T18:26:19+02:00,16356719,199164,close_session,sshd, user,192.168.0.201,ssh,1 2021-10-28T17:44:13+03:00,163543223,3572596,auth,sshd,user,143.24.20.36,ssh,2
使用 Telnet 和終端機連線重複驗證程式。
下一步
如需詳細資訊,請參閱微代理程式事件集合。