用PAM认证加Linux服务器安全.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用PAM认证加Linux服务器安全

用PAM认证加强Linux服务器的安全 PAM(Pluggable Authentication Modules)即可插拔式认证模块,它是一种高效而且灵活便利的用户级别的认证方式,它也是当前Linux服务器普遍使用的认证方式。当然,在不同版本的Linux统中部署PAM认证是有所不同的,本文将以RHEL4版本为例进行解析。   1.部署PAM认证的必要性   我们知道一台Linux服务器会开许多不同的服务,这些服务中很多服务本身并没有认证功能,只是把认证交给用户名及密码。如果这样的话,那么所有服务都用Linux系统的用户名及密码来认证,对于服务器来说是很危险的。比如一台服务器开着FTP、SMTP、SSH等服务,那么新建一个用户默认就享有对以上的服务的操作权限,那么如果一个用户的帐号密码泄露会涉及到多个服务。因此,不管是PC还是服务器在类Linux系统中部署PAM认证是非常必要的。通过新型的认证模块——PAM就能解决认证方面的不足,加强Linux系统安全。   2.PAM认证的方式   PAM认证一般遵循这样的顺序:Service(服务)→PAM(配置文件)→pam_*.so。PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证。通常情况下,在Linux系统安装完成后会在/etc/pam.d路径下为我们提供了一些默认的配置文件。另外,大家要知道/lib/security目录是认证文件的默认存放位置。/etc/pam.d路径下的默认配置文件是我们进行PAM配置的模板,通常情况下我们根据安全需要对于进行修改或者添加相应的项即可。   3.PAM认证的构成   客观地说PAM认证还是比较复杂的,简单地讲它包括四种常见认证类型(module type):即auth认证管理、account用户管理、password密码认证管理、session会话管理。以/etc/pam.d/login为例,我们可以看到它的配置文件,区域1中的auth、account、password、session等都是认证类型。区域2中的required、 requisite 、sufficient 、optional是认证的流程控制。最后面的区域3就是认证的PAM文件了。   4.PAM认证的流程   为了便于大家深入了解PAM认证的流程,我们以验证用户登录的PAM-login为例进行说明。PAM认证流程是从行首验证到行尾,逐条认证。比如用户登录服务器,共有十条auth类型认证,假设第一条认证失败,一般情况后九条也必须要认证。为什么就一般情况呢?其实还有非一般情况。那么这个用户动作成功与否是要看auth认证后面的区域2是怎么处理的。在图2中看到处理字段有required和optional,其中required代表认证必须通过,也就是说,无论成功多少条语句,只要失败一条,那么认证就失败。在图2中看到的区域3就是认证的模块了,第二行中的“pam_securetty.so”就是这个文件。在RHEL中,认证多是用相对路径。   5.PAM认证测试   pam_securetty.so是一个认证模块文件,该认证模块只对root用户有效,当root登录系统时,会查看有没有安全终端,安全终端就是/etc/securetty文件里的东西,比如你运行“W”命令看到TTY下面的东西就是安全终端。如果有安全终端就通过认证,否则失败。有些管理员为了安全,不让root用户直接登录,他会把/etc/securetty文件清代空,这就保证了在有root密码时,也不能够在本地登录。   为了以下的实验方便,能看出效果来,我们把“auth required pam_securetty.so”这条认证加入SSH服务的PAM模块谁文件里(/etc/pam.d/sshd)的第一行,目的就是让SSH服务应用这条认证。大家可在控制台窗口中执行“vi etc/pam.d/sshd”然后添加这条认证语句。同样的道理,如果把这条语句加到login文件(默认这条认证是被注销掉的,我们取消前面的#就可以了),控制的是从本地控制台登录,同样的话如果把这条语句加入到sshd文件内,那么它将控制的是从远程登录服务器22端口的过程。   下面我们试着SSH登录系统看看效果,在控制台中执行命令“ssh -l root localhost”,可以看到无论我们的root用户的密码正确与否都无法通过SSH远程登录到系统,可见上面的认证已经生效。在一般情况下,为了服务器的安全,大家通过PAM认证拒绝root远程登录系统。   6.PAM认证的处理方式 了解了认证类型的工作方式,我们

文档评论(0)

gm8099 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档