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 分钟),以防止暴力破解攻击。这个机制对于保护系统安全非常有用。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
280 3
|
安全 网络安全 数据安全/隐私保护
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 什么作用?
279 1
|
关系型数据库 MySQL 数据库
MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
MySQL 启动日志报错: File /mysql-bin.index not found (Errcode: 13 - Permission denied)
872 2
|
存储 关系型数据库 数据库
关系型数据库文件方式存储LOG FILE(日志文件)
【5月更文挑战第11天】关系型数据库文件方式存储LOG FILE(日志文件)
400 1
|
存储 弹性计算 运维
统计/var/log 有多少个文件
【4月更文挑战第29天】
107 1
|
弹性计算 运维 Shell
|
5月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
620 54
|
11月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
2964 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
10月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
257 9