安全协议与标准07c-SELinux_第1页
安全协议与标准07c-SELinux_第2页
安全协议与标准07c-SELinux_第3页
安全协议与标准07c-SELinux_第4页
安全协议与标准07c-SELinux_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安全协议与标准linfb@2007,11SELinuxAccesscontrolMAC(Mandatoryaccesscontrol)DAC(Discretionaryaccesscontrol)SELinuxinkernel2.6安全操作系统传输安全系统安全端系统安全安全操作系统TCSEC/CCSELinux---FromNSASecurity-enhancedLinuxTeam"NSASecurity-enhancedLinuxisasetofpatchestotheLinuxkernelandsomeutilitiestoincorporateastrong,flexiblemandatoryaccesscontrol(MAC)architectureintothemajorsubsystemsofthekernel.Itprovidesamechanismtoenforcetheseparationofinformationbasedonconfidentialityandintegrityrequirements,whichallowsthreatsoftamperingandbypassingofapplicationsecuritymechanismstobeaddressedandenablestheconfinementofdamagethatcanbecausedbymaliciousorflawedapplications.Itincludesasetofsamplesecuritypolicyconfigurationfilesdesignedtomeetcommon,general-purposesecuritygoals."SELinux的直接来源Flask(FluxAdvancedSecurityKernel)

isanoperatingsystemsecurityarchitecturethatprovidesflexiblesupportforsecuritypolicies.ThearchitecturewasprototypedintheFlukeresearchoperatingsystem.Itisacoreframeworkinsecurity-focusedoperatingsystemssuchasNSA'sSecurity-EnhancedLinux(SELinux)andTrustedBSD.促成SELinux的其他相关项目NSA&SCC:DistributedTrustedMach

(DTMach),anoutgrowthoftheTMachprojectandtheLOCK

project.TheDTMachprojectwascontinuedintheDistributedTrustedOperatingSystem(DTOS)projectOthercontributorstotheSecurity-EnhancedLinuxsystemincludeNAILabs,SecureComputingCorporation,andMITRE.OSKit(),aframeworkandasetof34componentlibrariesorientedtooperatingsystems,togetherwithextensivedocumentation,byUtah.OSKitOSKIT是美国犹它大学计算机科学系FLUX研究组编写的一套用于架构操作系统内核、服务器和其他OS级软件的框架及模块化的部件和库程序。OSKIT的编写者认为,操作系统中有很大一部分模块是系统必须的,但并不是开发者所感兴趣的,例如系统装入模块,各种标准驱动模块等。使用OSKIT的目的就是使操作系统的开发者集中精力开发他们操作系统中有特色的,或者他们感兴趣的部分,而不必考虑一些繁琐而乏味的细节。为了达到这个目的,OSKit在设计时借用了COM的思想,把操作系统的各个部分设计成尽量独立的COM模块,以方便操作系统的开发者使用或替换。因此,当开发人员使用这套工具时,可以把它当作一个完整的操作系统来使用,也可以根据需要使用其中的一部分,它还可以作为一套动态链接库,由操作系统及支持程序对它进行调用。Subject/Object主体计算机中存在大量涉及安全的操作,凡是实施操作的作主体,如用户或者进程等。客体被操作的对象称为客体,如文件、设备、内存等标识与鉴别标识是系统要确认访问者的身份,如用户名。鉴别是提供一种方法证实身份,如口令。安全策略(SecurityPolicy)描述用户对安全方面要求,根据系统安全需求制定。Accesscontroltheabilitytopermitordenytheuseofsomethingbysomeone,includesauthentication,authorizationandaudit.DiscretionaryAccessControl–DAC 自主的anaccesspolicydeterminedbytheownerofanobject.Theownerdecideswhoisallowedtoaccesstheobjectandwhatprivilegestheyhave.AccesscontrolsmaybediscretionaryinACL-based,capability-based,orRole-basedaccesscontrolsystems.MandatoryAccessControl–MAC 强制的anaccesspolicydeterminedbythesystem,nottheowner.

