如何配置 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 文件
安装审计软件包后,我们需要配置其规则文件。默认情况下,它仅记录一些事件,例如系统启动和关闭活动。您可以通过编辑 /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 以实现相同的目的。我们还研究了如何测试我们的设置是否正常工作。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

