Linux访问控制机制Linux安全模型用户身份验证加固Linux系统课件

上传人:我*** 文档编号:147851063 上传时间:2020-10-14 格式:PPT 页数:25 大小:962.50KB
返回 下载 相关 举报
Linux访问控制机制Linux安全模型用户身份验证加固Linux系统课件_第1页
第1页 / 共25页
Linux访问控制机制Linux安全模型用户身份验证加固Linux系统课件_第2页
第2页 / 共25页
Linux访问控制机制Linux安全模型用户身份验证加固Linux系统课件_第3页
第3页 / 共25页
Linux访问控制机制Linux安全模型用户身份验证加固Linux系统课件_第4页
第4页 / 共25页
Linux访问控制机制Linux安全模型用户身份验证加固Linux系统课件_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《Linux访问控制机制Linux安全模型用户身份验证加固Linux系统课件》由会员分享,可在线阅读,更多相关《Linux访问控制机制Linux安全模型用户身份验证加固Linux系统课件(25页珍藏版)》请在金锄头文库上搜索。

1、网络操作系统 Linux配置与管理,第12章 Linux安全管理,Linux访问控制机制 Linux安全模型 用户身份验证 加固Linux系统 SELinux强制访问控制,学 习 要 点,12.1 Linux安全概述,访问控制机制 自主访问控制(Discretionary Access Control,DAC) 基于请求者的身份和访问规则来控制访问。 每一个对象都会记录一个所有者(拥有者)的信息,只要是对象的所有者,就可以获得完整控制该对象的能力。 DAC允许对象所有者完整访问该对象,但其他人需要访问该对象时,就必须授予适当的权限。但是每一个对象都仅有一组所有者信息,如果需要更复杂的访问控制的

2、能力就需要访问控制列表(Access Control List,ACL)来为不同的用户设置不同的权限。 DAC与ACL都只是针对使用者与对象的关系进行访问控制,无法满足对安全性的复杂性要求。 强制访问控制(Mandatory Access Control,MAC) 通过比较具有安全许可的安全标记来控制访问。 MAC机制不允许对象的所有者随意修改或授予该对象相应的权限,而是通过强制方式为每个对象统一授予权限。用户或进程除了需要具备传统的权限外,还必须获得系统的MAC授权,方能访问指定的对象,这样管理者就可以获得更多的访问控制能力,从而进行更精密细致的访问控制配置,MAC的安全性比授予用户完全控制

3、能力的DAC高得多。 在配置与维护方面MAC要比DAC复杂得多,这也是提高安全性所要付出的代价。 MAC的实现机制主要包括RBAC和MLS。RBAC全称Role-based Access Control,可以译为基于角色的访问控制,其实现机制是以用户所属的角色进行访问权限判断。MLS全称Mufti-Level Security,可以译为多层安全,其实现机制是以数据内容的敏感性或机密性定义若干不同的等级,以对象的机密等级来决定进程对该对象的访问能力。,12.1 Linux安全概述,Linux安全模型 传统的Linux安全模型 Linux基于所有者、所属组和其他用户的身份进行文件权限控制。文件(还

4、包括设备、目录等)是被访问的对象,用户或进程等是要访问对象的主体。 每个对象都有3个权限集,分别定义所有者权限、所属组权限和其他用户权限,这些权限由系统内核负责实现。用户根据对象的权限访问和操作这些对象。 一个进程或程序运行时实际上会表现为一个复制到可执行内存区域的文件,所以权限要对进程产生两次影响。 对象的任何所有者都可以设置或者改变对象的权限,超级用户root既对系统中的所有对象拥有所有权,又能够改变系统中所有对象的权限。 具有root权限的用户或者进程可以在Linux系统中任意行事,也就是root决定一切。 基于MAC的Linux安全模型 在一个基于MAC的系统上,超级用户仅用于维护全局

5、安全策略。日常的系统管理员则使用无权改变全局安全策略的账户。 基于MAC模型的操作系统在配置和维护上比DAC复杂得多。要创建一个有效的全局安全策略,需要知道系统上每个应用的预期行为的细节。目前Linux的MAC解决方案SELinux(Security-Enhanced Linux)与AppArmor都简化了MAC复杂性,部分实现MAC。 SELinux是NSA(美国国家安全局)对Linux强制访问控制的有效实现。为便于实现,SELinux仅用于限制关键的网络守护进程,而其他都需要Linux DAC进行保护。 AppArmor是Novell对SuSE Linux的MAC实现,具有强大的安全控制能

