Linux系统 用户认证与授权管理 什么是用户认证/权限 PAM认证机制 Kerberos认证协议 LDAP目录访问协议 主要内容 出于系统安全考虑,Linux提供的安全机制主要有: 身份标识与鉴别、文件访问控制、特权管理、安全 审计、IPC资源的访问控制等。 直观上 认证是个过程,确定用户身份的过程,平常系统中 的登录就是认证的过程。 权限是个概念,用来表示用户和系统资源之间的关 系,可以描述为用户对资源的权限,用户经授权后 ,获得资源的访问权限。 怎样理解:认证怎样理解:认证/ /权限权限 用户 身份认证 一般信息资源 重要信息资源 访问控制 访问监视器 授权 信息系统中信息系统中的的 身份认证和授权管理身份认证和授权管理 第一第二第三 获得用户 名。读取 /etc/passwd ,与 /etc/shadow 文件。 比较两个密 文,检测该 用户的登录 shell 是否 为 /etc/nologin 显示 password: , 获得密 码。 成功 : 启动用户shell 不成功:返回至登录界面 启动 并进 入到 登录 界面 Linux操作系统用户认证 ——LOGIN程序流程 PAM认证模块 Kerberos认证协议 LDAP目录访问协议 上述三种的任意组合 其它认证系统,如: PKI(Public Key Infrastructure)主要用于电子商务 Apache采用的mod—auth—xxxx模块 Linux系统下其它应用程序 PAM(Pluggable Authentication Modules)是 由Sun提出的一种认证机制。 它通过提供一些动态链接库和一套统一的API,将 系统提供的服务和该服务的认证方式分开,使得系 统管理员可以灵活地根据需要给不同的服务配置不 同的认证方式而无需更改服务程序,同时也便于向 系统中添加新的认证手段。 最初是集成在Solaris中,目前已移植到其它系统中 ,如Linux、SunOS等。 嵌入式(可插拔)认证模块PAM 应用程序开发者通过在服务程序中使用PAM API( Application Programming Interface应用编程接 口)而实现对认证方法的调用; 系统管理员通过PAM配置文件来制定认证策略,即 指定什么服务该采用什么样的认证方法; PAM服务模块(service module)的开发者则利 用服务模块API来编写认证模块(主要是引出一些 函数供libpam调用),将不同的认证机制(比如传 统的UNIX认证方法、Kerberos等)加入到系统中 ;PAM核心库(libpam)则读取配置文件,以此 为根据将服务程序和相应的认证方法联系起来。 PAM应用方式 PAM基本特点 模块化设计 插件功能 实现上采用了分 层的体系结构: 将各种具体的认 证模块从应用程 序中独立出来, 使得认证机制与 应用程序之间相 对独立。 PAM工作流程 什么是用户认证/权限 PAM认证机制 Kerberos认证协议 LDAP目录访问协议 主要内容 Kerberos是为TCP/IP网络系统设计的可信的第三 方认证协议。网络上的Kerberos服务基于DES( Data Encryption Standard数据加密标准 )对称 加密算法,但也可以用其他算法替代。 目前应用最广泛的、基于可信任第三方的网络身份 认证协议。 应用举例: 1.Windows2000和后续的操作系统都默认Kerberos为其默认认证方法。 2.苹果的Mac OS X使用了Kerberos的客户和服务器版本。 3.Red Hat Enterprise Linux4 和后续的操作系统使用了Kerberos的客户 和服务器版本。 Kerberos认证协议 请求许可票据 返回许可票据 请求服务 器票据 返回服务器票据 请求服务 Keberos的工作步骤 单点响应:它需要中心服务器的持续响应。 当Kerberos服务结束前,没有人可以连接到服务器。这个缺陷可以通过 使用复合Kerberos服务器和缺陷认证机制弥补。 Kerberos要求参与通信的主机的时钟同步。 票据具有一定有效期,因此,如果主机的时钟与Kerberos服务器的时钟 不同步,认证会失败。默认设置要求时钟的时间相差不超过10分钟。在 实践中,通常用网络时间协议后台程序来保持主机时钟同步。 管理协议并没有标准化。 在服务器实现工具中有一些差别。 一个危险客户机将危及用户密码。 因为所有用户使用的密钥都存储于中心服务器中,危及服务器的安全的 行为将危及所有用户的密钥。 Kerberos缺陷 什么是用户认证/权限 PAM认证机制 Kerberos认证协议 LDAP目录访问协议 主要内容 Lightweight Directory Access Protocol 最大的优势是:跨平台——可以在任何计算机平台上, 用很容易获得的而且数目不断增加的LDAP的客户端程 序访问LDAP目录 免费 大多数LDAP安装简单,也容易维护和优化 数据存储特点:偏于读操作、不经常修改,有别于关系 型数据库 作为目前广泛应用的目录访问协议,可以实现授权管 理、网络用户管理、电子政务目录体系等服务。 其基于访问控制策略语句的访问控制列表ACL来实现访 问控制与应用授权 轻量级目录访问协议LDAP LDAP协议模型/工作模式 基本数据单元是条 目Entry,而每个 条目由属性构成, 属性中存储有属性 值 LDAP数据模型——目录信息树 LDAP中CN,OU,DC等的含义 CN,OU,DC都是LDAP连接服务器的端字符串中的 区别名称(DN,distinguished name) LDAP连接服务器的连接字串格式为: ldap://servername/DN 其中DN有三个属性,分别是CN,OU,DC : DC (Domain Component) OU (Organizational Unit) CN (Common Name) An LDAP 目录类似于文件系统目录. 下列目录: DC=redmond,DC=wa,DC=microsoft,DC=com 如果我们类比文件系统的话,可被看作如下文件路径: Com\Microsoft\Wa\Redmond 例如:CN=test OU=developer DC=domainname DC=com 在上面的代码中cn=test 可能代表一个用户名, ou=developer 代表一个active directory中的组织单 位。这句话的含义可能就是说明test这个对象处在 domainname. com域的developer组织单元中。 LDAP中CN,OU,DC等的含义 基于PAM机制的用户认证与应用授权系统架构 SASL(Simple Authentication and Security Layer)是一种用来扩充C/S模式验证能力的机制 与PAM、kerberos结合应用示例 THANKS!
展开阅读全文