跳过导航链接 | |
退出打印视图 | |
系统管理指南:安全性服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
使用可插拔验证模块 (Pluggable Authentication Module, PAM) 框架,可以“插入”新的验证服务,而无需更改系统登录服务(如 login、ftp 和 telnet)。还可以使用 PAM 将 UNIX 登录与其他安全机制(如 Kerberos)进行集成。也可以使用此框架来“插入”帐户、凭证、会话以及口令管理的机制。
使用 PAM 框架,可以为用户验证配置系统登录服务(如 ftp、login、telnet 或 rsh)。PAM 提供的一些益处如下所示:
灵活的配置策略
基于每个应用程序的验证策略
可以选择缺省验证机制
能够在高安全性系统中要求提供多个口令
易于最终用户使用
如果不同的验证服务使用相同口令,无需重新键入口令
可以提示用户为多个验证服务输入口令,而不要求用户键入多个命令
可以将可选选项传递到用户验证服务
可以实现特定于站点的安全策略,而无需更改系统登录服务
PAM 使用者
PAM 库
pam.conf(4) 配置文件
PAM 服务模块,也称为提供者
该框架为与验证相关的活动提供了统一的执行方式。采用该方式,应用程序开发者不必了解策略的语义即可使用 PAM 服务。算法是集中提供的。可以独立于单个应用程序修改算法。借助 PAM,管理员可以根据特定系统的需要调整验证过程,而不必更改任何应用程序。这种调整是通过 PAM 配置文件 pam.conf 进行的。
下图说明了 PAM 体系结构。应用程序通过 PAM 应用编程接口 (application programming interface, API) 与 PAM 库进行通信。PAM 模块通过 PAM 服务提供者接口 (service provider interface, SPI) 与 PAM 库进行通信。因此,通过 PAM 库,应用程序与模块之间可以相互通信。
图 17-1 PAM 体系结构
Solaris 10 发行版中对可插拔验证模块 (Pluggable Authentication Module, PAM) 框架进行了以下更改:
现在,pam_authtok_check 模块允许使用 /etc/default/passwd 文件中的新可调参数进行严格的口令检查。这些新参数定义以下各项:
用逗号分隔的字典文件列表,这些字典文件用于检查口令中的常用字典字
新口令与旧口令之间所需的最小差别
新口令中必须用到的字母字符或非字母字符的最少个数
新口令中必须用到的大写字母或小写字母的最少个数
允许的连续重复字符的个数
pam_unix_auth 模块可针对本地用户实现帐户锁定。帐户锁定通过 /etc/security/policy.conf 中的 LOCK_AFTER_RETRIES 参数和 /etc/user_attr 中的 lock_after-retries 密钥启用。有关更多信息,请参见 policy.conf(4) 和 user_attr(4) 手册页。
定义了一个新的 binding 控制标志。此控制标志在 pam.conf(4) 手册页和PAM 堆栈工作原理中进行了介绍。
pam_unix 模块已被删除,并由一组功能相同或功能更强的服务模块所取代。Solaris 9 发行版中引入了其中的许多模块。替换模块列表如下:
pam_authtok_check
pam_authtok_get
pam_authtok_store
pam_dhkeys
pam_passwd_auth
pam_unix_account
pam_unix_auth
pam_unix_cred
pam_unix_session
pam_unix_auth 模块的功能已被分解为两个模块。现在,pam_unix_auth 模块可以检验用户的口令是否正确。新的 pam_unix_cred 模块可提供建立用户凭证信息的功能。
对 pam_krb5 模块进行了扩充,目的是使用 PAM 框架来管理 Kerberos 凭证高速缓存。
添加了新的 pam_deny 模块。此模块可用于拒绝对服务的访问。缺省情况下,不使用 pam_deny 模块。有关更多信息,请参见 pam_deny(5) 手册页。