Linux PAM 插件认证
2019独角兽企业重金招聘Python工程师标准>>>
55.2. PAM
配置文件
ls /etc/pam.d/
chfn crond login passwd remote runuser-l smtp ssh-keycat sudo-i system-auth-ac
chsh fingerprint-auth newrole password-auth run_init smartcard-auth smtp.postfix su su-l
config-util fingerprint-auth-ac other password-auth-ac runuser smartcard-auth-ac sshd sudo system-auth
认证插件
ls /lib64/security/
55.2.1. pam_tally2.so
此模块的功能是,登陆错误输入密码3次,5分钟后自动解禁,在未解禁期间输入正确密码也无法登陆。
在配置文件 /etc/pam.d/sshd 顶端加入
auth required pam_tally2.so deny=3 onerr=fail unlock_time=300
查看失败次数
# pam_tally2
Login Failures Latest failure From
root 14 07/12/13 15:44:37 192.168.6.2
neo 8 07/12/13 15:45:36 192.168.6.2
重置计数器
# pam_tally2 -r -u root
Login Failures Latest failure From
root 14 07/12/13 15:44:37 192.168.6.2# pam_tally2 -r -u neo
Login Failures Latest failure From
neo 8 07/12/13 15:45:36 192.168.6.2
pam_tally2 计数器日志保存在 /var/log/tallylog 注意,这是二进制格式的文件
例 55.1. /etc/pam.d/sshd - pam_tally2.so
# cat /etc/pam.d/sshd
#%PAM-1.0
auth required pam_tally2.so deny=3 onerr=fail unlock_time=300auth required pam_sepermit.so
auth include password-auth
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth
以上配置root用户不受限制, 如果需要限制root用户,参考下面
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=1800
55.2.2. pam_listfile.so
用户登陆限制
将下面一行添加到 /etc/pam.d/sshd 中,这里采用白名单方式,你也可以采用黑名单方式
auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
将允许登陆的用户添加到 /etc/ssh/whitelist,除此之外的用户将不能通过ssh登陆到你的系统
# cat /etc/ssh/whitelist
neo
www
例 55.2. /etc/pam.d/sshd - pam_listfile.so
# cat /etc/pam.d/sshd
#%PAM-1.0
auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail
auth required pam_tally2.so deny=3 onerr=fail unlock_time=300auth required pam_sepermit.so
auth include password-auth
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth
sense=allow 白名单方式, sense=deny 黑名单方式
auth required pam_listfile.so item=user sense=deny file=/etc/ssh/blacklist onerr=fail
文章出处: http://netkiller.github.com/
转载于:https://my.oschina.net/neochen/blog/144297
Linux PAM 插件认证相关推荐
- linux修改su的PAM配置文件,linux pam安全认证模块su命令的安全隐患
PAM安全认证 1.su命令的安全隐患 默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root)的登录密码,带来安全风险.为了增强sum命令的使用控制,可以借助PAM认证模块, ...
- Linux系统的PAM模块认证文件含义说明总结
在Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等.在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM( ...
- linux pam 使用例子,PAM认证模块使用实例
PAM认证模块使用实例 概述:本文给出几个通过自定义配置PAM提高网络服务安全性的例子,希望对试图进一步了解PAM的朋友起到抛砖引玉的作用. 源贴:http://blog.163.com/zhzh_l ...
- 深入 Linux PAM 体系结构
深入 Linux PAM 体系结构<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...
- LINUX PAM验证机制
一.PAM简介 Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式. 换句话说,不用(重新编写和)重新编译一个包含PAM功能的应用程序,就可以改变它 ...
- linux pam 解锁_linux中pam模块
一.pam简介 Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式. 换句话说,不用(重新编写)重新编译一个包含PAM功能的应用程序,就可以改变它使 ...
- Linux PAM 验证
一.什么是PAM验证 二.PAM层次结构 三.PAM工作原理 四.PAM配置 4.1 PAM配置文件格式 4.2 PAM的模块类型 4.3 PAM的控制标记 4.4 模块路径及模块参数 五.PAM应用 ...
- linux pam 版本号,Linux中pam板块详解
pam简介 Linux-PAM(linux可插入认证板块)是一套共享库,使本地系统管理员可以随便选择程序的认证方式.换句话说,不使用重新编译一个包含PAM功能的应使用程序,即可以改变它用的认证机制.这 ...
- Linux用户安全及Linux PAM验证机制
一.Linux身份验证 1.用户与系统管理员 >用户分为系统管理员与普通管理用户两大类. >每个用户在系统中都有唯一的用户名,是用户使用系统的凭证. ...
最新文章
- 苹果为何加强云计算布局 汤换药也换?
- PHPRunner(网页制作工具)v10.3中文版
- (转)mssql2005生成表字典
- [sol]250OJ 1~10
- 永磁同步电机矢量控制中的双闭环是什么意思_三菱伺服控制器与变频器区别,三菱伺服控制器优势在哪?...
- Xcode 联编系统
- Java学习笔记day01
- opencv的Mat与Eigen的Matrix相互转换
- ibm服务器装群晖系统,【科技实验室】如何给工控机电子盘刷上黑群晖系统和群晖引导?如何超简单搭建NAS 超详细保姆级教程...
- 区块链游戏的2018:曙光微现,路尚遥远
- 学ASP.NET入门编程,合适么?
- 坚果pro2刷MIUI10
- Unimodal Array
- MySQL练习题(4)
- 含泪整理最优质时间轴网页特效素材,你想要的这里都有
- 如何正确的知晓生僻字发音?无需字典查询,2步手机设置轻松搞定
- 安卓开发-最简单快速的仿微信聊天实现-附赠微信原生表情,QQ原生表情
- Win10系统安装office2019和Visio2019
- [分享]使用iphone让你的电脑PC或MAC上网- 苹果官网说法
- 稳定匹配 5分钟看懂GS算法 附有常考常见例题及解析
热门文章
- 表单字段三维数组名_【技术汇】回转式空气预热器温度场三维数值模拟
- java操作数据库挂死_如何在Java程序中处理数据库超时与死?
- ajax的url可以用变量吗6,如何使用变量设置 Ajax Url
- icf表格_ICF企业教练实践大奖案例——建立改变和拯救生命的教练文化
- python提取文件指定列_如何从csv文件中提取特定列并使用python绘图
- 日志框架 android,深度剖析Android JDK 日志框架
- JVM插码之六:jacoco插码及问题“$jacocodata 属性 Method not found: is$jacocoData”
- 分析绕过一款适合练手的云WAF
- windows下利用_popen,_wopen创建管道进行系统命令输出数据
- 用eclips连hadoop报Unknown protocol to job tracker: org.apache.hadoop.hdfs.protocol.ClientProtoco