Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >多次登录失败用户被锁定及使用Pam_Tally2解锁

多次登录失败用户被锁定及使用Pam_Tally2解锁

作者头像
孙杰
发布于 2019-10-29 07:51:58
发布于 2019-10-29 07:51:58
7K0
举报
文章被收录于专栏:云技术+云运维云技术+云运维

linux系统中,用户多次登录失败会被锁定,一段时间内将不能再登录系统,这是一般会用到Pam_Tally2进行账户解锁。

了解PAM

Linux-PAM (Pluggable Authentication Modules for Linux)可插拔认证模块。Linux-PAM是一套适用于Linux的身份验证共享库系统,它为系统中的应用程序或服务提供动态身份验证模块支持。在Linux中,PAM是可动态配置的,本地系统管理员可以自由选择应用程序如何对用户进行身份验证。PAM应用在许多程序与服务上,比如登录程序(login、su)的PAM身份验证(口令认证、限制登录),passwd强制密码,用户进程实时管理,向用户分配系统资源等。

PAM的主要特征是认证的性质是可动态配置的。PAM的核心部分是库(libpam)和PAM模块的集合,它们是位于文件夹/lib/security/中的动态链接库(.so)文件,以及位于/etc/pam.d/目录中(或者是/etc/pam.conf配置文件)的各个PAM模块配置文件。/etc/pam.d/目录中定义了各种程序和服务的PAM配置文件,其中system-auth文件是PAM模块的重要配置文件,它主要负责用户登录系统的身份认证工作,不仅如此,其他的应用程序或服务可以通过include接口来调用它(该文件是system-auth-ac的软链接)。此外password-auth配置文件也是与身份验证相关的重要配置文件,比如用户的远程登录验证(SSH登录)就通过它调用。而在Ubuntu、SuSE Linux等发行版中,PAM主要配置文件是common-auth、common-account、common-password、common-session这四个文件,所有的应用程序和服务的主要PAM配置都可以通过它们来调用。

使用如下命令判断程序是否使用了PAM: root@test~ # ldd /usr/bin/passwd | grep libpam

libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x00007fb74f748000)

libpam.so.0 => /lib64/libpam.so.0 (0x00007fb74eb45000)

如看到有类似的输出,说明该程序使用了PAM,没有输出,则没有使用。

pam_tally2模块用于某些数对系统进行失败的ssh登录尝试后锁定用户帐户。 此模块保留已尝试访问的计数和过多的失败尝试。

pam_tally2模块有两个部分,一个是pam_tally2.so,另一个是pam_tally2。 它是基于PAM模块上,并且可以被用于检查和调节计数器文件。 它可以显示用户登录尝试次数,单独设置计数,解锁所有用户计数。

PAM身份验证配置文件

/etc/pam.d/目录包含应用程序的PAM配置文件。例如,login程序将其程序/服务名称定义为login,与之对应的PAM配置文件为/etc/pam.d/login。

PAM配置文件语法格式 每个PAM配置文件都包含一组指令,用于定义模块以及控制标志和参数。每条指令都有一个简单的语法,用于标识模块的目的(接口)和模块的配置设置,语法格式如下:

module_interface control_flag module_name module_arguments 如在/etc/pam.d/password-auth-ac配置文件中(CentOS),其中一行PAM模块接口定义如下

PAM身份验证安全配置实例 一、强制使用强密码(用户密码安全配置)

PAM配置文件:/etc/pam.d/system-auth-ac

模块名称:pam_cracklib(仅适用于password模块接口)

模块参数:

minlen=12 密码字符长度不少于12位(默认为9)

lcredit=-1 至少包含1个小写字母

ucredit=-1 至少包含1个大写字母

dcredit=-1 至少包含1个数字

ocredit=-1 至少包含1个特殊字符

retry=3 配置密码时,提示3次用户密码错误输入

difok=6 配置密码时,新密码中至少6个字符与旧密码不同(默认为5)

其他常用参数:

reject_username 新密码中不能包含与用户名称相同的字段

maxrepeat=N 拒绝包含超过N个连续字符的密码,默认值为0表示此检查已禁用

maxsequence=N 拒绝包含大于N的单调字符序列的密码,例如’1234’或’fedcb’,默认情况下即使没有这个参数配置,一般大多数这样的密码都不会通过,除非序列只是密码的一小部分

maxcla***epeat=N 拒绝包含相同类别的N个以上连续字符的密码。默认值为0表示此检查已禁用。

use_authtok 强制使用先前的密码,不提示用户输入新密码(不允许用户修改密码)

例 修改配置/etc/pam.d/system-auth-ac文件,在password模块接口行修改或添加配置参数如下:

password requisite pam_cracklib.so try_first_pass retry=3 type= reject_username minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=6

需要注意的是,我在这里展示的是在RHEL/CentOS下的配置,passwd程序的PAM配置文件涉及主配置文件/etc/pam.d/passwd和/etc/pam.d/system-auth-ac(也可以是/etc/pam.d/password-auth-ac),其中/etc/pam.d/passwd配置文件默认只包含了/etc/pam.d/system-auth-ac配置文件,因此对于以上PAM身份验证密码模块配置,只修改/配置该文件即可。或者在Ubuntu中,配置文件包括:/etc/pam.d/common-password、/etc/pam.d/common-account、/etc/pam.d/common-auth、/etc/pam.d/common-session。

