auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 什么作用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
运维安全中心(堡垒机),免费版 6个月
简介: 【8月更文挑战第14天】auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 什么作用

这段 PAM(Pluggable Authentication Modules)配置行是用于增强系统安全性的,特别是针对登录失败尝试的限制。它使用了 pam_tally2.so 模块,该模块是 pam_tally.so 的一个增强版本,用于跟踪用户对服务的失败登录尝试次数。下面是这段配置行的详细解释:

auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300
auth:这表示该规则适用于认证阶段。PAM 有几个阶段,包括认证(auth)、账户管理(account)、密码(password)和会话管理(session)。
required:这表示如果 pam_tally2.so 模块失败(即,如果它拒绝访问),则整个 PAM 认证过程不会立即失败,但会记录该模块的失败。然而,由于通常 pam_tally2.so 不会单独用于认证(它主要用于跟踪失败次数),这里的 required 实际上是确保该模块被调用。在一些情况下,可能会使用 optional 或 requisite,但具体取决于配置的其他部分和目的。
pam_tally2.so:这是要调用的 PAM 模块的名称。
file=/var/log/tallylog:指定了 pam_tally2.so 用于记录失败登录尝试的文件路径。默认情况下,它可能使用 /var/log/faillog,但这里被修改为 /var/log/tallylog。
onerr=fail:这通常不是 pam_tally2.so 的一个直接选项,但可能是某个 PAM 实现或封装脚本中的特定选项。理论上,它可能意味着如果模块遇到错误(如无法写入日志文件),则认证失败。然而,在标准的 pam_tally2.so 文档中,这个选项并不常见。
deny=3:这表示如果用户连续失败登录尝试达到 3 次,那么该用户将被锁定。
unlock_time=300:这指定了用户被锁定后的解锁时间(以秒为单位),这里是 300 秒(即 5 分钟)。
even_deny_root:这表示即使是 root 用户,如果连续失败登录尝试达到 deny 指定的次数,也会被锁定。
root_unlock_time=300:这通常是不必要的,因为 unlock_time 已经为所有用户(包括 root)设置了解锁时间。然而,有些 PAM 实现或封装脚本可能允许你分别为 root 用户设置不同的解锁时间。
总的来说,这段配置的作用是限制用户在 /etc/pam.d/ 目录下指定的服务(如 SSH、登录等)上的连续失败登录尝试次数。如果用户达到指定的失败次数(这里是 3 次),他们将被锁定一段时间(这里是 5 分钟),以防止暴力破解攻击。这个机制对于保护系统安全非常有用。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
110 3
|
2月前
|
安全 网络安全 数据安全/隐私保护
auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 什么作用?
【8月更文挑战第2天】auth required pam_tally2.so file=/var/log/tallylog onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300 什么作用?
35 1
|
3月前
|
关系型数据库 MySQL 数据库
MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
190 2
|
5月前
|
存储 关系型数据库 数据库
关系型数据库文件方式存储LOG FILE(日志文件)
【5月更文挑战第11天】关系型数据库文件方式存储LOG FILE(日志文件)
182 1
|
5月前
|
存储 弹性计算 运维
统计/var/log 有多少个文件
【4月更文挑战第29天】
50 1
|
5月前
|
弹性计算 运维 Shell
|
12天前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
87 3
|
13天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1576 12
|
8天前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
15 0
|
10天前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
44 0