第八章操作系统安全章操作系统安全•8.1Linux系统••8.2Unix/Linux系统安全••8.3Windows系统••8.4Windows安全机制••8.5Windows系统安全配置••第八章操作系统安全操作系统概述•目前服务器常用的操作系统:–Unix–Linux–WindowsNT/2000/2003Server。•这些操作系统都是符合C2级安全级别的操作系统。•都存在很多漏洞,如果对这些漏洞不了解,不采取相应的措施,就会使操作系统完全暴露给入侵者。第八章操作系统安全8.1Linux/Unix系统•UNIX操作系统是由美国贝尔实验室开发的一种多用户、多任务的通用操作系统。•UNIX诞生于20世纪60年代末期,贝尔实验室的研究人员于1969年开始在GE645计算机上实现一种分时操作系统的雏形,后来该系统被移植到了DEC的PDP-7小型机上。•1970年给系统正式命名为Unix。•到1973年,Unix系统的绝大部分源代码都用C语言重新编写,大大提高了Unix系统的可移植性,也为提高系统软件的开发效率创造了条件。第八章操作系统安全主要特色•UNIX操作系统经过20多年的发展后,已经成为一种成熟的主流操作系统,在发展过程中逐步形成了一些新的特色。(1)高可靠性(2)极强的伸缩性(3)网络功能强(4)强大的数据库支持(5)开放性好第八章操作系统安全Linux系统•Linux是由全世界各地的成千上万的程序员设计和实现的,为了建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。•Linux最早开始于名叫LinusTorvalds的计算机爱好者,是芬兰赫尔辛基大学的学生。•目的是设计一个代替Minix(是由AndrewTannebaum教授编写的一个操作系统示教程序)的操作系统。该操作系统可用于386、486或奔腾处理器的个人计算机上,具有Unix操作系统的全部功能。第八章操作系统安全Linux系统•Linux是一个免费的开源操作系统,用户可以免费获得其源代码,并能够随意修改。•在共用许可证GPL(GeneralPublicLicense)保护下的自由软件,有几种版本,如RedHatLinux、Slackware,以及国内的XteamLinux、红旗Linux等等。•Linux的流行是源于它的优点:第八章操作系统安全Linux典型的优点(1)完全免费(2)完全兼容POSIX1.0标准(3)多用户、多任务(4)良好的界面(5)丰富的网络功能(6)可靠的安全、稳定性能(7)支持多种平台第八章操作系统安全8.2Unix/Linux系统安全用户层内核层硬件层应用程序应用程序系统调用界面文件子系统进程间通信字符设备高速缓存块设备进程子系统进程调度存储管理硬件控制硬件第八章操作系统安全Unix/Linux的安全机制•用户标识和身份鉴别–每个用户一个唯一的标识符(UID);–系统给每个用户组也分配有一个唯一的标识符(GID);–登录需要密码口令;•文件系统安全–用户:owner/group/other)–访问权限:read/write/executable。•文件加密–Unix用户可以使用crypt命令加密文件,用户选择一个密钥加密文件,再次使用此命令,用同一密钥作用于加密后的文件,就可恢复文件内容•日志审计机制–包括:连接时间日志、进程统计和错误日志。9第八章操作系统安全Unix/Linux操作系统安全-弱点•用户数据保护机制并不能保证严格安全要求;•超级用户成为系统安全瓶颈;•缺乏必要的系统审计机制;•用户认证方面的要求不够严格;•系统自身的完整性保护问题,一旦加载恶意的核心模块,整个系统可能完全被非法控制。10第八章操作系统安全Unix/Linux安全配置•合理设置系统的安全级别•合理设置用户权限•指定主控台及终端登录的限制•合理配置/etc/inetd.conf文件•合理设置/etc/ftpusers文件•合理设置网段及路由•不设置UUCP•删除不用的软件包及协议•正确配置.profile文件•创建匿名ftp•应用用户同维护用户分开第八章操作系统安全8.3Windows系统1)高效直观的面向对象的图形用户界面,易学易用。2)多任务。3)用户界面统一、友好、漂亮。4)丰富的与设备无关的图形操作。第八章操作系统安全8.4Windows安全机制•1.活动目录服务•2.认证服务•3.加密文件系统•4.安全模版•5.安全账号管理器第八章操作系统安全Windows安全子系统•安全子系统包括:–Winlogon–GraphicalIdentificationandAuthenticationDLL(GINA)–LocalSecurityAuthority(LSA)–SecuritySupportProviderInterface(SSPI)–AuthenticationPackages–Securitysupportproviders–NetlogonService–SecurityAccountManager(SAM)第八章操作系统安全Windows安全子系统WinlogonGINALSASecurityAccountManagementNetlogonAuthenticationPackagesSecuritySupportProviderSSPI加载GINA,监视认证顺序加载认证包支持额外的验证机制为认证建立安全通道提供登陆接口提供真正的用户校验管理用户和用户证书的数据库第八章操作系统安全Windows安全子系统•WinlogonandGina:–Winlogon调用GINADLL,监视安全认证序列。–GINADLL提供一个交互式的界面为用户登陆提供认证请求。Winlogon在注册表中查找\HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon,如果存在GinaDLL键,Winlogon将使用这个DLL,如果不存在该键,Winlogon将使用默认值MSGINA.DLL。第八章操作系统安全Windows安全子系统•本地安全认证(LocalSecurityAuthority):它负责以下任务:–调用所有的认证包,检查在注册表\HKLM\SYSTEM\CurrentControlSet\Control\LSA下AuthenticationPAckages下的值,并调用该DLL进行认证(MSV_1.DLL)。在4.0版里,WindowsNT会寻找\HKLM\SYSTEM\CurrentControlSet\Control\LSA下所有存在的SecurityPackages值并调用。–创建用户的访问令牌。–管理本地安装的服务所使用的服务账号。–储存和映射用户权限。–管理审核的策略和设置。–管理信任关系。第八章操作系统安全Windows安全子系统•网络登陆(Netlogon):网络登陆服务必须在通过认证后建立一个安全的通道。要实现这个目标,必须通过安全通道与域中的域控制器建立连接,然后,再通过安全的通道传递用户的口令,在域的域控制器上响应请求后,重新取回用户的SIDs和用户权限。•安全账号管理器(SecurityAccountManager):安全账号管理器,也就是我们经常所说的SAM,它是用来保存用户账号和口令的数据库。不同的域有不同的Sam,在域复制的过程中,Sam包将会被拷贝。第八章操作系统安全Windows的密码系统•WindowsNT及Win2000中对用户帐户的安全管理使用了安全帐号管理器(securityaccountmanager)的机制,安全帐号管理器对帐号的管理是通过安全标识进行的,安全标识在帐号创建时就同时创建,一旦帐号被删除,安全标识也同时被删除。•安全标识是唯一的,即使是相同的用户名,在每次创建时获得的安全标识都时完全不同的。因此,一旦某个帐号被删除,它的安全标识就不再存在了,即使用相同的用户名重建帐号,也会被赋予不同的安全标识,不会保留原来的权限。第八章操作系统安全Windows平台上的共享资源•在Windows平台上,共享资源是受攻击的入侵点–文件资源的共享–打印服务的共享–IPC$也是一个共享资源•在网络环境下,又离不开共享功能•对策–使用隐藏共享–设置好权限控制第八章操作系统安全Windows9x/ME•它本身就不是一个安全的操作系统•主要的危险–直接连接到共享资源上•远程访问注册表–安装后门服务程序–利用现有服务程序的漏洞–拒绝服务•本地系统的不安性–重新启动–口令的不安全第八章操作系统安全WindowsNT•WindowsNT是一个安全操作系统–虽然已经发现了大量的漏洞–但是总算补丁来得很及时•两个显著的安全性特点–操作系统本身并不提供远程运行代码的能力–对于控制台的交互登录权力仅限于少数帐号•安全现状–对于WindowsNT的大量攻击都是通过应用服务器进行的(比如IISWebServer)。–尽快升级到Windows2000第八章操作系统安全WindowsNT的Administrator•这是攻击者最期望得到的权限•手段–远程密码猜测•找到一个共享点,使用netuse命令行•Nat工具–从NT的认证协议(LanMan、NTLM)着手•防护–禁止NIC的NetBIOS功能–帐户的管理策略:设定lockout功能、强制使用强口令–失败类型的审计总是需要的第八章操作系统安全SAM数据库•SAM:SecurityAccountsManager,包含有本地系统或者所控制域上所有用户的用户名和密文形式的密码•这是攻击者最感兴趣的部位–获取sam数据库,然后进行破解–在系统运行期间,sam数据库是上锁的•获取sam的手段–从另一个文件系统进行拷贝–从关键文件的备份中获取压缩之后的sam文件–在线提取密码散列值–从网络上进行监听•破解工具–无论是字典破解,还是穷举攻击,往往很奏效–两种手段结合起来使用•使用syskey保护第八章操作系统安全IIS服务安全配置•删除无用的脚本映射IIS被预先配置为支持常用的文件名扩展如.asp和.shtm文件。IIS接收到这些类型的文件请求时,该调用由DLL处理。如果您不使用其中的某些扩展或功能,则应删除该映射,步骤如下:–打开Internet服务管理器。–右键单击Web服务器,然后从上下文菜单中选择“属性”。–主目录|配置|–删除无用的.htr.ida.idq.printer.idc.stm.shtml等第八章操作系统安全终端服务安全•输入法漏洞造成的威胁第八章操作系统安全Windows2000的危险服务•剪贴簿查看器•Messenger(Netsend)•RemoteRegistryService•Server(支持此计算机通过网络的文件、打印、和命名管道共享)•TerminalServices(允许多位用户连接并控制一台机器,并且在远程计算机上显示桌面和应用程序。这是远程桌面(包括管理员的远程桌面)、快速用户转换、远程协助和终端服务器的基础结构。)第八章操作系统安全禁止对注册表的远程访问第八章操作系统安全禁止和删除服务•通过services.msc禁止服务•使用ResourceKit彻底删除服务–Sc命令行工具–Instsrv工具•举例–OS/2和Posix系统仅仅为了向后兼容–Server服务仅仅为了接受netbios请求第八章操作系统安全针对Windows的入侵示例第八章操作系统安全•1.探测–选择攻击对象,了解部分简单的对象信息。•针对具体的攻击目标,随便选择一组IP地址,进行测试,选择处于活动状态的主机;–针对探测的安全建议•对于网络:安装防火墙,禁止这种探测行为•对于主机:安装个人防火墙软件,禁止外部主机的ping包,使对方无法获知主机当前正确的活动状态针对Windows2000的入侵过程(一)第八章操作系统安全针对Windows2000的入侵过程(二)•2.扫描–使用的扫描软件•这里选择的扫描软件是SSS(ShadowSecurityScanner),SSS是俄罗斯的一套非常专业的安全