修改如下文件:

/etc/pam.d/sshd    (远程ssh)

/etc/pam.d/login    (终端)

在第一行下即#%PAM-1.0的下面添加: auth    required    pam_tally2.so    deny=3    unlock_time=600 even_deny_root root_unlock_time=1200

各参数解释: even_deny_root    也限制root用户; deny           设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户 unlock_time        设定普通用户锁定后,多少时间后解锁,单位是秒; root_unlock_time      设定root用户锁定后,多少时间后解锁,单位是秒;

手动解除锁定: 查看某一用户错误登陆次数: pam_tally --user 例如,查看work用户的错误登陆次数: pam_tally --user work 清空某一用户错误登陆次数: pam_tally --user --reset 例如,清空 work 用户的错误登陆次数, pam_tally --user work –-reset

如果使用pam_tally没生效的话,也可以使用pam_tally2命令:

pam_tally2 --u tom --reset将用户的计数器重置清零(SLES 11.2和12版本下用此命令才重置成功)

查看错误登录次数:pam_tally2 --u tom

faillog -r 命令清空所有用户错误登录次数 在服务器端以root用户登录 执行命令:         # faillog –a          ////查看用户登录错误次数

faillog -u user –r       ////清空指定用户user的错误登录次数

      如果超过三次的话,用户不能登录并且此后登录用户错误登录次数还是会增加。       在登录错误次数不满三次时,登录成功后,则这个用户登录错误值将清零,退出后重新telnet登录将采用新的计数。

其他例子: Pam_tally2锁定SSH登录

默认情况下,pam_tally2模块已经安装在大多数Linux发行版,它是由PAM包本身的控制。 本文演示如何锁定和深远的登录尝试的失败一定次数后解锁SSH帐户。

如何锁定和解锁用户帐户 使用“/etc/pam.d/password-auth”配置文件来配置的登录尝试的访问。 打开此文件并以下AUTH配置行举行的“ 身份验证 ”部分的开头添加到它。

auth required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200 接下来,添加以下行“ 账户 ”部分。

account required pam_tally2.so 参数 文件= /无功/日志/ tallylog -默认的日志文件是用来保持登录计数。 否认= 3 -拒绝后,3次尝试访问和锁定用户。 even_deny_root -政策也适用于root用户。 unlock_time = 1200 -帐户将被锁定,直到20分钟 。 (如果要永久锁定,直到手动解锁,请删除此参数。) 一旦你使用上面的配置完成,现在尽量尝试使用任何“ 用户名 ”3失败的登录尝试到服务器。 当你取得了超过3次,你会收到以下消息。

[root@test01 ~]# ssh test01@172.16.25.126 test01@172.16.25.126's password: Permission denied, please try again. test01@172.16.25.126's password: Permission denied, please try again. test01@172.16.25.126's password: Account locked due to 4 failed logins Account locked due to 5 failed logins Last login: Mon Apr 22 21:21:06 2017 from 172.16.16.52 现在,使用以下命令验证或检查用户尝试的计数器。

[root@test01 ~]# pam_tally2 --user=test01 Login Failures Latest failure From test01 15 04/22/17 21:22:37 172.16.16.52 如何重置或解锁用户帐户以再次启用访问。

[root@test01 pam.d]# pam_tally2 --user=test01 --reset Login Failures Latest failure From test01 15 04/22/13 17:10:42 172.16.16.52 验证登录尝试已重置或解锁