6、力而且配置维护比SELinux容易。 在多用户环境下运行Linux,或者对Linux较高安全性要求,首选具有全面访问控制能力的SELinux。,12.1 Linux安全概述,Linux安全威胁 缓冲区溢出 缓冲区溢出(buffer overflow)是指利用程序的漏洞,用某些恶意代码覆盖程序代码,从而攻击系统。 缓冲区溢出是所有安全问题中最重要也最危险的,几乎所有“致命的”安全漏洞都与它相关。 设置root权限的程序 设置root权限的程序是被设置了setuid位的程序,任何人都可以以root权限运行,而不是实际执行它的进程或用户的权限。 如果一个设置root权限的程序能以某种方式被发现或滥用

7、,其他非特权用户就能顺利地利用该程序掌握root权限,非法地打开一个root终端。 Web应用漏洞 安装带有已知漏洞的Web应用程序,或者编写容易暴露缺陷的自定义Web应用程序,成为目前Web应用漏洞的主要来源。 rootkit攻击 rootkit是攻击者用来隐藏自己的踪迹和保留root访问权限的工具,而不是用于获得系统root访问权限的工具。通过rootkit的嗅探器获得其他系统的用户和密码之后,攻击者再利用这些信息侵入其他系统。 拒绝服务攻击(DoS) 任何阻止正常使用系统和网络资源的行为都认为是一种拒绝服务行为。管理员可以降低拒绝服务攻击的影响,但是无法完全阻止拒绝服务攻击的发生。 网络

8、窃听,12.2 用户身份验证,Linux系统用户身份验证 Linux系统默认使用本地用户账户(保存在etc/password文件中)进行身份验证,每台主机都有自己的用户名和密码信息库, 对于企业级部署来说,Linux系统可以设置使用网络用户身份验证,即通过网络从服务器上获取用户身份验证信息。Red Hat Enterprise Linux支持以下4种网络用户身份验证: NIS:将系统配置成NIS客户端,通过NIS服务器获得用户信息。 LDAP:将系统配置成LDAP客户端,通过LDAP服务器获得用户信息。 Hesiod:从远程 Hesiod 数据库中检索用户信息。 Winbind:系统连接到Wi

9、ndows Active Directory或者Windows域控制器。 用户登录后系统先去检查本地的用户账户及密码,如果验证成功就可以登录本地,这称为本地用户;如果本地验证未成功,系统将连接远程服务器(如LDAP,前提是系统上必须启用这种方式)验证用户名密码,如果验证成功,这称为网络用户。如果两种方式都未通过验证,必须重新输入用户名及密码以重新登录。,12.2 用户身份验证,password/shadow身份验证体系 最基本的身份验证系统由密码验证构成。Linux的密码不是明文进行比较,而是采用以下方式。 (1)系统记录用户的原始密码,并将其加密保存在系统中,然后丢弃原始密码。 (2)用户登

10、录系统时输入密码,系统用同样的加密算法将用户输入的密码转换成密文。 (3)比较保存的密码密文和现在得到的密文,如果相同,允许用户登录系统。 密码加密可以使用一般的对称密钥算法,但Linux普遍使用类似MD5一类的Hash方法。这类算法是不对称的,也就是从密文是不可能知道原文的。如果获得加密结果,仍然可以用穷举的方法来获得密码,尤其对于短密码。 Linux所有用户都要读取用户配置文件/etc/passwd,而密码密文又不适合保存在该文件中。为解决这个问题,Linux系统采用所谓“Shadow”方法,即把密码验证文件分成两个,分别是/etc/passwd和/etc/shadow。/etc/pass

11、wd文件包含了公共的信息,也就是一般用户可以访问的内容;而/etc/shadow文件包含了加密的密文,其内容只有超级用户可以访问。 这个方法尽管简单有效,但是却给某些程序的身份验证带来了不必要的麻烦。,12.2 用户身份验证,配置Linux系统使用LDAP认证 概述 Red Hat Enterprise Linux内置OpenLDAP软件,可以按照客户/服务器模型实现LDAP目录服务。 目前绝大部分的服务软件都支持使用LDAP用户身份验证,也可用于Linux系统用户验证。 通过LDAP的目录复制功能,还可以让用户使用一个账户登录网络中使用LDAP服务的所有服务器。 LDAP用来保存用户身份验证

