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个月
运维安全中心(堡垒机),企业双擎版 50资产 7天
简介: 【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日志并进行多维度分析。
目录
相关文章
|
7月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
174 3
|
7月前
|
安全 网络安全 数据安全/隐私保护
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 什么作用?
125 1
|
8月前
|
关系型数据库 MySQL 数据库
MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
449 2
|
10月前
|
存储 关系型数据库 数据库
关系型数据库文件方式存储LOG FILE(日志文件)
【5月更文挑战第11天】关系型数据库文件方式存储LOG FILE(日志文件)
265 1
|
10月前
|
存储 弹性计算 运维
统计/var/log 有多少个文件
【4月更文挑战第29天】
73 1
|
10月前
|
弹性计算 运维 Shell
|
3天前
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
49 13
|
5天前
|
SQL 存储 关系型数据库
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
|
7天前
|
缓存 Java 编译器
|
25天前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
29 5
图解MySQL【日志】——Redo Log