linux pam安全认证模块su命令的安全隐患

摘要: linux pam安全认证模块su命令的安全隐患,pam安全认证,linux运维,好用的linux运维指南,您值得拥有

  PAM安全认证

        1565395260529584.jpg

  1、su命令的安全隐患

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

  2、可插拔认证模块PAM(pluggable Authentication Modules)

  (1)PAM简介

  PAM是一种高效而且灵活便利的用户级别的认证方式,它也是当前Linux服务器普遍使用的认证方式。

  PAM提供了对所有服务进行认证的中央机制,适用于login,远程登录(telent,rlogin,fsh,ftp),su等应用程序。系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。

  (2)PAM认证管理

  pam认证一般遵循的顺序:Service(服务)——PAM——prm_*.so

  PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(32位系统位于/lib/security下,64位系统位于/lib64/security下)进行安全认证。

  用户访问服务器的时候,服务器的某一个服务进程把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同。

  如果想查某个程序是否支持PAM认证,可以用ls命令进行查看,如查看su是否支持PAM模块认证:ls /etc/pam.d|grep su
 

常见的四种认证类型

 

 认证类型

 意义

 作用

 auth

 认证管理

 接受用户和密码,进而对该用户的密码进行认证

 account

 账户管理

 检查账户是否被允许登录系统,账号是否已过期,账号的登录是否有时间段的限制等权限

 password

 密码管理

 主要是用来修改用户的密码

 session

 会话管理

 主要是提供对会话管理记账

 

使用PAM认证模块,限制某个命令或是服务的使用权限

  vi编辑该命令在/etc/pam.d/下对应的配置文件,启用pam_wheel模块

  添加授权用户到wheel组

  示例:

  设置允许用户amder和user1使用su命令进行切换

  [root@localhost ]# vi /etc/pam.d/su

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth           required        pam_wheel.so use_uid   #把最前面井号取消
auth            substack        system-auth
auth            include         postlogin
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         include         postlogin
session         optional        pam_xauth.so

 

       把两个用户添加到组里

  [root@localhost ~]# gpasswd -M amder,user1 wheel

  把组添加到配置文件里

  [root@localhost ~]# grep wheel /etc/group

  wheel:x:10:amder,user1

  是一个组的有权su切换用户,没有权限拒绝su切换

  [amder@localhost ~]$ su user1

  密码:

  [user1@localhost amder]$ 

  [xiao1@localhost amder]$ su amder        #xiao1无法使用su命令

  密码:

  su: 密码不正确

本文由 帝一博客 原创发布。用户在本站发布的原创内容(包括但不仅限于回答、文章和评论),著作权均归用户本人所有。独家文章转载,请联系邮箱:17762131@qq.com。获得授权后,须注明本文地址: https://bubukou.com/linuxyunwei/1259.html

网友留言评论

0条评论