12、条目的对象类主要有posixGroup、posixAccount和shadowAccount,分别用来保存组、用户、密码等信息,这些信息很容易与系统的组和用户账户关联起来。 LDAP服务器存储相应的用户身份验证条目,即可用于系统用户身份验证。,12.2 用户身份验证,配置Linux系统使用LDAP认证 配置LDAP服务器 (1)在LDAP服务器上安装相应的openldap-servers软件包。 (2)进行适当配置,编辑/etc/openldap/slapd.conf文件,使其与组织机构规格相适应。 通常只需要修改几处即可,主要是定义suffix指令以修改目录树后缀(例如suffix dc=a

13、bc,dc=com),定义rootdn指令以设置管理员名称(例如rootdn cn=Manager,dc=abc,dc=com),定义rootpw指令以设置管理员密码,确认数据库目录定义是否正确(例中directory /var/lib/ldap)等。 (3)执行service ldap start命令启用LDAP服务。 (4)添加用户账户条目。 实际应用中一般采用批量转换的方式来提供账户数据,使用PADL Software Pty Ltd.公司的 MigrationTools迁移工具可从现有名称服务(文件、NIS和网络信息)中将用户、组群、别名、主机、网络组、网络、协议和服务等信息导入到LD

14、AP。 也可手工添加用户条目。使用phpLDAPadmin添加用户。,12.2 用户身份验证,配置Linux系统使用LDAP认证 配置LDAP客户端 LDAP系统的用户身份验证涉及两个服务:名称切换服务(NSS)和身份验证服务。NSS用于通过LDAP解析用户和组群账户。身份验证服务向LDAP验证用户身份,通过PAM(插入式认证模块)提供本地Linux身份验证服务。 系统用户身份验证的LDAP客户端的具体配置,12.3 加固Linux系统,安装必要的软件和初始化安全设置 Linux系统安全始于操作系统安装阶段,安装Linux时最好先进行最小化安装,然后再安装必要的软件,最大程度上减少某些程序出现

15、安全隐患的可能。 谨慎选择要在Linux系统上安装的软件。Linux系统要充当的角色不同,所必需的软件也不尽相同,不应安装的程序也不一样。 对于面向Internet的服务器,以下软件往往都是不必要的,容易引起安全问题。 X Window System:图形界面对服务器来说没有必要,而且X的安全漏洞也比较多。 RPC Services:远程过程调用大大方便了开发人员者,但是它很难被防火墙跟踪,而且过分依赖于容易被欺骗的UDP协议。 SMTP守护进程:不需要转发邮件的系统都不需要。如果一个系统仅仅需要发送邮件, sendmail可以在需要时作为命令调用,而不应该作为守护进程运行。 Telnet和其

16、他明文登录服务:通过网络传输未加密的登录信息会被窃听,不适合通过不可信网络远程访问系统,而SSH是一个更好的选择。 操作系统安装之后,初始化设置要考虑安全问题,包括设置强加密的root密码,启用一个简单的基于主机的防火墙策略,启用SELinux。,12.3 加固Linux系统,补丁管理 访问控制机制 操作系统永远都有未打补丁的漏洞,也就是说在厂商发布补丁之前能被攻击者发现的漏洞永远存在。 虽然不可能彻底消除安全漏洞,但是作为Linux管理员,必须保持安全补丁包的更新,定期对系统进行安全检查,发现漏洞立即采取措施,不给攻击者以可乘之机。 现在的Linux版本通常包括能自动下载和安装安全更新的工具,这些安全更新能够缩短系统遭受威胁的时间。 由于安全补丁可能导致系统不稳定,因此在关键的生产系统上不要运行自动更新,必须在测试系统上完成所有补丁测试后,才能将它们移植到生产系统中。,12.3 加固Linux系统,强化密码管理 设置安全有效的密码 由于攻击者可以使用自动化的工具软件多次尝试登录系统,简单的密码很容易就会被猜出来。一个有效的密码应该具备

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号