触发pam_tally2模块机制导致登录失败

这篇具有很好参考价值的文章主要介绍了触发pam_tally2模块机制导致登录失败。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎹 个人简介:大家好,我是 金鱼哥,华为云社区2022年度十佳博主,华为云·云享专家,阿里云社区·专家博主,CSDN运维领域新星创作者
📚个人资质:CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL、PMP😜
💬格言:努力不一定成功,但要想成功就必须努力🔥

🎈支持我:可点赞👍、可收藏⭐️、可留言📝


前言:在生产环境中,如果设置了pam_tally2模块限制,则需要了解好其限制的规则情况,也要知道触发规则出现不能登录时应该如何进行处置。本文以两天所遇到的情景而进行分析和讲述,希望对看到本文的小伙伴有所启示。


📜触发机制,登录失败

无独有偶,两天都遇到有厂商工程师由于触发了PAM的限制而导致机器不能登录。而限制用户登录次数设置会几乎在所有生产环境中的机器进行设置,一旦触发,所登录的用户就不能进行登录,直到符合规则上的锁解时间才可以进行登录。

时间点发生在4月10日和4月11日,分别在两台机器出现如下日志提示:

Apr 10 15:30:01 k8s-node3 login: pam_tally2(login:auth): unknown option: no_magic_root
Apr 10 15:30:01 k8s-node3 login: pam_tally2(login:auth): user root (0) tally 30, deny 3
Apr 10 15:30:03 k8s-node3 login: pam_succeed_if(login:auth): requirement "uid >= 1000" not met by user "root"
Apr 10 15:30:05 k8s-node3 login: FAILED LOGIN 1 FROM tty1 FOR root, Authentication failure
Apr 10 15:30:05 k8s-node3 login: pam_tally2(login:auth): unknown option: no_magic_root

触发pam_tally2模块机制导致登录失败,金鱼哥的TroubleShooting,运维,服务器,linux

Apr 10 10:03:44 k8s-master sshd[19896]: pam_tally2(sshd:auth): user root (0) tally 18, deny 3
Apr 10 10:03:44 k8s-master sshd[19896]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Apr 10 10:03:46 k8s-master sshd[19898]: pam_tally2(sshd:auth): user root (0) tally 19, deny 3

触发pam_tally2模块机制导致登录失败,金鱼哥的TroubleShooting,运维,服务器,linux

从日志可看出,两台机器都是PAM中的pam_tally2模块所触发的日志,但两者一个是在login中触发,一个是sshd中触发,这也侧面反应出pam_tally2模块的设置可在不同的场景下进行。


📜学习pam_tally2

这里先说明一下pam_tally2模块的情况:

pam_tally2模块用于记录用户登录失败的次数,并在达到一定的阈值后禁止用户继续尝试登录。它是一种安全措施,可以帮助保护系统免受恶意攻击。

pam_tally2模块分为两部分,一部分是pam_tally2.so,另一部分是pam_tally2。它基于PAM模块,可用于检查和操作计数器文件。它可以显示用户登录尝试次数,单独设置计数,也可清除计数,解锁所有用户登录锁定。


📑pam_tally2配置格式和选项

配置格式
# man pam_tally2

pam_tally2.so [file=/path/to/counter] [onerr=[fail|succeed]] [magic_root] [even_deny_root] [deny=n] [lock_time=n] [unlock_time=n] [root_unlock_time=n] [serialize] [audit] [silent] [no_log_info]

常用选项
  • file 记录日志的路径,默认是/var/log/tallylog

  • onerr:指定在读取计数器时出错时的行为。可选值包括:

    • fail:认证失败。
    • succeed:认证成功。
  • magic_root:如果模块是由uid=0的用户调用的,则计数器不递增。系统管理员应该对用户启动的服务使用这个参数,比如su,否则这个参数应该被省略。

  • even_deny_root:root用户在认证出错时,一样被锁定

  • deny:指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。

  • lock_time:锁定多长时间,按秒为单位;

  • unlock_time:指定认证被锁后,多长时间自动解锁用户;

  • root_unlock_time:root用户在失败时,锁定多长时间。该选项一般是配合even_deny_root 一起使用的。


配置举例

