你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文提供了配置可插入身份验证模块 (PAM) 以在未修改的 Ubuntu 20.04 或 18.04 安装上审核 SSH、Telnet 和终端登录事件的示例过程。
PAM 配置可能因设备和 Linux 发行版而异。
有关详细信息,请参阅登录收集器(基于事件的收集器)。
注意
Defender for IoT 计划在 2025 年 8 月 1 日停用微代理。
先决条件
在开始之前,请确保已安装 Defender for IoT 微代理。
配置 PAM 需要技术知识。
有关详细信息,请参阅教程:安装 Defender for IoT 微代理。
修改 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 和终端连接重复验证过程。
后续步骤
有关详细信息,请参阅微代理事件集合。