如何配置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。我们还了解了如何测试我们的设置是否正常工作。