pam_tally2模块的默认配置文件为/etc/pam.d/system-auth(CentOS/RHEL)或/etc/pam.d/common-auth(Ubuntu/Debian)。但也可以在以下配置文件中进行配置:

  • /etc/pam.d/login:在本地终端上做限制

  • /etc/pam.d/kde:在kde图形界面调用时限制

  • /etc/pam.d/sshd:在通过ssh连接时做限制

而在默认配置文件/etc/pam.d/system-auth中配置调用 system-auth 文件的服务,都会生效。


某配置片段:

auth        required      deny=5 unlock_time=30 even_deny_root root_unlock_time=60
account     required      pam_tally2.so
# account配置处需要添加此配置进行模块调用。

该配置指定了在用户连续登录失败5次后禁止其登录,并锁定30秒,即使是root用户也一样禁止,而root用户登录失败则锁定60秒。登录失败计数器记录在默认的/var/log/tallylog文件中。

当锁定而不能进行登录时,可在可以登录的终端框中使用pam_tally2 -u命令查看登录失败的计算情况。如果锁定的时间较长的话,还需要手动解锁,清空计数才能进行登录。

涉及命令(以查看root用户为例):

# 查看计算
pam_tally2 -u root
# 清空计数
pam_tally2 -u root -r

📜故障处理

对pam_tally2有所了解后,那就可以直接在环境中进行处置,只要有可以登录到的终端,就可以进行清空计数,重新进行登录。

[root@k8s-master ~]# pam_tally2 -u root
Login           Failures Latest failure     From
root               32    04/11/23 10:04:47  172.16.250.143
 
[root@k8s-master ~]# pam_tally2 -u root -r
Login           Failures Latest failure     From
root               32    04/11/23 10:04:47  172.16.250.143

[root@k8s-master ~]# pam_tally2 -u root
Login           Failures Latest failure     From
root                0 

触发pam_tally2模块机制导致登录失败,金鱼哥的TroubleShooting,运维,服务器,linux

清空计数后,只要输入密码正确就可以进行登录,那重点事情来了,那就是密码要输入正确!此时登录到系统,会有相关提示,例如:

There were 5 failed login attempts since the last successful login.

触发pam_tally2模块机制导致登录失败,金鱼哥的TroubleShooting,运维,服务器,linux

有小伙伴应该会发现,很多人触发锁定不就是因为忘记密码才会多次输入错误而导致被锁吗?那如果真的忘记密码了,那就只能进入到“重置密码”的模式中进行密码重置。

密码重置操作可参考金鱼哥的博文:Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)


📜极端情况

故障路上群魔乱舞,甚至会出现由于设置的失误,而又达到了错误登录次数而触发了机制,导致连console直连都直接被锁定,而又不知道系统被锁定多久,甚至永久锁定😫如果出现这种情况的时候,那应该如何处理呢?

来,别慌,金鱼哥还真处理过这样的情况,当出现这样的情况,你可以这样操作:重启机器登录到单用户模式或者“重置密码”的模式中,使用计数器清零的命令清空计数,顺道把用户密码也进行修改,之后再尝试登录到系统;如果在“重置密码”的模式中不能清零计数器,那还可以曲线救国,直接在“重置密码”的模式中新建一个普通用户并设置好密码,然后授权sudo权限给此普通用户,之后进入系统登录此用户来对系统进行各种设置修复。


💡总结

故障到此已处理完毕,遇到报错要学会查看日志,这个真的非常重要,日志可辅助我们排查究竟是哪里出现问题,因此应该一上来就查看日志,看具体报错信息。

扎实的基础有利于排除故障并学习更多的知识和技能,共同努力,好好加油🤪。

触发pam_tally2模块机制导致登录失败,金鱼哥的TroubleShooting,运维,服务器,linux

以上就是【金鱼哥】对 pam_tally2模块的限制和所遇场景 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

💾日常故障专栏系列:金鱼哥的TroubleShooting

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

触发pam_tally2模块机制导致登录失败,金鱼哥的TroubleShooting,运维,服务器,linux文章来源地址https://www.toymoban.com/news/detail-654878.html

