《[精选]课件16:第66节实际操作系统的安全机制18655.pptx》由会员分享,可在线阅读,更多相关《[精选]课件16:第66节实际操作系统的安全机制18655.pptx(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课件166.6 节 实际操作系统中的安全机制Windows and Unix6.6 实际操作系统的安全机制 l本节介绍流行的操作系统WindowsNT和UNIX系统中使用的安全机制,它们综合利用前面介绍的各种访问控制技术,有的则和介绍的访问控制技术有所不同。6.6.1 Windows NT操作系统 l WindowsNT是一个网络操作系统,它有两个版本:WindowsNT的工作站版(WindowsNTWorkstation)和WindowsNT的服务器版(WindowsNTServer)。这两个版本的NT都有相同的核心支持、网络支持和安全系统。l主要讨论NT的服务器版WindowsNTServ
2、er。l WindowsNT运行于Client/Server模式,其设计客体是提供文件和打印服务;它支持远程访问服务RAS(RemoteAccessService)和Internet服务。WindowsNT中带有一个完全的WEB服务器组件Internet Information Server(IIS),所以它可以在Internet上提供WEB服务。另外,通过添加软件,WindowsNT也可以作为防火墙使用。一、NT 的安全子系统 l WindowsNTServer的操作系统由一组软件组件组成,它们运行在核心模式下。l 核心模式由执行服务组成,它们构成一个自成体系的操作系统。l 用户模式由非特权
3、的服务组成,这些服务也称为受保护子系统,它们的启动由用户决定。用户模式在核心模式之上,用户模式组件要利用核心模式提供的服务。图6-9 Windows NT体系结构 其他子系统Win32 子系统安全子系统系统服务I/O管理器图形驱动器 微内核硬件抽象层对象管理器安 全 引用 监 控器进程管理器本 地 过 程调用设施窗口管理器用户模式核心模式执行服务图6-10 NT安全子系统 登录进程安 全 策 略 数 据库审计日志本地安全权限LSA安全账号管理器SAM用户账号数据库 用户NT 登录进程进行三类登录:l 本地登录。如果用户登录到一个账号,这个账号存储在本地计算机上的用户账号数据库中,这种情况就属于
4、本地登录。l 域登录。如果用户登录到一个账号,这个账号存储在域用户账号数据库中,这种情况就属于域登录。l 可信域登录。如果用户登录到一个账号,这个账号存储在可信域的用户账号数据库中,这种情况就属于可信域登录。(1)本地安全授权LSA(Local Security Authority)l LSA是安全系统的中心组件,其功能是:l 负责管理和协调登录。l 对象访问和其他安全事件。l LSA还 协 调 安 全 账 号 管 理 器(SAM)和安全访问监控器SRM。l 它还链接到一个安全策略数据库和一个审计日志。l(2)安全账号管理器 SAM(SecurityAccountManager)。l SAM组
5、件管理用户账号数据库。当LSA需要验证用户是否有权限访问对象时,它就与SAM联系。l(3)安全访问监控器SRM(SecurityReferenceMonitor)。SRM是一个核心模式下的软件组件,它检查一个用户是否有权限访问一个对象或者是否有权利完成某些动作。二、NT 系统的安全机制 l NT具有很高的安全性,它的安全性体现在两方面,一是保障系统的健壮性,使系统不会因为应用程序的故障造成系统的崩溃;二是增强了防止非法用户入侵和限制用户的非法操作的能力。l要想访问NT系统,首先需要在NT系统中拥有一个账户,其次要为该账户设置在系统中的权利(Right)和许可(Permission)权限。l权利
6、是指用户对整个系统能够做的事情,如关掉系统、往系统中添加设备、更改系统时间等权利;l许可权限是指用户对系统资源所能做的事情,如对文件的读、写、执行、对打印机的管理文档、删除文档等许可。l NT系统中有一个安全账户数据库,其中存放用户账户以及该账户具有的权利等,用户对资源的许可权限与相应的资源存放在一起。l用户要想访问系统资源,首先向系统登录,NT有一个专用登录进程用于核对用户身份与口令。如果确认账户和口令有效,则把安全账户数据库中有关账户的信息收集在一起,形成一个 访 问 令 牌。访问令牌中包括:l 用户名与SIDl 用户所属的组及组GIDl 用户对系统所具有的权利l然后NT就启动一个用户进程
7、,将该访问令牌与之连接在一起,这个访问令牌就成为用户进程在NT系统中的通行证。用户无论做什么事情,NT中负责安全的进程都会检查其访问令牌,以确定其操作是否合法。l用户登录成功之后,只要用户没有注销自己,其在系统中的权利就以访问令牌为准,考虑到效率问题,NT安全系统在此期间不再检查硬盘上的安全账户数据库。在用户登录之后,如果系统管理员修改了他的账户与权利,但这些修改只能在下次登录时才起作用。l令牌中仅包含用户的权利,不包含访问资源的许可权限。NT是如何根据访问令牌控制用户对资源的访问控制呢?原来用户对资源具有的许可权限作为该资源的一个属性与资源存放在一起,例如,有一个目录D:FILES,对其指定
8、USER1只读,USER2完全控制,这两个许可权限作为该目录的属性和目录连接在一起 l各用户对某个资源(如文件)的许可权限在NT内部以访问控制表(ACL)的形式存放,各用户的许可权限以ACL表项(ACE)的形式表示,ACE中包含了用户名与该用户的许可权限。每个资源对应一个ACL表,l上述D:FILES的ACL表中包含两个ACE,一个记录USER1只读,另一个记录USER2完全控制。当USER1访问该目录时,NT安全系统检查用户的访问令牌并与目录的ACL对照,检查该用户的许可权限是否合法,如果不合法就被拒绝。三、NT 的安全策略 l安全策略是系统所实现的安全功能的各种选项,系统管理员可以利用安全
9、策略对计算机和网络在另一层次上进行安全管理,管理员需要针对环境仔细考虑需要何种安全性以及可能造成何种困难。对于个人账户和组账户可以使用不同的安全策略来管理,这些策略包括口令配置、文件审计和赋予执行系统任务的账号权限。NT的安全策略包括:账户策略:控制用户的设置和维护口令的方式,也提供NT账户锁定的特性。用户权限策略:控制可分配给工作站上的用户或用户组的显式权限。审计策略:控制审计日志中将要出现的事件类型。(1)账户策略 l账户策略设置口令的最小和最大时间限制、最小长度、设置口令的唯一性并配置账户的锁定特性。账户策略选项参见表6-7。选项 说明 范围最长密码期限在系统需要用户改变口令前,可以使用
10、的口令的时间限制无限制或1999天最短密码期限在用户可以改变口令前,必须使用的时间限制,如果设置了密码唯一性,则不允许立即改变密码允许立即改变或1999天最短密码长度在用户口令中最少的字符数允许空口令或114个字符密码唯一性 在使用旧口令前,必须使用的新口令数不保留历史或124个口令账户不锁定 不管登录失败多少次,账户都不锁定锁定账户时登录失败的次数引起锁定的失败登录企图的次数 1999登录失败之后重新启动统计在两次失败的登录企图之间发生锁定的最大分钟数 199999锁定时间选择“永久”,则锁定账户直到管理员解锁;选择“时间”并输入数字,则锁定账户指定的分钟数。199999用户必须登录方能更改
11、密码设置时可防止用户在到期时改变自己的口令,用户必须从管理员处得到帮助。表6.7NT系统账户策略选项(2)用户权限策略 l 用户权限策略管理向组与用户账户授予的权限。有两级用户权限可以分配:用户权限和高级用户权限,用户权限需要经常修改。管理员可以为用户指定从网络访问本计算机、装载与卸载设备驱动程序和可在本机登录。大部分高级用户是那些为WindowsNT写应用程序或设备驱动程序的开发人员,高级用户的权限包括创建一个页文件、把工作站增加到域和作为一种服务登录。(3)审计策略l审计功能可以让管理员有选择的跟踪用户与系统的活动。审计策略确定WindowsNT将执行的安全性记录的数量和类型,当被审计的事
12、件发生后,便在计算机的审计日志中增加一项。需要审计的事件参见表6-8。事件 选择 审计登录与注销成功用户成功地登录到工作站或从工作站注销,或用户从网络成功地连接到计算机时;失败 上述各操作失败时审计;文件或对象访问成功 用户成功地访问被审计的目录、文件、打印机时;失败 用户企图访问上述对象但未成功时;用户权限使用成功 用户成功的使用用户权限;失败 用户企图但未成功用户和组管理成功成功地创建、改变、或删除用户和组,或成功地设置和改变口令;失败 上述操作的失败;安全策略改变成功 成功改变用户权限与审计策略;失败 改变的企图失败;重启动、关闭和系统安全性成功 用户成功地重启动或关闭计算机,或发生影响
13、系统安全事件;失败 重启动或关闭计算机失败的企图;过程跟踪成功详细地跟踪一些事件信息,如成功的程序启动、处理复制的一些格式、间接对象访问和过程退出;失败 上述操作的失败;表6.8需要审计的事件四、NT 的资源管理 l NT系统中,如果你访问自己正在使用的计算机上的资源,这称为访问本地资源,如果访问其他计算机上的资源,则称为远程访问,而不管这台计算机地理上相距的远近。NT系统中资源是指硬盘上的文件、目录和打印机等。下面主要介绍文件与目录的管理。(1)本地资源管理l 在NT系统中支持对单独的文件、目录设置许可权限的只有NTFS文件系统,要想在WindowsNT中控制本地资源的安全,只能使用NTFS
14、。l设置许可权限时,文件与目录的许可权限之间互相影响。例如,如果一个用户连某个目录的读权限都没有,则根本无法对该目录下的文件设置许可权限。l在权限设置时应该从根目录开始设置,一级一级逐层设置。l在设置许可权限时,最好以组为单位进行管理,组内所有用户对某个文件都设置为相同许可权限。在NT系统中允许一个用户同时属于几个组,以组为单位设置权限时,可能会产生某个用户对一个文件有多种许可权限的问题。l NT 解决的方法是,将这个用户对这个文件的所有许可权限加到一起作为该用户对这个文件的许可权限。如果该用户在某个组中有“拒绝访问”的许可权限,则“拒绝访问”有优先权,并使其他所有许可权限无效,这个用户的最终
15、许可权限是“拒绝访问”。(2)管理网络共享资源 l 创建共享目录的选项有:共享名远程用户使用共享名连接到本地资源l 备注浏览共享目录时显示的评注l 用户个数设置连接到这个共享目录上的最大用户数,缺省为10l 权限设置远程访问目录上的许可l 新共享只有当前目录已被共享时才有此选项,允许已共享目录重复共享。共享目录的许可权限包括拒绝访问、读取、更改和完全控制四种。l每次WindowsNT计算机启动时,它都创建一些共享资源。Admin是一个特殊共享资源,当远程管理时它总是指向WindowsNT系统目录。每个硬盘的根目录是共享的,在相应的驱动器符号后面跟一个$符号。$符号可以使该共享名在浏览时不出现(
16、隐藏)。l只有一个用户知道了另一台机器上的管理员的账户和口令后,才能连接到那台机器的隐藏共享,并可以访问整个分区。隐藏共享由内部ACL表保护,它不能被任何用户修改,包括系统管理员在内。可以通过“不共享”命令停止隐藏共享,但下次机器启动时,隐藏共享由重新自动创建,NT不支持永久停止这种共享。6.6.2 UNIX操作系统 l每一种UNIX系统对良好、基本、单一级别的安全性都给予了必要的支持。UNIX系统内核在一个物理上的安全域中运行,这个域受到硬件的保护。安全域保护着它的内核及安全机制。l安全机制是无法旁路的,所以突破UNIX的安全机制依赖于使用合法的手段达到非法的目的。为了防御攻击,必须正确设置
17、文件和目录的属性和访问权限,用户必须懂得如何选择一个可靠的口令,以及如何避免被别人骗取特权。一、普通用户的安全管理 l 1、正确使用口令l用户在使用UNIX系统之前必须注册,没有注册名和口令就无法进入UNIX系统。当然,也有一些破解注册名与口令密码的方法,但这些方法只有在UNIX系统中的用户或系统管理员忽视了对口令的正确使用时才有效。l UNIX系统对注册过程的处理是十分谨慎的。/ETC/PASSWD文件包含有注册名以及与之对应的口令。当口令攻击者键入一个/ETC/PASSWD中没有的注册名时,LOGIN进程给出一个PASSWORD提示,目的是使攻击者无法确定:是注册名不正确还是口令不正确。如
18、果攻击者猜出一个注册名,则还需要猜出口令。l口令是一组相互无关的大小写字母、数字和特殊符号序列;可以任意长,但只有前8位有效。l UNIXSYSTEMV的系统强迫用户使用一个丰富字符集(至少一个数字或特殊符号),并要求最少字符个数,并使用时效机制。l如果忘记了口令,系统管理员可以使用超级用户权限为普通用户设置一个临时口令,其后用户可以根据自己的情况设置口令。UNIX系统在用户输入口令时关闭屏幕回显,即系统不把用户输入的口令字符显示在屏幕上,而且系统要求输入两次新口令,以确保新的口令没有错误。口令时效机制强迫用户使用一定时段后更改口令。l当用户短时离开计算机(可能未退出系统),为防止其他用户使用
19、,可以使用LOCK命令对计算机上锁。LOCK程序需要口令,达到锁定计算机与通信线路的作用。使用者输入正确口令后,可以重新正常使用该终端。2、访问控制l访问控制决定用户可访问哪些文件,以及对这些文件的操作。UNIX系统的访问控制模块是基于Multics系统的,访问者可以分成三类:文件所有者、同组用户和其他用户;访问类型分成读、写和执行。这样可以组合成九个不同权限,使用ls命令显示文件属性可见到9个权限位。l 所属者同组用户其他用户l 读RRRl 写WWWl 执行XXXl$LSLREADMEnotesscriptl-rrr-1rikusr14977May2501:39READMEl-rw-1rik
20、usr890 May2301:46notesl-r-xr-xr-x1rikusr1290 May311:46scriptl UNIX系统的选择性访问机制表现在文件所有者可以对文件权限进行任意修改。组类可以用于代替访问控制列表。每个用户可以是多个组的成员;同组用户可以访问某一类信息。(1)文件权限l文件权限控制用户对文件的读、写和执行,三种访问类型意义如下:l 读权限允许读和拷贝文件;l 写权限允许修改和截断文件;l 执行权限允许把文件作为程序或SHELL程序执行;l文件的访问权限是文件的所有者使用CHMOD命令设置的l CHMOD命令接受数字参数,数字参数由三个数字组成(每位取值0-7),读权
21、限用4表示,写权限用2表示,执行权限用1表示。如:l l 所有者同组用户其他用户l 读444l 写2l 执行11l 754l 数字参数754表示:文件所有者具有读写和执行权,同组用户可读或执行,其他用户只读。(2)目录权限l UNIX系统中的目录也作为一种文件;但使用LSL命令,列出的文件列表中第一个字符为D表示目录,此外目录文件具有固定结构。l目录文件数据由该目录下的文件名和它们的I节点号组成,使用LSI命令可以显示文件名和节点号:如l$lsIl 6074READMEl 8714notesl 4481scriptl$l目录访问权限与普通文件访问权限也是有区别的:l 读权限 允许列出目录下的文
22、件名;l 写 和 执 行 权 限(同时存在)允许对目录下的文件进行改名和删除操作;l 执行权限(或搜索权限)允许通过目录下的文件名存取所引用的文件;l目录访问权限与普通文件访问权限也是有区别的:l 读权限 允许列出目录下的文件名;l 写 和 执 行 权 限(同时存在)允许对目录下的文件进行改名和删除操作;l 执行权限(或搜索权限)允许通过目录下的文件名存取所引用的文件;l具有读目录文件的权限,可以使用LS命令列目录中所有文件;具有写和执行目录权限可以使用MV或RM命令,可以删除目录及目录中的文件,或者产生并修改文件,这往往是放入“特洛伊木马”的时机;执行权限有时称为搜索权限,允许访问目录文件中
23、的文件名对应的文件。3、启动文件 l UNIX系统中的许多命令都要查找启动文件。启动文件包含系统配置信息,可以帮助用户建立一个安全的工作环境,但必须防止启动文件遭到恶意修改。l UNIX系统中常用的Bourneshell、Kornshell和Cshell经常检查用户注册目录下启动文件。Shell启动文件用于设置PATH、UMASK、终端类型等变量,以及定义shell功能或替换名称。4、更正权限l l一般来说用户注册的目录树下未经改进的权限都隐藏危险。如果不对文件和目录进行有效的保护,用户则可读取和修改这些文件,甚至删除文件和目录。用户对某些文件(如启动文件)应实施保护,对同组用户应考虑取消读、
24、写权限。5、文件加密l UNIX系统中包含具有加密功能的命令。但是UNIX的加密方法基于:加密是建立在口令基础上,口令必须可靠,否则数据容易解密;如果一个文件的加密版本和未加密版本同时存在,口令容易破解,其他文件随之被破解;加密使得文件由ASCII码转换成数据文件,容易使人区分;使用UNIX提供的加密方案的解密技术已经广为人知。用户使用UNIX安全措施的原则l 使用正确合理的口令;l 不要未退出系统或将终端锁定就离开注册终端;l 保护文件和目录,禁止同组用户或其他用户对其进行写操作;l 使用严格的UMASK值,对新文件进行权限设定;l 使用安全 PATH,将系统目录(/BIN或/USR/BIN
25、)放在当前目录前;l 注册时需要注意最后时间,如果无此信息,应修改启动文件;l 检查启动文件权限,注意公共、可写目录(/TMP)下的启动文件;l 如果终端有可装载内存能力,需要禁止同组用户、其他用户向该终端实施写操作;二、系统管理员的安全管理 l 1、口令管理l系统管理员的安全管理职责包括维护系统中普通用户账户的安全和管理所有用户的口令。口令文件本身是系统破坏者的的一个重要目标,系统管理员可以通过观察、监视口令文件做许多工作以提高系统的安全。l在ETC/PASSWD文件中包含了所有用户账户的信息。其中保存的口令是经过加密的,虽然加密的口令很难靠算法的逆运算来解密,但还是有一些众所周知的方法来猜
26、出口令。系统管理员应做一些工作使得猜出口令更加困难。UNIXSystemV版本增加了口令的时效机制,此机制强迫用户每隔一段时间就改变一次口令,以使用户的口令更加安全。l ETC/PASSWD文件的每一行都包括用户名、口令、用户id、组id、注释、注册目录、注册shell等七个字段,它们彼此用“:”分隔。如下所示:l l rik:hN6vLm9j:108:101:rikfar:/usr/acct/rik:/bin/sh用户名口令用户ID组ID注册目录注释注册shell l其中,用户名最长8个字符,全部小写;口令是经过加密处理的,通过在口令后增加逗号(,),加4个字母或数字,可以达到增加口令时限机
27、制;用户ID唯一确定用户,0代表超级用户;组ID是由多个用户共享的;注释部分可空;注册目录决定了用户登录后的环境设置;注册SHELL是登录程序执行部分。l 账户口令l UNIX系统中各个非限制用户都有自己的账户;如果允许一些用户共享账户,则系统将无法确定用户的工作。有鉴于此,不提倡使用共享账户。l当某个用户在一段时期不再使用系统,其账户成为非活动账户,应对其设置“不可能口令”。l 口令检查与时限机制l 对/ETC/PASSWD文件定期检查,内容包括:文件属主和访问权限;文件中每项内容的正确性;文件完整性,如:是否每个账户都有口令;用户ID为0的用户情况。l 口令时限机制强迫用户在距离上次修改口
28、令后的一段时间内修改口令,此机制同时防止用户将上次口令作为新口令使用,保障用户的口令定期加以变化,每次口令修改的时限取决于系统安全要求。2、系统文件和目录管理 l 系统管理员应对系统整体负责,包括UNIX系统命令、设备文件、配置文件、shell命令程序、库文件,以及系统数据库。l 系统文件和目录必须属于系统账户和系统组;除临时目录,属于系统账户目录是不允许其他用户写入的;系统账户所属文件不允许其他用户写入;对设备文件应设置正确的属主和权限;对重要文件权限、属主及检查和应进行常规性检查。l系统管理员应建立完备的系统文件数据库。这个数据库包括管理员需要监测的每个文件的文件名以及属主、属组和权限。如
29、果系统管理员要记录属于用户个人的启动文件,可以将这些文件连同用户的HOME目录一起记录到数据库,以便日后管理,并且定期对照数据库文件检查系统。3、调整用户特权和组特权 l调整用户和组特权机制在UNIX系统中是十分重要的,通过调整使普通用户可以修改自己的口令、显示自由磁盘空间、发送电子邮件、使用UUCP、显示内核进程表。这样,在有限的范围内通过改变用户的特权使许多原来不能完成或需要内核支持的操作得以实现,而同时用户又不可利用这种调整特权进行任意操作。l为了防止未经授权的用户使用正常口令进入系统,系统管理员应当定期检查/ETC/PASSWD文件的正确性和完整性,经常对所有系统文件及目录权限、属主及
30、属组进行检查和清理工作,运行安全性检查程序及时发现非法入侵者。三、UNIX 安全性隐患 l UNIX系统一直没有打算要求具有高度的安全性。它是由两个程序员在1969年设计的,本意是为他们自己开发、测试和维护程序用的。该系统预定应用场合是“非敌对的”和易于共享的。因此,它的文件、数据、设备的存储空间的共享机制比较简单,没有受到强保护机制的保护。UNIX的系统管理员只被假设为一个程序员,他只管理部分时间,不可能负责所有的安全管理。l系统中设立一个超级用户,他在系统中可以完成任何操作。因为超级用户是全能的,大多数系统攻击都把目标锁定在超级用户的权利上。一旦得到该权利,哪怕只有几秒钟,入侵者就可以建立
31、一个超级用户在任何时间都可以访问的后门。l如果系统程序运行在“setuid”(设置用户标识符)方式,对该系统程序共享有访问权的用户就可以获得最高安全权利;当一个用户执行这样的程序时,该程序执行期间的文件访问权就是该程序拥有者的访问权,而不是程序的用户的访问权。l安排这一特点的初始意图是使用户可以利用系统的实用程序,如mail,并通过这实用程序访问mail级的文件。难点在于大多数敏感的实用程序为超级用户所“拥有”,所以在一个实用程序中暴露的安全性缺陷便给予了很宽的访问权。l对于UNIX来说,所有的客体(如目录、I/O设备、甚至存储器的一部分)都是文件,并用相同的结构与方式进行访问。对于用户而言,
32、这种简单性是友好的,但它却牺牲了安全性。文件的访问的许可只被检查一次,是在文件打开时进行的。在文件或设备被打开以后,通过改变其特征,用户便可得到未受检查的访问许可权。l UNIX系统中不断出现的安全功能是以牺牲系统性能为代价的。如审计工作,每天每台计算机将产生10兆的数据,这些数据必须写入磁盘以便审计,而且审计工作涉及许多普通系统活动:LS列目录、FIND查找文件等等。所以增加安全保护所付出的代价应与其带来的好处持平。l为了提高UNIX的安全性,人们进行了种种努力,但大多都是通过重写UNIX的内核来实现的,这样提供的系统具有UNIX对外的功能集合但内部结构不同。安全专家已经说明了若对UNIX系统进行B2级安全评估会遇到的困难。l系统要达到较高的安全等级,需要设计出真正安全的操作系统,而且用户和系统管理员遵守相应的安全条例。用户能否正确使用,决定了系统是否真正变得安全。所有用户必须接受培训并严格遵守使用条例,只要一个用户没有正确使用系统也将为入侵者打开大门。小结l本讲介绍实际中广泛应用的NT和UNIX两个操作系统中的安全机制,它们都属于C2安全级档次的商用操作系统。l如果能够全面合理地设置各个安全选项,才能够充分利用它们内部的安全机制的能力,使系统处于比较安全的状态。演讲完毕,谢谢观看!