commonlyusedforapplyingmandatoryaccesscontrol:Lattice-basedaccesscontrols,Rule-basedaccesscontrolsACL/ACMAccesscontrollist(ACL)alistofpermissionsattachedtoanobject.AccessControlMatrix(ACM)therightsofeachsubjectwithrespecttoeveryobjectinthesystem.MAC(mandatoryaccesscontrol)SUSELinux(nowsupportedbyNovell)andUbuntu7.10haveaddedaMACimplementationcalledAppArmor.Sun'sTrustedSolarisusesamandatoryandsystem-enforcedaccesscontrolmechanism(MAC),whereclearancesandlabelsareusedtoenforceasecuritypolicy.PrincipleofLeastPrivilege最小特权每一用户和进程只拥有最小的必需访问权的集合。这条原则限制了由于差错事故或者恶意攻击造成的破坏性影响。进程只在完成其任务所必需的那些权限组成的最小保护域内执行,当进程的访问需求发生变化时,进程就应转换其保护域。最小权限原则要求计算环境中的特定抽象层的每个模块如进程、用户或者计算机程序只能访问当下所必需的信息或者资源。赋予每一个合法动作最小的权限,就是为了保护数据以及功能避免受到错误或者恶意行为的破坏。实施最小特权把传统的超级用户划分为安全管理员、系统操作员、系统管理员三种特权用户,安全管理员行使诸如设定安全等级、管理审计信息等系统安全维护职能,系统操作员行使诸如磁盘数据备份、启动和关闭系统等系统日常维护职能,系统管理员行使诸如创建和删除用户帐户、处理记帐信息等系统管理职能。传统的超级用户不复存在。SELinuxSELinux是2.6版本的Linux内核中提供的强制访问控制(MAC)系统。对于目前可用的Linux安全模块来说,SELinux是功能最全面,而且测试最充分的,它是在20年的MAC研究基础上建立的。SELinux在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。

发行版中的SELinuxSELinux就绪的发行版,例如Fedora、RedHatEnterpriseLinux(RHEL)、Debian或Gentoo。它们都是在内核中启用SELinux的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用SELinux的功能。SELinux工作机制每一个重要的内核对象,比如每个文件系统对象和每个进程,都有一个关联到它们的“安全上下文(securitycontext)”。安全上下文可以基于军事安全层级(如不保密的、保密的和高度保密的)、基于用户角色、基于应用程序(这样,一个Web服务器可以拥有它自己的安全上下文),或者基于很多其他内容。当它执行另一个程序时,进程的安全上下文可以改变。甚至,取决于调用它的程序,一个给定的程序可以在不同的安全上下文中运行,即使是同一个用户启动了所有程序。管理员就可以创建一个指定哪些特权授与哪个安全上下文的“安全策略(securitypolicy)”。当发生系统调用时,SELinux去检查是否所有需要的特权都已经授与了—如果没有,它就拒绝那个请求。例如要创建一个文件,当前进程的安全上下文必须对父目录的安全上下文的“搜索(search)”和“add_name”特权,而且它需要有对于(要创建的)文件的安全上下文的“创建(create)”特权。同样,那个文件的安全上下文必须有特权与文件系统“关联(associated)”(所以,举例来说,“高度保密”的文件不能写到一个“不保密”的磁盘)。还有用于套接字、网络接口、主机和端口的网络访问控制。如果安全策略为那些全部授与了权限,那么请求就会被SELinux所允许。否则,就会被禁止。普通的Linux与SELinux相比较普通的Linux系统的安全性是依赖内核的,这个依赖是通过setuid/setgid产生的。在传统的安全机制下,暴露了一些应用授权问题、配置问题或进程运行造成整个系统的安全问题。这些问题在现在的操作系统中都存在,这是由于他们的复杂性和与其它程序的互用性造成的。SELinux的权限检查完全独立于类UNIX系统中的通常的权限位,用户必须既有标准的类UNIX权限,又有SELinux权限才能去做一些事情。SELinux检查可以做很多对传统的类UNIX权限来说难以完成的事情。使用SELinux,您可以方便地创建一个只能运行特定程序并且只能在特定的上下文中写文件的Web服务器。配置策略SELinux只单单依赖于系统的内核和安全配置政策。一旦你正确配置了系统,不正常的应用程序配置或错误将只返回错误给用户的程序和它的系统后台程序。其它用户程序的安全性和他们的后台程序仍然可以正常运行,并保持着它们的安全系统结构。单一程序的配置错误不会造成整个系统的崩溃。如果有一个好的安全策略的话,即使一个攻击者攻入了Web服务器并成为root,攻击者也不会获得整个系统的控制权。为了使SELinux有效,您需要有一个好的安全策略来由SELinux执行。大部分用户将需要一个他们容易修改的实用的初始策略。SELinux的策略主要分为两种一个是目标(targeted)策略,针对部分系统网络服务和进程执行SELinux策略。(byredhat)针对各种常用服务,如apache、sendmail等另一个是严格(strict)策略,是执行全局的NSA默认策略。(bynsa)TE(TypeEnforcement)对于进程只付与最小的权限TE概念在SELinux里非常的重要。它的特点是对所有的文件都赋予一个叫type的文件类型标签,对于所有的进程也赋予各自的一个叫domain的标签。Domain标签能够执行的操作也是由accessvector在策略里定好的。TEInordertograntaccesstosomething,anallowrulemustbecreated,suchas:

allowuser_tbin_t:file{readexecutegetattr};Thismeansaprocesswithadomaintypeofuser_tcanread,execute,orgetattributesforafileobjectwithatypeofbin_t,thereisnosignificanceinthe“_t”portion.Thisrulemightbeinapolicytoallowuserstoexecuteshellprogramssuchasthebashshell(/bin/bash).Domain迁移防止权限升级在用户环境里运行点对点下载软件azureus,当前的domain是fu_t。考虑到安全问题,打算让其在azureus_t里运行。有了domain迁移,就可以让azureus在指定的azureus_t里运行,它不会影响到你的fu_t。下面是domain迁移指示的例子: domain_auto_trans(fu_t,azureus_exec_t,azureus_t):当在fu_tdomain里,实行了被标为azureus_exec_t的文件时,domain从fu_t迁移到azureus_t。RBAC(rolebaseaccesscontrol)对于用户只付与最小的权限对于用户来说,被划分成一些ROLE,即使是ROOT用户,你要是不在sysadm_r里,也还是不能实行sysadm_t管理操作的。因为,那些ROLE可以执行那些domain也是在策略里设定的。ROLE也是可以迁移的,但是也只能安策略规定的迁移。实现的难度实际上,基本上原来的运用软件没有必要修改就能在它上面运行。真正做了特别修改的RPM包只要50多个。像文件系统EXT3都是经过了扩展。对于一些原有的命令也进行了扩展,另外还增加了一些新的命令。(什么时候的事?)Securityoptionsinconfig-2.6.21-1.3194.fc7CONFIG_KEYS=yCONFIG_KEYS_DEBUG_PROC_KEYS=yCONFIG_SECURITY=yCONFIG_SECURITY_NETWORK=yCONFIG_SECURITY_NETWORK_XFRM=yCONFIG_SECURITY_CAPABILITIES=y#CONFIG_SECURITY_ROOTPLUGisnotsetCONFIG_SECURITY_SELINUX=yCONFIG_SECURITY_SELINUX_BOOTPARAM=yCONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1CONFIG_SECURITY_SELINUX_DISABLE=yCONFIG_SECURITY_SELINUX_DEVELOP=yCONFIG_SECURITY_SELINUX_AVC_STATS=yCONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1#CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULTisnotset#CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAXisnotset/etc/selinux/config#cat/etc/selinux/config#ThisfilecontrolsthestateofSELinuxonthesystem.#SELINUX=cantakeoneofthesethreevalues:#enforcing-SELinuxsecuritypolicyisenforced.#permissive-SELinuxp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论