到了这里,关于触发pam_tally2模块机制导致登录失败的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • android升级SDK 到30,导致微信登录,支付失败

    当时为了将应用上传 google play ,所以升级了sdk 版本号 targetSdkVersion = 30 ,后来发现升级之后,应用中微信登录,微信支付,都拉不起来了,点击登录,或者支付,没有任何响应。 通过看日志发现, sendReq failed for wechat app signature check failed 是微信没有被拉起, 后来了解资料发现

    2024年02月05日
    浏览(53)
  • 13.5.3 【Linux】PAM 模块设置语法

    PAM 借由一个与程序相同文件名的配置文件来进行一连串的认证分析需求。我们同样以passwd 这个指令的调用 PAM 来说明好了。 当你执行 passwd 后,这支程序调用 PAM 的流程是: 1. 使用者开始执行 /usr/bin/passwd 这支程序,并输入密码; 2. passwd 调用 PAM 模块进行验证; 3. PAM 模块会

    2024年02月15日
    浏览(41)
  • Linux——系统安全及应用(账号安全、su命令、PAM认证、sudo命令、开关机安全机制、系统弱口令检测、NMAP)

    文件无法被修改的原因:权限不够或者账号被锁住了 设置密码有效期 闲置600秒后自动注销 用途:Substitute User,切换用户 格式:su - 目标用户 root-任意用户,不验证密码 普通用户-其他用户,验证目标用户的密码 将允许使用su命令的用户加入wheel组 启用pam_wheel认证模块 [root@

    2024年01月23日
    浏览(53)
  • 烂sql导致clickhouse集群memory_tracking直线飙升触发熔断

    版 本 v e r s i o n   1 9 . 1 7 . 4 . 1 1     c l i c k h o u s e   集 群 , 主 要 存 日 志 数 据 与 监 控 数 据 。 架 构 为 4 台 主 机 1 2 个 实 例 数 , 数 据 为 单 副 本 。 近 日 , 该 c l i c k h o u s e 集 群 有 一 台 物

    2024年02月12日
    浏览(32)
  • form中表单切换,导致 relus 中的事件无法触发,原因:页面切换不要一直切换DOM,会导致问题,需要都显示出来

    1、 el-form-item 绑定的 prop=“aaa” 在 rules中 2、v-model=“aaa” 绑定的 aaa 在 rules 中 参考链接

    2024年02月12日
    浏览(44)
  • 频繁设置CGroup触发linux内核bug导致CGroup running task不调度

    1. 说明 1 本篇是实际工作中linux上碰到的一个问题,一个使用了CGroup的进程处于R状态但不执行,也不退出,还不能kill,经过深入挖掘才发现是Cgroup的内核bug 2发现该bug后,去年给RedHat提交过漏洞,但可惜并未通过,不知道为什么,这里就发我博客公开了 3 前面的2个帖子《极简

    2023年04月15日
    浏览(60)
  • Spring的定时任务不生效、不触发,一些可能导致定时任务没有生效的原因,和具体的解决方法。Spring框架的定时任务不生效或者不触发的原因

    1. 未开启定时任务 : 原因 :未在Spring Boot应用主类上添加 @EnableScheduling 注解或未在XML配置文件中配置定时任务的启用。 解决方法 :确保在应用的配置类上添加 @EnableScheduling 注解,启用定时任务。 2. 定时任务方法的访问权限问题 : 原因 :定时任务的方法可能被设置为私有

    2024年02月03日
    浏览(57)
  • 使用登录触发器限制SQL Server登录身份验证范围

    常见SQL Server主体是客户端和登录名,并且受GRANT和DENY的授权约束。 SQL Server数据库引擎将通过来自任何Query Management Studio(SSMS),Application Integration或某些其他设备的身份验证请求来授权登录。 开发,QA或阶段服务器可以允许所有登录使用不同的客户应用程序对SQL Server进行身

    2024年02月05日
    浏览(50)
  • 虚拟交换缓存不足导致qt编译失败

    qt pro make 失败: virtual memory exhausted: Cannot allocate memory 查看内存: 设置交换缓存: 释放缓存 开机自动使用该虚拟内存的启动脚本 参考

    2024年02月10日
    浏览(48)
  • 从D的触发机制到寄存器的同步清零

    之前助教向我们介绍了利用MUX进行同步清零的操作,但是对于寄存器的clk端没有进行使用。当我在看到D的触发器的触发冒险机制时,我在思考能否将这种机制应用到寄存器的同步复位上,最终结果证明是可行的。 D触发器的实现 我在这里截取了PPT中D触发器的一种实现方式,

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包