[root@test01 pam.d]# pam_tally2 --user=test01 Login Failures Latest failure From test01 0 PAM模块是所有Linux发行版中都有的, 在命令行中执行“ 人pam_tally2”可更多地了解它。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/11/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux多次登录失败用户被锁定使用Pam_Tally2解锁
在Linux系统中,用户多次登录失败会被锁定,一段时间内将不能再登录系统,这是一般会用到Pam_Tally2进行账户解锁。
星哥玩云
2022/07/25
9K0
Linux多次登录失败用户被锁定使用Pam_Tally2解锁
【Linux】linux配置用户多次登录失败后锁定
1.进入/etc/pam.d/password-auth 文件 2.添加配置,以这条配置为例.我在这里只设置错误三次锁定当前用户(不包括root),锁定时间为60秒
MaybeHC
2024/04/23
3.2K0
安全: Linux 系统安全简单设置
设置sshd,禁用root 例子: vim /etc/ssh/sshd_config PermitRootLogin yes => PermitRootLogin nosystemctl restar
heidsoft
2018/10/18
1.7K0
安全: Linux 系统安全简单设置
【实用】防暴力破解服务器ssh登入次数
于是乎写出了这个防范措施。防暴力破解服务器ssh登入次数,账号锁定,IP拉黑,日志查看。
释然IT杂谈
2022/10/27
2.3K0
【实用】防暴力破解服务器ssh登入次数
CentOS7密码安全设置
设置连续输错 5 次口令,账号锁定 5 分钟,先检查 PAM 模块版本,搜索 pam_tally2 是否存在
陳斯托洛夫斯記
2024/08/07
3920
等保2.0-身份鉴别
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/122
joshua317
2021/09/14
1.2K0
Linux之PAM系统模块详解说明
[TOC] 0x00 前言介绍 Q:什么是PAM? 答:PAM 的全称为可插拔认证模块(Pluggable Authentication Modules:简称 PAM /pæm/ ),Linux中的一
全栈工程师修炼指南
2020/10/26
14.1K2
安装完Linux需要做的关于安全的事
最近主机受到攻击,原因可能是redis集群没有设置密码(因为快过期了,不想搞得太复杂就没设),然后被人家搞事情了,就被人一把set了些执行脚本,形如curl -fsSL http://d.powerofwish.com/pm.sh | sh,真的是猥琐啊,我登上主机一看,简直是猥琐至极,不能忍了啊。
江涛学编程
2020/07/15
1.3K0
服务器Linux安全加固10条建议
以下是服务器安全加固的步骤,本文以CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。
用户1685462
2021/08/05
1.5K0
Linux 系统安全与优化配置
Linux 系统安全与优化配置 Linux 系统安全问题 ---- 目录 1. Openssh 安全配置 1.1. 禁止root用户登录 1.2. 限制SSH验证重试次数 1.3. 禁止证书登陆 1.4. 使用证书替代密码认证 1.5. 图形窗口客户端记忆密码的问题 1.6. 关闭 GSSAPI 1.7. 禁止SSH端口映射 1.8. IP地址限制 2. Shell 安全 2.1. .history 文件 2.2. sudo 安全问题 2.3. 临时文件安全 2.4. 执行权限 3. 防火墙 3.1. 策略
netkiller old
2018/03/05
2.1K0
Linux登陆失败处理功能
本文要实现的功能:如果有人恶意尝试破解你的服务器密码,那么这个功能就能帮你起到一定的作用,当尝试密码错误超过设定的次数后,就会锁定该账户多长时间(自行设定),时间过后即可自行解锁,这样可以增加攻击者的成本。
用户5760343
2022/05/24
6.4K0
Linux登陆失败处理功能
Linux服务器安全加固10条建议
最近看到一个网友在问服务器上的数据库被留下了 “To recover your lost Database and avoid leaking it: Send us 0.05 Bitcoin (BTC) to our Bitcoin address 14yVUjTFesHAusWZ8qytA9faYmKfqEFpYv and contact us by Email with your Server IP or Domain name and a Proof of Payment. Your Database is downloaded and backed up on our servers. If we dont receive your payment in the next 10 Days, we will make your database public or use them otherwise.” 可以看到这个网友的服务器显然是被入侵了,类似这位网友的问题也经常可以看到,遇到这样的问题应该如何处理呢? 通常服务器被入侵后被动的解决是无效的这里要么按照留言付“比特币”给黑客要么只能认倒霉。 所以购买服务器前要提前加固好我们的服务器,本节就来介绍Linux服务器安全加固的10条建议。
研究僧
2020/05/01
15.3K4
使用pam_tally2锁定和解锁SSH失败的登录尝试
pam_tally2模块可于用于在对系统进行一定次数的失败ssh登录尝试后锁定用户
yuanfan2012
2019/08/28
13.7K0
使用pam_tally2锁定和解锁SSH失败的登录尝试
Centos7下关于系统用户密码规则-运维笔记
1)密码长度、有效期 /etc/login.defs文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的。
洗尽了浮华
2018/09/28
4K0
ubuntu密码设置规则_密码复杂性策略
将默认配置注释掉,添加一行新的配置,默认的配置为允许root登录,但是禁止root用密码登录
全栈程序员站长
2022/11/10
4.1K0
ubuntu密码设置规则_密码复杂性策略
Cenos安全配置之身份识别相关
查看账户、口令文件、与系统管理员确认不必要的账户。对于一些保留的系统伪账户如:bin,sys,adm,uucp,lp,nuucp,hpdb,www,daemon等可根据需求锁定登陆
释然IT杂谈
2020/06/12
2.9K0
一个简单的Linux系统加固方案
版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢。
耕耘实录
2018/12/20
1.2K0
Linux用户被锁定后如何解锁
客户的一台机器,按照提供的常用密码尝试使用oracle用户登陆,超过指定次数账号被锁定,提示如下:
Alfred Zhao
2023/08/24
1.3K0
腾讯云cvm-linux登录不上: PAM模块问题(案例篇)
CVM云服务器通过VNC输入正确的密码后无法正常登录,报错Module is unknown
赵智勇
2020/10/26
19.2K1
腾讯云cvm-linux登录不上: PAM模块问题(案例篇)
用户锁定问题:用户账户被锁定,无法登录
是山河呀
2025/02/04
6940
相关推荐
Linux多次登录失败用户被锁定使用Pam_Tally2解锁
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档