简述PAM模块认证Pam可插拔的认证模块
接口文件在/etc/pam.d/目录下
调用的模块文件/lib/security目录下
模块的配置文件/etc/security/目录下
日志信息存放在/var/log/secrue
网络中的很多用户需要对我们的服务器进行远程管理、FTP登录等等,服务器需要对用户进行认证
通过PAM调用与之服务相对应的接口文件进行模块认证。
PAM服务文件
格式:
Tyepcontrol模块
Type有这几类
auth验证是否有这个账号
account账号是否过期
password改变口令的时候对密码的长短、是否是字典里的进行验证
session回话控制
control:
required必须通过,
如果没有通过,彻底否定,而且还要看后续模块
如果通过,且还要看后续模块
requisite必须通过,
如果没有通过,彻底否定,而且不看后续模块
如果通过,且还要看后续模块
sufficient如果没有通过,不否定,而且看后续模块
只要有一个通过通过
optional
Include(共同调用的接口文件,包含很多模块)
常用的PAM模块
pam_access.so控制访问者地址与账号名称
pam_lisffile.so控制访问者的账号名称或登录位置
pam_limits.so控制位用户分配的资源
pam_rootok.so对管理员无条件允许通过
pam_userdb.so设定独立用户账号数据库认证
等等
下面通过几个小例子说明一下
1、不允许普通用户登录服务器
打开sshd的接口文件/etc/pam.d/login如下,调用了pam_nologin.so模块,且是必须验证的
查看关于pam_nologin.so模块的说明文档知道,在/etc/目录下新建一个nologin文件就可以了
touch/etc/nologin
用user1在通过ssh登录一下试试,登不进去了,如下:
(由于login文件里也调用了该模块,所以在本机上所有用户也登陆不了了)
2、限制用户user1只能从192.168.101.3上SSH登录模块为pam_access.so
vim/etc/pam.d/sshd—编辑ssh的接口文件sshd如下
和pam_access.so模块有个像对应的配置文件access.conf
vim/etc/security/access.conf添加如下一行
+:user1:192.168.101.3
-:user1:all表示不允许从其它地方ip登录
其中”+“表示授权”user1“授权的用户免费云主机域名”192.168.101.3“表示来源
从192.168.101.3的登录,授权成功
日志如下:
pam_access(sshd:session):accessdeniedforuser`user1’from`192.168.101.103′
从其它的ip登录,拒绝
PAM:pam_open_session():Permissiondenied
如果是只有user1能从192.168.101.180登录
将”-:user1:all“改为“-:all:all”
3、限制user1账号本地终端的登录次数为2次模块pam_limits.so
vim/etc/security/limits.conf添加如下一句
user1-maxlogins2
”–“表示hard和soft都一样(关于语法格式,配置文件里有说明)
vim/etc/pam.d/login–编辑login接口文件添加如下:
sessionrequiredpam_limits.so
用user1登录三次,第三次被拒绝如下:
4、在我的用户中凡是在test组中的用户都能ssh,不是改组的用户不能SSH模块pam_listfile.so(基于额外的文件)
vim/etc/pam.d/sshd添加如下:
sessionrequiredpam_listfile.soitem=groupsense=allowfile=/etc/grouptestonerr=succeed
—额外文件为/etc/grouptest如果没有这个文件,无限制
新建改文件,并添加test组
echo”test”>/etc/grouptest
User1在test组能登录,user2不在,不能登录
5、只允许root从安全的终端登录即不允许从tty1登录模块pam_securetty.so
vim/etc/securetty
删除tty1
默认Login接口文件已经调用了该模块
当root从终端1登录时,如下
6、在本地不允许使用bashshell登录模块pam_shells.so
默认是在/etc/shells里列出的都能
[root@localhostpam.d]#vim/etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
将上述的/bin/bash删掉
vim/etc/pam.d/login编辑登录文件来调用该模块如下
sessionrequiredpam_shells.so
这个验证时好像有些小问题!!!!!
大家都知道,在提交form表单时会调用onsubmit方法,既然调用了onsubmit,说明表单免费云主机域名中该填的项肯定都已经填好了,这时,我们通过修改onsubmit方法,便可以获取表单中的信息.xss.js:根据各程序不同,修改表单名称接收端xss.p…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。