千家信息网

什么是ssh黑洞 pam_tally2

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍什么是ssh黑洞 pam_tally2,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、修改sshd本身配置:默认端口 、尝试密码次数、禁止root、客户端连接
千家信息网最后更新 2025年12月02日什么是ssh黑洞 pam_tally2

这篇文章给大家介绍什么是ssh黑洞 pam_tally2,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1、修改sshd本身配置:默认端口 、尝试密码次数、禁止root、客户端连接时间、取消dns解析

2、系统级别 host allow deny

3、pam级别

4、其他工具辅助

本文介绍pam pam_tally2 模块的用法。

前提:

/etc/ssh/sshd_config 里设置 UsePAM yes ,一般默认允许PAM。

主要功能:

限制用户M次密码错误后锁定该用户N秒

/etc/pam.d 下有很多文件:

/etc/pam.d/login 中配置只在本地文本终端上做限制;

/etc/pam.d/kde 在配置时在kde图形界面调用时限制;

/etc/pam.d/sshd 中配置时在通过ssh连接时做限制;

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

预警:

因为pam_tally没有自动解锁的功能,所以,在设置限制时,要多加注意,万一全做了限制,而 root用户又被锁定了,就只能够进单用户模式解锁了,当然,也可以添加crontab任务,达到定时自动解锁的功能,但需要注意的是,如果在/etc /pam.d/system-auth 文件中添加了pam_tally的话,当root被锁定后,crontab任务会失效,所以,最好不要在system-auth 文件中添加pam_tally。

现在只针对sshd :

锁定所有用户(包括root)2次密码错误后锁定2分钟。

修改 /etc/pam.d/sshd 文件,添加2处文件(网上很多文件只添加第一处,误人误己)

1、必须在 #%PAM-1.0 下添加 : auth required pam_tally2.so deny=2 unlock_time=120 even_deny_root root_unlock_time=120 # 添加 1

2、-auth 段下 添加 account required pam_tally2.so # 添加 2

$ cat /etc/pam.d/sshd#%PAM-1.0auth required pam_tally2.so deny=2 unlock_time=120 even_deny_root root_unlock_time=120   # 添加 1  auth       required      pam_sepermit.soauth       substack     password-authauth       include      postlogin# Used with polkit to reauthorize users in remote sessions-auth      optional     pam_reauthorize.so prepareaccount     required      pam_tally2.so   # 添加 2account    required     pam_nologin.soaccount    include      password-authpassword   include      password-auth# pam_selinux.so close should be the first session rulesession    required     pam_selinux.so closesession    required     pam_loginuid.so# pam_selinux.so open should only be followed by sessions to be executed in the user contextsession    required     pam_selinux.so open env_paramssession    required     pam_namespace.sosession    optional     pam_keyinit.so force revokesession    include      password-authsession    include      postlogin# Used with polkit to reauthorize users in remote sessions-session   optional     pam_reauthorize.so prepare

如果不限制root用户,则可以写成 auth required pam_tally2.so deny=M unlock_time=N*60

解释:

配置格式:

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]


参数相关:

1、全局参数
file 用于指定统计次数存放的位置,默认保存在/var/log/tallylog文件中;
onerr 当意外发生时,返加PAM_SUCCESS或pam错误代码,一般该项不进行配置;
audit 如果登录的用户不存在,则将访问信息写入系统日志;
silent 静默模式,不输出任何日志信息;
no_log_info 不打印日志信息通过syslog
上面的五项全局参数,一般在使用中都不需要单独配置。

2、认证选项
deny 指定最大几次认证错误,如果超出此错误,将执行后面的策略。如锁定N秒,如果后面没有其他策略指定时,默认永远锁定,除非手动解锁。
lock_time 一次失败,锁定多长时间,按秒为单位;
unlock_time 指定认证deny次数被锁后,多长时间自动解锁用户;
magic_root 如果用户uid=0(即root账户或相当于root的帐户)在帐户认证时调用该模块发现失败时,不计入统计;
no_lock_time 不使用.fail_locktime项在/var/log/faillog 中记录用户 ---按英文直译不太明白,个人理解即不进行用户锁定;
even_deny_root root用户在认证出错时,一样被锁定(该功能慎用,搞不好就要单用户时解锁了)
root_unlock_time root用户在失败时,锁定多长时间。该选项一般是配合even_deny_root 一起使用的。

命令行管理:

pam_tally2 查看所有用户失败状态

pam_tally2 --user=root 指定查看该用户失败状态 简写 pam_tally2 -u root

pam_tally2 --user=root --reset 解除用户限制 简写 pam_tally2 -r -u root

试验:

请使用终端ssh命令去尝试,xshell貌似不会显示错误,只会一直要求输入。

输入账号密码后才会去验证,不是说锁定了都不用输入密码就直接报错。

➜  ~ ssh root@xxxx.com -p 5000Password:Account locked due to 5 failed loginsPassword:Account locked due to 6 failed loginsPassword:$ pam_tally2 -u rootLogin           Failures Latest failure     Fromroot                6    09/14/19 12:46:33  47.93.185.255# 重置 # root @ web-devops-01 in /home/hlnmroot [12:46:40]$ pam_tally2 -r -u rootLogin           Failures Latest failure     Fromroot                6    09/14/19 12:46:33  47.93.185.255# root @ web-devops-01 in /home/hlnmroot [12:47:28]$ pam_tally2 -u rootLogin           Failures Latest failure     Fromroot                0再登陆➜  ~ ssh root@xxxx.com -p 5000Password:Last failed login: Sat Sep 14 12:46:33 CST 2019 from 47.93.185.255 on ssh:nottyThere were 5 failed login attempts since the last successful login.Last login: Sat Sep 14 11:59:40 2019 from 47.94.129.79Welcome to Alibaba Cloud Elastic Compute Service !

关于什么是ssh黑洞 pam_tally2就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

用户 文件 配置 限制 错误 密码 认证 功能 时间 信息 参数 次数 输入 黑洞 任务 全局 内容 命令 帐户 日志 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络技术开发图片 久盟网络技术网 网络安全的相关专业 安徽智能软件开发技巧 河南三门峡直销软件开发价格 魔兽怀旧服哪个区服务器好 上海手机软件开发大概多少钱 谷歌地球打开显示服务器错误 大一计算机网络技术考试试题 山东泉福网络技术有限公司评价 视频服务器显示心跳丢失 国安印章网络技术有限公司电话 asp怎么添加mdb数据库 红河州公安局网络安全执法检查 dsm 数据库打不开 数据库备份到另一个表上怎么写 Java软件开发实验目的 湖北五五互联网科技有限公司 服务器软件运行卡顿原因 儋州管理软件开发定制 网络安全综合治理体系建设 用友 数据库卸载 宁夏盟网络安全有限公司 北京市网络安全举报中心 易点淘网络技术有限公司张翼明 SR在软件开发中的意思 广东常用软件开发市价 网络安全立法调研 网络安全广州 数据库怎么删除多条数据
0