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 插件认证相关推荐

  1. linux修改su的PAM配置文件,linux pam安全认证模块su命令的安全隐患

    PAM安全认证 1.su命令的安全隐患 默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root)的登录密码,带来安全风险.为了增强sum命令的使用控制,可以借助PAM认证模块, ...

  2. Linux系统的PAM模块认证文件含义说明总结

    在Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等.在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM( ...

  3. linux pam 使用例子,PAM认证模块使用实例

    PAM认证模块使用实例 概述:本文给出几个通过自定义配置PAM提高网络服务安全性的例子,希望对试图进一步了解PAM的朋友起到抛砖引玉的作用. 源贴:http://blog.163.com/zhzh_l ...

  4. 深入 Linux PAM 体系结构

    深入 Linux PAM 体系结构<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...

  5. LINUX PAM验证机制

    一.PAM简介 Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式. 换句话说,不用(重新编写和)重新编译一个包含PAM功能的应用程序,就可以改变它 ...

  6. linux pam 解锁_linux中pam模块

    一.pam简介 Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式. 换句话说,不用(重新编写)重新编译一个包含PAM功能的应用程序,就可以改变它使 ...

  7. Linux PAM 验证

    一.什么是PAM验证 二.PAM层次结构 三.PAM工作原理 四.PAM配置 4.1 PAM配置文件格式 4.2 PAM的模块类型 4.3 PAM的控制标记 4.4 模块路径及模块参数 五.PAM应用 ...

  8. linux pam 版本号,Linux中pam板块详解

    pam简介 Linux-PAM(linux可插入认证板块)是一套共享库,使本地系统管理员可以随便选择程序的认证方式.换句话说,不使用重新编译一个包含PAM功能的应使用程序,即可以改变它用的认证机制.这 ...

  9. Linux用户安全及Linux PAM验证机制

    一.Linux身份验证 1.用户与系统管理员     >用户分为系统管理员与普通管理用户两大类.            >每个用户在系统中都有唯一的用户名,是用户使用系统的凭证.      ...

最新文章

  1. 苹果为何加强云计算布局 汤换药也换?
  2. PHPRunner(网页制作工具)v10.3中文版
  3. (转)mssql2005生成表字典
  4. [sol]250OJ 1~10
  5. 永磁同步电机矢量控制中的双闭环是什么意思_三菱伺服控制器与变频器区别,三菱伺服控制器优势在哪?...
  6. Xcode 联编系统
  7. Java学习笔记day01
  8. opencv的Mat与Eigen的Matrix相互转换
  9. ibm服务器装群晖系统,【科技实验室】如何给工控机电子盘刷上黑群晖系统和群晖引导?如何超简单搭建NAS 超详细保姆级教程...
  10. 区块链游戏的2018:曙光微现,路尚遥远
  11. 学ASP.NET入门编程,合适么?
  12. 坚果pro2刷MIUI10
  13. Unimodal Array
  14. MySQL练习题(4)
  15. 含泪整理最优质时间轴网页特效素材,你想要的这里都有
  16. 如何正确的知晓生僻字发音?无需字典查询,2步手机设置轻松搞定
  17. 安卓开发-最简单快速的仿微信聊天实现-附赠微信原生表情,QQ原生表情
  18. Win10系统安装office2019和Visio2019
  19. [分享]使用iphone让你的电脑PC或MAC上网- 苹果官网说法
  20. 稳定匹配 5分钟看懂GS算法 附有常考常见例题及解析

热门文章

  1. 表单字段三维数组名_【技术汇】回转式空气预热器温度场三维数值模拟
  2. java操作数据库挂死_如何在Java程序中处理数据库超时与死?
  3. ajax的url可以用变量吗6,如何使用变量设置 Ajax Url
  4. icf表格_ICF企业教练实践大奖案例——建立改变和拯救生命的教练文化
  5. python提取文件指定列_如何从csv文件中提取特定列并使用python绘图
  6. 日志框架 android,深度剖析Android JDK 日志框架
  7. JVM插码之六:jacoco插码及问题“$jacocodata 属性 Method not found: is$jacocoData”
  8. 分析绕过一款适合练手的云WAF
  9. windows下利用_popen,_wopen创建管道进行系统命令输出数据
  10. 用eclips连hadoop报Unknown protocol to job tracker: org.apache.hadoop.hdfs.protocol.ClientProtoco