PAM模块介绍

Linux-PAM(即linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式。换句话说,不用(重新编写)重新编译一个包含PAM功能的应用程序,就可以改变它使用的认证机制,这种方式下,就算升级本地认证机制,也不用修改程序。
PAM使用配置/etc/pam.d/下的文件,来管理对程序的认证方式.应用程序 调用相应的配置文件,从而调用本地的认证模块.模块放置在/lib/security下,以加载动态库的形式进,像我们使用su命令时,系统会提示你输入root用户的密码.这就是su命令通过调用PAM模块实现的,之前有文章介绍过。

本文主要实现

在centos8.2 和Ubuntu20.04环境下设置,登录输入密码错误5次,锁定用户2小时。

实验环境

centos8.2,RHEL可做参考。centos7配置和centos8不一样,请注意。

Ubuntu20.04,Ubuntu其他版本类似

说明

1、pam_tally2模块在centos8后已淘汰掉,centos8用pam_faillock 模块替换。

2、设置的是密码错误5次就锁住2小时,不管5次是不是连续输入,只要在一段时间内错误5次就锁住(系统默认好像15分钟内,另外尽管有的博客说是要连续输入,但在centos8.2系统不管是不是连续输入,只要达到5次就会锁住,除非写的认证语句不一样这个自己去研究)。

3、Ubuntu的PAM配置里,分了好多个文件,我们这次只设置其中常用的两个,设置方式也有所不同 。

4、锁住一次后,等解锁了,5次会清0。

5、时间单位是秒,可根据喜好自定义。

操作文件

centos8.2:

/etc/pam.d/system-auth

/etc/pam.d/password-auth

Ubuntu20.04:

/etc/pam.d/common-auth

/etc/pam.d/common-password

操作

通过 pam_faillock 模块,将登录尝试失败的数据储存在 /var/run/faillock 目录下每位用户的独立文件中

1,配置

添加以下命令行到 /etc/pam.d/system-auth 文件和/etc/pam.d/password-auth 文件中的对应区段:

auth        required      pam_faillock.so preauth silent audit deny=5 unlock_time=7200
auth        sufficient    pam_unix.so nullok try_first_pass
auth        [default=die]  pam_faillock.so  authfail  audit  deny=5  unlock_time=7200
account  required  pam_faillock.so

注意: auth required pam_faillock.so preauth silent audit deny=3 必须在最前面。 注意上面命令行写在文件的顺序,没配置正确有可能root都无法登录。 如果想锁住root用户,在pam_faillock 条目里添加 even_deny_root 选项

2,/etc/pam.d/password-auth添加后文件如下: 2747523c7e166e1cd660c7efe48bb243png

(这里说明一下: 如果只配置password-auth文件,输入密码错误5次后,通过tty终端登录的时候是没问题,可以限制住;但是如果通过其它普通用户用:su - admin2切换过来,则没有限制住; 如果只配置system-auth文件,则不会锁住,也不会生成登录失败日志/var/run/faillock,执行命令faillock也不会有登录失败日志。)

/etc/pam.d/system-auth添加后文件如下:

ff5b77e463a28536a4c327e93f11489apng

查看所有用户的尝试失败登录次数 [root@linux ~]# faillock 5fd7d3aff29b713b3d94a65a86e17d37png

只查看admin用户(就不测试了)

faillock --user admin

解锁一个用户账户(就不测试了)

faillock --user lt --reset [root@linux ~]#

解锁所有用户

faillock --reset

faillock其它用法:

info faillock

参考:

https://www.digitalocean.com/community/tutorials/how-to-use-pam-to-configure-authentication-on-an-ubuntu-12-04-vps

本文链接:http://nix.pub/article/configure-pam/