分享

主机安全测评

 二楼202 2019-09-11

主机是信息系统处理流程的起点和终点,是信息产生、存储和处理的载体,是应用服务程序的运行中心和数据处理中心。当前,针对主机的攻击事件层出不穷,攻击手段多种多样。从缓冲区溢出攻击、口令破解到恶意代码攻击;从用户身份伪造、非法提升权限到重要数据完整性破坏;从外部攻击到内部破坏;主机成为当前安全攻防过程中的关键环节。

主机安全旨在保证主机在数据存储和处理的保密性、完整性、可用性,它是保证信息系统安全的基础,直接影响信息系统的整体安全。主机安全通常由操作系统、数据库管理系统等自身安全配置、相关安全软件及设备等来实现。主机安全测评则主要依据相关安全要求通过访谈、现场检查、测试等方式对主机进行安全符合性评估,它是保障主机安全的重要方式之一。

一、主机安全测评方法

(一)主机安全测评依据

主机安全测评的主要依据是各类国家标准,主要包括以下3个方面。

(1)《GB 17859−1999计算机信息系统安全等级保护划分准则》:是我国信息安全测评的基础类标准之一,描述了计算机信息系统安全保护技术能力等级的划分。

(2)《GB/T 18336 信息技术 安全技术 信息技术安全性评估准则》等同采用国际标准ISO/IEC 15408:2005(简称CC),是评估信息技术产品和系统安全特性的基础标准。

(3)《GB/T 22239−2008信息安全 技术信息系统安全等级保护基本要求》(简称《基本要求》)和《GB/T 28448−2012信息安全 技术信息系统安全等级保护测评要求》(以下简称《测评要求》)是国家信息安全等级保护管理制度中针对信息系统安全开展等级测评工作的重要依据。

(二)主机安全测评对象及内容

《基本要求》针对信息系统的不同安全等级对主机安全提出不同的基本要求。《测评要求》阐述了《基本要求》中各要求项的具体测评方法、步骤和判断依据等,用来评定各级信息系统的安全保护措施是否符合《基本要求》。依据《测评要求》,测评过程需要针对主机操作系统、虚拟化软件、数据库管理系统等测评对象,从身份鉴别、安全标记、访问控制等方面分别进行测评,主要框架如下图所示。

主机安全测评框架

从测评对象角度来看,主机安全测评应覆盖主机上可能存在的主要系统软件,如操作系统、数据库管理系统、虚拟化软件等。

(1)操作系统直接与硬件设备打交道,处于软件系统的底层,是基础的软件系统。操作系统的安全性起着至关重要的基础作用,缺少操作系统的基础安全特性,主机的安全性就无从可谈。

(2)数据库系统是信息系统中用于存储和管理数据的软件系统,信息系统中的信息加工与处理通常都围绕数据库系统这个中心进行。数据库的安全程度直接影响着数据乃至整个信息系统安全保护措施的有效性。

(3)虚拟化软件是近年来随着云计算技术发展而应用越来越广泛的基础性主机软件,其安全性直接影响到基于云计算信息系统的总体安全性,但在当前的主机安全测评中往往被忽略。

从测评内容角度来看,主机安全测评主要包括以下9个方面。

(1)身份鉴别:从身份鉴别方式、口令复杂度、鉴别信息传输机密性、登录失败处理措施等方面对主机安全性进行测评。

(2)安全标记:对主体和客体的敏感标记设置情况进行测评。

(3)访问控制:从访问控制主客体、访问控制策略、访问控制粒度等方面对主机安全性进行测评。

(4)可信路径:对系统与用户之间信息传输路径的安全性进行测评。

(5)安全审计:从审计的策略、范围、内容、记录、进程保护、日志保护等方面对主机安全性进行测评。

(6)剩余信息保护:主要对鉴别信息、系统文件、目录和数据库记录等客体存储空间的剩余信息保护情况进行测评。

(7)入侵防范:主要对主机的入侵防范措施、系统补丁更新等情况进行测评。

(8)恶意代码防范:主要对主机的恶意代码防护措施进行测评。

(9)资源控制:主要对系统资源监控情况进行测评。

下表给出了《基本要求》中针对上述9个方面需要开展测评的项目数量。

主机安全控制点及其要求项数量

(三)主机安全测评方式

主机安全测评主要包括访谈、现场检查和测试3种方式。

(1)访谈是指测评人员通过引导信息系统相关人员进行有目的的(有针对性的)交流以帮助测评人员理解、澄清或取得证据的过程。主机安全访谈主要由测评人员与被测评主机的系统管理员、安全管理员、安全审计员、主机使用人员等针对主机测评所要求的访谈内容进行询问和调查,并根据访谈收集的信息进行主机安全性的分析判断。

(2)检查是指测评人员通过测评对象(如制度文档、各类设备、安全配置)进行观察、查验、分析以帮助测评人员理解、澄清或取得证据的过程。主机安全现场检查主要是基于访谈调研情况,依据主机安全现场检查表单和作业指导书,对信息系统中的主机安全状况进行实地核查。其中,主要包括2个方面:一是对所提供的主机安全相关技术文档资料进行检查分析;二是针对主机安全配置要求,登录各个相关主机,运用主机操作指令和工具进行安全现状数据的提取和分析。对于大型业务系统而言,由于主机数量繁多,实际执行时由于时间和人力投入有限,可采用抽查的方式进行现场检查。

(3)测试是指测评人员使用预定的方法/工具使测评对象(各类设备或安全配置)产生特定的结果,以将运行结果与预期的结果进行比对的过程。主机安全测试主要包括主机漏洞扫描、主机安全基线检测和主机渗透测试等3种方式。主机漏洞扫描主要针对被测评的主机实现操作系统脆弱性扫描,重要文件、目录脆弱性扫描,浏览器脆弱性扫描,Web服务脆弱性扫描,其他通用服务脆弱性扫描,用户、组、注册表脆弱性扫描,文件共享脆弱性扫描,数据库脆弱性扫描等安全测试工作;主机安全基线检测主要对被测评的主机进行安全配置检查,检查主机操作系统、数据库、虚拟化软件等是否符合用户的安全基线要求;主机渗透测试完全模拟黑客可能使用的攻击技术和漏洞发现技术,对被测评的主机做深入的安全探测,以发现主机所存在的安全问题。

在上述测评方式的基础上,应开展综合的结果分析,即将访谈结果、现场检查结果与测试结果进行汇总,对获得的各类信息进行综合分析,通过各类测评结果之间的相互印证,判断结果的正确性,避免由于人为疏漏以及测试工具自身缺陷导致的测评结果错误。

(四)主机安全测评工具

开展主机安全测评的工具主要有以下类型。

(1)主机自身提供的检测工具:包括系统命令、系统自带工具等,如ping、netstat、route、ps等命令,Windows操作系统的管理、任务管理器等工具。这一类检测工具能够协助测评人员对系统配置、系统状态、系统性能、系统用户行为等信息进行有效收集。

(2)端口扫描工具:用来检测主机开放了哪些对外端口以及端口对应的服务,一般端口扫描器还具有主机状态扫描功能。典型的端口扫描工具包括Nmap、Super Scan等。可以代替使用系统自带的命令对系统开放端口/服务的检查,也可以检查经过安全设备或软件保护后的主机对外端口。端口扫描类型主要是TCP端口扫描,为躲避安全设备对扫描工具的拦截和监控,扫描工具开发者还设计了秘密扫描、慢速扫描、乱序扫描等端口扫描技术。

(3)漏洞扫描工具:通过端口扫描得知目标主机开启的端口以及对应的服务后,利用漏洞扫描工具进行进一步的探测,包括主机系统的版本号、系统信息、系统文件、应用配置信息等,将这些信息与漏洞扫描工具提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在。常见的漏洞扫描工具均包含了端口扫描工具,同时也包含了大量已有主机漏洞的检查策略。

(4)渗透测试工具:提供用于针对主机开展渗透性测试工作的工具包,包括字典攻击、暴力破解、缓冲区溢出、脚本注入、拒绝服务、木马植入等攻击工具,通过模拟黑客的攻击手法,以入侵者的思维与技术,模拟可能被利用的漏洞途径,发现隐藏的安全隐患,验证主机漏洞是否真实存在。

(5)主机安全配置核查工具:对系统各类安全策略的配置情况进行自动检查,包括日志策略、审计策略、用户身份鉴别策略、访问控制策略、数据备份策略、应用服务开启配置等,使用工具代替人工记录各类系统检查命令的执行结果,并对结果进行自动分析,如安全配置核查系统(BVS)。

二、主机安全测评的实施

按照操作系统、数据库管理系统和虚拟化软件这三类重点的主机测评对象分类,详细介绍针对主机安全的身份鉴别、安全标记、访问控制、可信路径、安全审计、剩余信息保护、入侵防范、恶意代码防范、资源控制等方面的测评过程。

主机安全测评需要综合采用访谈、检查和测试的测评方式。其中,访谈通常是首先开展的工作。应在测评方与被测评方充分沟通的基础上,确定访谈的计划安排,包括访谈部门、访谈对象、访谈时间及访谈配合人员等。在主机安全访谈过程中,测评方应确保所访谈的信息能满足主机安全测评的信息采集要求,如果有信息遗漏的情况,可以安排进行补充访谈,确保能获取到所需要的信息。测评方应填写资料接收单,并做好资料的安全保管。主机安全访谈中的主机情况调查至少应包括主机的名称、品牌、型号、物理位置、IP地址、系统版本/补丁、承载的业务应用、重要程度、管理员等信息,并根据具体的主机安全测评项进行扩充。

(一)Windows服务器操作系统的测评实施

此处以Windows 2008 Server为例,说明如何实施主机安全测评。其他版本的Windows服务器操作系统与其类似。

在针对操作系统访谈结果的基础上,应采用现场检查和测试相结合的方式进行测评。由于等级保护三级信息系统的重要性和广泛代表性,这里以等级保护三级信息系统中的主机为例,对操作系统的测评实施进行描述。其他等级系统中的主机可根据对应级别的基本要求,参照此内容进行调整,以满足自身的安全测评需求。

1、身份鉴别机制测评

(1)检查系统是否对登录用户进行了身份标识和鉴别。可在命令提示符中输入“net user”或运行“lusrmgr.msc”检查用户标识符列表,检查系统是否提供了身份标识。通过模拟登录的方式,检查登录过程中系统账号是否进行登录验证。

(2)检查系统口令是否有复杂度和定期更换的要求。可在“本地组策略编辑器”中依次打开“计算机配置”→“Windows设置”→“安全设置”→“账户策略”→“密码策略”,查看被测主机操作系统的密码复杂性要求、密码长度最小值和密码最长使用期限等设置情况。

(3)检查系统是否启用了登录失败处理功能。可进入“本地组策略编辑器”,依次打开“计算机配置”→“Windows设置”→“安全设置”→“账户策略”→“账户锁定策略”,查看被测主机操作系统的账户锁定阈值和账户锁定时间。

(4)检查远程管理是否具备防窃听措施。对于采用了远程管理的操作系统,可打开“控制面板”,依次进入“管理工具”→“远程桌面服务”→“远程桌面会话主机配置”→“RDP-TCP属性”→“常规”,查看“安全层”是否选择了SSL。

(5)检查用户名是否具有唯一性,是否存在过期或多余的用户名。可进入DOS命令提示符,输入“lusrmgr.msc”并按“回车”,单击“用户”,查看其中的用户名是否具有唯一性,并查看是否存在过期或多余的用户名。

(6)检查是否采用了2种或以上组合的鉴别技术对管理用户进行身份鉴别。以远程方式登录主要服务器操作系统,查看身份鉴别是否采用2个或以上身份鉴别技术的组合来进行身份鉴别。通过本地控制台管理主机设备操作系统,查看是否采用2种或以上身份鉴别技术。结合访谈和文档查阅的结果进行综合判定。

(7)测试用户口令是否易被破解。使用fgdump工具提取服务器的SAM文件,使用John the Ripper(Windows版)尝试破解登录口令,尝试用破解出的口令登录服务器。

(8)测试系统是否存在认证方式可被绕过的漏洞。使用nc监听端口,利用ms06040rpc.exe漏洞溢出工具对目标主机进行溢出攻击,查看nc界面确认溢出是否成功获得操作系统的控制权限。

2、访问控制机制测评

(1)检查是否启用了访问控制功能。访谈系统管理员,了解操作系统是否配置了操作系统的安全策略;进入“控制面板”→“管理工具”→“服务”,查看“远程桌面服务”是否关闭;检查Administrators组中的用户,查看是否有普通用户、应用账户等非管理员账户属于管理员组;检查重要文件夹的用户访问权限,查看系统是否对重要文件的访问权限进行了限制,特别是users组和Administrator组对重要是否对重要文件的访问权限进行了限制,特别是users组和Administrator组对重要文件夹访问权限的区别(访问权限分为完全控制、修改、读取和运行、读取、写入等);使用DOS命令行模式下的“net share”,检查是否存在默认共享文件,包括所有的逻辑盘(C$,D$,E$…)、系统目录Windows(admin$)以及命名管道资源(IPC$);使用注册表编辑器,依次打开“HKEY_LOCAL_MACHINE”→“SYSTEM”→“Current Control Set”→“Control”→“Lsa”,查看“restrictanonymous”的值是否为1,以检查共享是否开启。

(2)检查是否为不同的用户指派不同的权限,并实现管理用户的权限分离和最小权限原则。进入“控制面板”→“管理工具”→“本地安全策略”→“安全设置”→“本地策略”→“用户权限分配”,查看“安全设置”一栏中是否设置了不同的用户。

(3)检查是否严格限制了默认账户的访问权限,重命名系统默认账户并修改默认口令。进入“控制面板”→“管理工具”→“计算机管理”→“系统工具”→“本地用户和组”→“用户”,右击“Guest”选择“属性”,检查操作系统中匿名/默认用户的访问权限是否已被禁用或者严格限制;进入“控制面板”→“管理工具”→“计算机管理”→“系统工具”→“本地用户和组”→“用户”,检查默认用户名Administrator是否重命名。

(4)检查是否对重要信息资源设置了敏感标记及标记方法。主要通过访谈和文档查阅的方式。

(5)检查是否依据安全策略严格控制用户对有敏感标记重要信息资源的操作。主要通过访谈和文档查阅的方式,检查是否对敏感标记进行策略设置,是否对敏感标记进行分类,是否对敏感标记设定了访问权限。

(6)检查是否存在不必要的服务。可使用端口扫描工具对操作系统进行扫描或使用telnet等命令来探测主机是否开放了不必要的服务,如Web、FTP等。

(7)检查所有进出操作系统的网络访问是否得到了有效控制。可使用“ipconfig”命令查看网卡配置,使用“route print”命令查看路由配置,以判断操作系统在网络中的访问路径。

3、安全审计机制测评

(1)检查是否启用了安全审计功能以及审计覆盖范围。在 DOS 命令提示符下输入secpol.msc,依次进入“安全设置”→“本地策略”→“审核策略”,查看审核策略的安全设置是否设置为“成功,失败”,以覆盖各类重要安全事件。

(2)检查审计日志配置是否符合安全要求。依次进入“控制面板”→“管理工具”→“服务器管理器”→“诊断”→“事件查看器”→“Windows日志”,右击“安全”选择“属性”,查看审计日志的存储路径、日志最大大小、日志覆盖策略等信息。

(3)检查事件记录的内容,判断审计内容是否包括事件的日期、时间、类型、主客体标识、结果等信息。依次进入“控制面板”→“管理工具”→“服务器管理器”→“诊断”→“事件查看器”,查看事件记录的具体内容。

(4)检查是否为授权用户提供了浏览和分析审计记录的功能,是否可以根据需要自动生成不同格式的审计报表。通过访谈、文档查阅,结合Windows系统服务器管理器中的事件查看器,判断系统是否具备上述功能,或提供了相应的审计工具。

(5)检查是否对审计进程进行了保护,避免受到未预期的中断。通过访谈和文档查阅,检查主要服务器操作系统、重要终端操作系统是否可通过非审计员的其他账户试图中断审计进程,判断检查审计进程是否受到保护以及是否有相应的审计保护工具。

(6)检查是否对审计记录进行了保护,避免受到未预期的删除、修改或覆盖。通过访谈和文档查阅,检查是否有对审计记录的存储、备份和保护的措施,检查是否有日志服务器。以普通账号登录操作系统,执行删除系统审计记录的操作,查看系统是否显示日志无法删除,表明审计记录受到保护。

4、剩余信息保护机制测评

(1)检查系统用户鉴别信息所在的存储空间(包括硬盘和内存),被释放或再分配给其他用户前是否得到了完全清除。打开“本地安全策略”→“安全设置”→“本地策略”→“安全选项”,查看“不显示最后的用户名”是否已启用,结合针对系统管理员的访谈结果进行判断。

(2)检查系统内的文件、目录和数据库记录等资源所在的存储空间,被释放或重新分配给其他用户前是否得到了完全清除。通过访谈和文档查阅,检查主要操作系统维护操作手册中是否明确文件、目录和数据库记录等资源所在的存储空间被释放或重新分配给其他用户前的处理方法和过程;打开“本地安全策略”→“安全设置”→“本地策略”→“安全选项”,查看“关机清除虚拟内存页面文件”是否已启用;打开“本地安全策略”→“安全设置”→“账户策略”→“密码策略”,查看“用可还原的加密来存储密码”选项是否已启用。

5、入侵防范机制测评

(1)检查系统是否能够检测到严重的入侵行为,是否能够记录入侵的源 IP、攻击类型、攻击目标、攻击时间,并在发生严重入侵事件时提供报警。具体包括系统是否采取了入侵防范措施,是否安装了主机入侵检测软件或第三方入侵检测系统,是否有入侵检测记录,系统管理员是否经常查看日志。

(2)检查系统是否能够对重要程序的完整性进行检测,并在检测到完整性受到破坏后具有恢复的措施。通过访谈和文档查阅的方式,检查系统是否提供对重要程序的完整性进行检测,是否使用了文件完整性检查工具对重要文件的完整性进行检查,是否对重要的配置文件进行了备份。

(3)检查操作系统是否遵循了最小安装原则。进入“控制面板”→“所有控制面板项”→“管理工具”→“服务”,检查系统已安装的服务,结合访谈和文档查阅的方式,判断系统是否仅安装了必要的组件和应用程序,是否启动了不必要的服务,如 Alerter、Remote Registry Service、Messenger等。

(4)检查系统是否设置了升级服务器保证及时更新补丁。进入“控制面板”→“卸载程序”→“查看已安装的更新”,查看所安装的补丁名称、安装时间等信息,判断操作系统补丁是否及时安装,结合访谈和文档查阅方式,检查是否设置了专门的升级服务器,实现对操作系统补丁的升级,如WSUS服务器。

(5)检查是否开启了不必要的端口。在命令提示符下输入“netstat -an”查看本机各端口的网络连接情况,查看是否存在处于“LISTENING”状态的端口,关闭其中不必要的服务。

(6)测试系统是否能及时检测到攻击行为。使用扫描工具对目标主机进行扫描攻击,查看入侵防范系统是否及时报警并记录攻击信息。

6、恶意代码防范机制测评

(1)检查是否安装防恶意代码软件,并及时更新软件版本和恶意代码库。查看任务栏和隐藏的图标,查看防病毒软件是否处于开启状态,结合访谈和文档查阅方式,判断系统是否采取恶意代码实时检测与查杀措施,并检查病毒库的更新方法。

(2)检查主机防恶意代码产品是否具有与网络防恶意代码产品不同的恶意代码库。通过访谈和文档查阅方式,检查两者恶意代码库的区别。

(3)检查是否支持防恶意代码的统一管理。通过访谈和文档查阅方式,检查防恶意代码产品是否具有统一的管理平台,是否采用了统一的病毒更新策略和病毒查杀策略。

7、资源控制机制测评

(1)检查是否通过设定终端接入方式、网络地址范围等条件限制终端登录。打开“控制面板”→“查看网络状态和任务”→“本地连接”→“属性”→“Internet协议版本4”并单击“属性”→“高级”→“选项”→“TCP/IP筛选”查看是否对端口进行了限制;打开“开始”→“管理工具”→“本地安全策略”→“IP安全策略”,查看是否使用了IP安全策略来实现对远程访问的地址限制;打开“开始”→“管理工具”→“高级安全Windows防火墙”,查看防火墙策略配置,判断内置防火墙是否能够对出站、入站通信进行双向过滤;结合访谈和文档查阅,判断系统是否设定了终端接入方式、网络地址范围等条件限制终端登录,是否有硬件防火墙限制终端接入、网络地址范围等。

(2)检查是否根据安全策略设置了登录终端的操作超时锁定。进入“控制面板”→“显示”→“更改屏幕保护程序”,查看“在恢复时显示登录屏幕”是否已勾选以及等待时间的设置情况,判断系统是否设置了屏幕锁定;在DOS命令行模式下输入“gpedit.msc”打开“组策略”,进入“计算机配置”→“管理模板”→“Windows 组件”→“远程桌面服务”→“远程桌面会话主机”→“会话时间限制”,查看是否设置了达到时间限制时终止会话;同时按下“Ctrl+Alt+Delete”键,打开“Windows任务管理器”→“性能”→“资源监视器”,查看系统是否资源进行了监视,包括主机的CPU、硬盘、内存、网络等资源的使用情况;结合访谈和文档查阅,检查系统管理员是否经常查看“系统资源监控器”,是否有相关工具实现登录终端的操作超时锁定要求。

(3)检查是否限制单个用户对系统资源的最大或最小使用限度。通过访谈和文档查阅,检查是否通过安全策略设置了单个用户对系统资源的最大或最小使用限度;打开“计算机”,右击要为其启用磁盘配额的磁盘分区,“属性”→“配额”→“配额项”,查看系统是否设置了用户对磁盘的使用配额。

(4)检查是否使用了第三方软件来监控操作系统资源使用情况,并能够在操作系统资源使用异常时提供报警。

(二)Windows终端操作系统的测评实施

Windows终端与Windows服务器的测评内容相类似,但由于终端不直接对外提供网络服务,因此面临的安全威胁也相对较少。此处,以Windows 7为例,说明如何实施针对Windows终端操作系统的安全测评。其他版本的Windows操作系统与其类似。

1、身份鉴别机制测评

(1)通过“开始”→“控制面板”→“管理工具”→“本地安全策略”→“账户策略”→“密码策略”检查密码策略配置情况,包括密码符合复杂性要求、密码长度要求、密码使用期限、密码加密存储等。

(2)通过“开始”→“控制面板”→“管理工具”→“本地安全策略”→“账户策略”→“账户锁定策略”检查账户锁定策略配置情况,包括账户锁定时间、账户锁定阈值、账户重置时间等。

(3)检查是否重命名Administrator账户和禁用Guest账户。通过“开始”→“控制面板”→“管理工具”→“计算机管理”→“本地用户和组”→“用户”进行查看。

2、访问控制机制测评

(1)检查是否存在多余账户,账户权限分配是否合理。查看操作系统中存在哪些可登录账户,询问各账户用途,判断是否存在多余账户。选择各在用账户,右击查看账户属性,看账户隶属于哪些组,根据账户用途判断所赋予权限是否合理。

(2)对重要系统文件和数据文件权限的查看、默认共享配置的查看、“用户权限分配”和“安全选项”的查看、网卡和路由配置查看等方法与Windows服务器操作系统相同,在测评过程中需要逐一关注。

3、安全审计机制测评

(1)检查操作系统审计策略配置情况。通过“开始”→“控制面板”→“管理工具”→“本地安全策略”→“本地策略”→“审核策略”,查看操作系统审计策略配置是否齐全,具体内容与Windows服务器相同。

(2)检查系统审计日志。通过“开始”→“控制面板”→“管理工具”→“计算机管理”→“事件查看器”→“Windows 日志”,查看安全管理员是否定期对各类日志进行查看和分析;日志可追溯的时间范围是否达到安全策略要求,通过定期备份日志等方式防止日志可追溯时间不足和未预期删除日志等事件发生,具体内容与Windows服务器相同。

4、资源控制机制测评

检查系统是否设置了需输入密码的屏幕保护程序。通过在桌面空白处右击,选择“个性化”→“屏幕保护程序”,查看是否勾选了“在恢复时显示登录屏幕”及设定的等待时间。

(三)Linux操作系统的测评实施

此处以Cent OS、Redhat Linux和中标麒麟等典型的Linux操作系统为例,说明如何实施主机安全测评。其他版本的Linux操作系统与其类似。

此处仍然依据等级保护三级信息系统的主机安全要求,其他等级系统中的主机可根据对应级别的基本要求,参照此内容进行调整,以满足自身的安全测评需求。

1、身份鉴别机制测评

(1)检查是否存在空口令的账户。使用“cat”命令打开“ /etc/shadow”文件,查看各个可登录用户的口令字段是否为空,谨防账户设置空密码。

(2)检查是否设置了口令长度和有效期要求。访谈系统管理员,询问是否对操作系统用户登录的口令设置一定的复杂度,口令应包含大小写字母、数字和特殊字符,长度8位以上;使用“cat”命令查看“/etc/login.defs”文件,检查PASS_MIN_LEN变量的设置情况,确认口令最小长度是否符合安全要求;检查“login.defs”文件中 PASS_MAX_DAYS 变量和PASS_MIN_DAYS变量的设置情况,确认是否符合口令有效期要求。

(3)检查是否设置登录超时注销功能。使用“cat”命令查看“/etc/profile”文件(cat/etc/profile |grep TMOUT),检查是否对TMOUT变量进行设置,如果命令的输出结果为空,表明系统没有设置登录超时注销功能。

(4)检查是否设置登录失败锁定策略。使用“cat”命令查看“/etc/pam.d/system-auth”文件,检查是否设置了“auth required”,并配置了deny和unlock_time参数,用于防止非法访问者对账户信息进行暴力破解尝试。

(5)检查是否有其他用户拥有root权限。使用“cat”命令查看“/etc/passwd”文件,命令格式如下图所示。从下图可以看出执行结果只有root用户,表明只有root用户具有root权限,符合安全要求。

检查具有root权限的用户情况

(6)检查系统是否提供了不安全的登录方式,例如telnet,rlogin等。这些登录方式在传输用户名和口令时未进行加密,用户鉴别信息有可能被恶意人员截获,可使用“service--status-all|grep running”命令查看在运行的服务中有无telnet和rlogin服务。

2、访问控制机制测评

(1)检查是否运行了不必要的系统服务。使用“chkconfig”命令输出系统所有服务,筛选出处于开启状态的服务,查看是否存在不必要的系统服务如bluetooth、cups、isdn等。

(2)检查是否使用了ssh代替telnet进行远程管理。使用“ps”命令输出所有进程的运行状态,筛选出sshd进程的信息,查看sshd进程是否分配了PID,以确认sshd服务进程正在运行。

(3)检查是否存在所有用户都可写的目录,命令格式如下图所示。从下图中可以看出存在所有系统用户都可写的目录。

检查是否存在所有用户都可写的目录

(4)检查匿名/默认用户的访问权限是否已被禁用或者严格限制。Linux操作系统中存在很多默认账户,如bin、daemon、adm、lp、mail、ftp等,这些账户默认是不能直接登录系统的,可使用“cat”命令查看“/etc/passwd”文件,查看每个匿名/默认用户的最后一个字段值是否设置为/sbin/nologin,或使用cat命令查看“/etc/shadow”文件,查看默认账户的密码字段是否为*、!!或!。

(5)检查是否合理设置了重要文件的读写权限。可使用“ls-l”命令查看重要系统文件的访问权限,包括/etc目录下的shadow、passwd、profile、hosts.deny、hosts.allow、syslog.conf、services等,/etc/ssh/目录下的sshd_config,/etc/audit目录下的auditd.conf、audit.rules,/var/log目录下的各日志文件等。

(6)检查是否禁止root账户远程登录。由于默认root账户具有所有权限,一旦被恶意攻击者掌握,后果将不堪设想,因此建议禁止root账户直接远程登录,通过设置专用登录账户,然后使用“su root”命令切换至root账户的方法进行远程管理。该设置位于“/etc/ssh/ssd_config”文件中,检查文件中Permit Root Login参数是否设置为“no”,并将注释符“#”去除。

3、安全审计机制测评

(1)检查系统是否运行了审计相关的服务进程syslogd和auditd。使用“service”命令查看系统中正在运行的服务,查看syslogd和auditd是否分配了PID,并确认2个进程正在运行中。

(2)检查审计策略是否合理设置。审计策略配置情况需要查看配置文件,其中,“syslog”日志配置位于“/etc/rsyslog.conf”文件中,audit审计策略配置位于“etc/audit/audit.rules”文件中。

(3)检查是否设置了日志文件的访问权限。使用“ls-l”命令显示“/var/log/syslog”文件的详细信息,查看是否只有管理账户root对syslog日志文件有读写权,其他账户对该文件没有任何权限;可使用系统中其他用户身份尝试读取syslog日志文件,查看是否被禁止访问。

(4)检查系统日志的存放位置。日志文件默认存放在/var/log目录下,使用ls命令查看该目录下的所有日志文件。

(5)检查审计子系统是否正常工作。在系统上以某个用户试图产生一些重要的安全相关事件(如鉴别失败等),检查安全审计的覆盖情况和记录情况与要求是否一致。

(6)检查审计记录的保护措施是否有效。在系统上以某个系统用户试图删除、修改或覆盖审计记录,检查安全审计的保护情况与要求是否一致。

4、剩余信息保护机制测评

(1)检查用户目录下的登录历史文件是否有异常操作记录。查看“.bash_history”文件,检查该文件中是否存在“sudo su root”这样的命令,如果有,则表明普通用户使用“su”命令进行过用户身份切换。

(2)检查错误的提示信息是否会泄露系统信息。使用错误的口令尝试登录系统,查看系统给出的错误提示信息中是否包含了账户或系统的敏感信息从而导致信息泄露。

5、入侵防范机制测评

(1)检查所安装的系统组件和应用程序是否必须,多余服务是否已禁用。使用“chkconfig”指令显示系统的各种服务,并终止不必要的服务,如chargen-dgram、chargen-stream、cvs、daytime-dgram、daytime-stream等。

(2)检查系统补丁是否及时更新。使用“rpm-aq”命令查看系统中所有已安装的软件包,检查是否存在未及时更新的部分。

6、恶意代码防范机制测评

针对Linux操作系统的恶意代码防范机制,测评内容与Windows服务器操作系统的内容相同。

7、资源控制机制测评

(1)检查是否限制了服务器的访问地址。使用“cat”命令查看操作系统的相关配置文件,包括/etc/hosts.allow和/etc/hosts.deny,查看是否有允许访问或禁止访问的主机地址。

(2)检查系统的防火墙配置策略是否合理。防火墙安全配置中可以根据协议、端口和 IP地址等进行访问限制,并可以对ICMP协议包进行过滤,可使用“iptables -L”命令查看Linux系统内置的iptables防火墙的策略配置情况。

(3)检查是否对CPU、内存、硬盘等资源的访问进行了合理限制。使用“ulimit -a”指令显示当前对各种资源的使用限制信息。在测试中也可以检查是否部署了专用的资源监控软件,以实时监控主机资源使用情况,查看监控软件管理控制台是否能够对主机的CPU、硬盘、内存、网络等使用情况进行实时显示,能否设置各类资源使用情况的报警阈值,在主机资源使用异常时进行报警。

(4)检查是否设置了超时锁定机制。使用“cat”命令查看“/etc/profile”文件中是否对TMOUT变量进行了设置,确认超时锁定的时间是否合理。

(四)Mac OS X系统的测评实施

1、身份鉴别机制测评

(1)检查是否设置了登录密码。打开“系统偏好设置”,选择“个人”→“安全性与隐私”,查看是否勾选了“已经给此用户设定登录密码”以及“停用自动登录”选项。

(2)检测密码强度。在Mac OS X操作系统中,不强制为账户设置复杂密码,但可以通过检测得知所设密码的安全程度。在“系统偏好设置”→“系统”→“用户与群组”中为账户更改密码时,单击新密码右侧的钥匙图标(即密码助理),检查当前所设密码的安全程度及建议。

(3)检查是否设置了屏幕锁定。打开“应用程序”→“实用工具”→“钥匙串访问”,点击选择菜单中的“偏好设置”→“通用”,查看是否勾选“在菜单栏中显示状态”选项,此时在桌面边栏中即可出现小锁图标,单击小锁图标,选择“锁定屏幕”即可实现锁屏。

(4)检查是否设置了屏幕保护后的使用限制。打开“系统偏好设置”,选择“个人”→“安全性与隐私”,查看是否勾选了“进入睡眠或开始屏幕保护程序后要求输入密码”,并确认所设置的启动时间是否合适。

(5)检查是否禁用root账户。默认情况下,Mac OS X操作系统的超级账户——root处于禁用状态,若无必要不建议将其启用。

2、访问控制机制测评

(1)检查系统中是否存在无用的账户,是否存在多人共用账户的情况。选择“系统偏好设置”→“系统”→“用户与群组”,查看系统中已设置的账户。Mac OS X操作系统中除拥有超级管理权的账户root外,其他账户类型分为“管理员”、“普通”、“仅限共享”、“客人用户”等。其中,“管理员”账户可以创建、删除和修改账户、安装软件、更改系统设置,以及更改其他用户的设置。测评过程中,需要关注可用账户的类型,并询问管理员每个账户的用途,从而判断账户授权情况是否合理,应仅授予每个用户工作所需最小权限,以免越权访问。

(2)检查是否使用了File Vault加密个人文件夹中的文件。File Vault为个人文件夹创建独立的宗卷并采用128位密钥的算法(AES-128)加密其内容。因此,当终端上保存有敏感信息时,应考虑开启File Vault。选择“系统偏好设置”→“个人”→“安全性与隐私”→“File Vault”,查看相关的配置情况。

(3)检查是否开启了系统自带的防火墙功能,防止来自互联网或其他网络的不必要的访问,实现仅允许外部连接终端中指定的应用程序和服务。防火墙的设置位置:“系统偏好设置”→“个人”→“安全性与隐私”→“防火墙”。

(4)检查系统开启的共享。Mac OS X操作系统的共享设置位于:“系统偏好设置”→“Internet与无线”→“共享”中,包含“文件共享”“打印机共享”“远程登录”“远程管理”等。测评过程中需要查看被测终端开启了哪类共享,询问开启用途,避免开启不必要共享给系统带来的风险。

3、安全审计机制测评

检查系统记录的日志类型和日志文件内容。Mac OS X操作系统默认能够记录“电源管理日志”“诊断信息”“打印机访问日志”“应用程序防火墙日志”“文件系统修复日志”“内核日志”“系统事件日志”等。通过“应用程序”→“实用工具”→“控制台”可查看日志内容。测评时应询问管理员对日志的查看和分析情况。

(五)iOS系统的测评实施

1、身份鉴别机制测评

(1)检查密码设置情况。单击“工具”→“设置”→“密码”,进入“密码锁定”界面,单击“打开密码”,进入“设置密码”界面,设置4位数字密码。在测评时需要查看在“密码锁定”界面中是否关闭“简单密码”,设置由数字和字母组成的密码;在“密码锁定”界面中单击“更改密码”可修改密码,在测评时查看修改密码前是否需输入旧密码,且修改后的密码不能与旧密码一致。

(2)检查是否设置自动锁定。单击“工具”→“设置”→“通用”→“自动锁定”,进入“自动锁定”界面,查看是否设置操作空闲等待时间。超过该设置时间,当前会话中断,要求用户重新输入密码方可进入系统管理界面。

(3)检查是否启用登录失败处理。在“密码锁定”界面中查看是否开启“抹掉数据”选项,在连续10次输入错误密码后,将抹掉此系统中所有数据,且所有设置都会被还原。

2、访问控制机制测评

(1)检查系统对应用程序的安装、使用、删除等操作的权限设置。单击“设置”→“通用”→“访问限制”,进入“访问限制”界面,查看是否启用“访问限制”功能,进入“设置密码”界面,输入访问限制的密码后,可选择允许或拒绝某些程序、内容、参数配置行为等。在“访问限制”界面中点击“停用访问限制”,进入“关闭密码”界面,输入访问限制的密码,可停用访问限制功能。

(2)检查隐私保护功能是否启用。隐私保护功能用于控制哪些应用程序可以访问定位服务、通信录、日历、提醒事项和照片等。单击“设置”→“隐私”→“定位服务”,进入“定位服务”界面,可设置阻止某些或所有应用程序和服务来使用“定位服务”;单击“设置”→“隐私”,进入“隐私”界面,可以设置阻止应用程序和功能对通信录、日历、提醒事项、照片、蓝牙共享等信息的访问。在系统测评过程中应检查系统是否根据业务情况设置了访问控制策略,仅授予各应用程序和功能所需的最小访问权限。

3、恶意代码防范机制测评

由于iOS平台对应用软件的严格审核机制,目前,针对iOS系统的恶意软件数量较少,但是随着iOS智能移动终端的流行,应关注iOS系统上的恶意代码防范技术的发展。WireLurker是历史上第一个能在未越狱iOS设备上安装第三方软件的恶意软件。Wire Lurkerer能够收集各种用户信息,包括联络人和iMessages,并且能向黑客发送升级请求。在系统测评过程中可检查iOS系统是否安装并启用了防恶意代码软件。

(六)Android系统的测评实施

1、身份鉴别机制测评

Android系统可设置为需成功解锁设备后方可登录系统,也可以通过启动屏幕锁定功能来锁定设备,单击“设定”→“锁定屏幕”→“屏幕锁定”,系统测评过程中,查看“选择屏幕锁”界面中是否设置了通过面部解锁、密码、PIN码、图案等方式解锁设备。Android系统也可使用SIM或USIM卡提供的PIN码来锁定设备,单击“设定”→“安全”→“设置SIM卡锁”→“锁定SIM卡”,输入PIN码并选择确定。如果启动SIM或USIM卡锁,必须在每次开机或进入需要PIN码的应用程序时输入PIN码。测评中还应检查登录过程中是否需要解锁设备进行登录验证。

2、访问控制机制测评

Android系统可设置密码以加密保存在设备上的数据,每次开机时必须输入密码解密数据。单击“设定”→“安全”,在安全界面中单击“加密设备”,可对设备数据进行加密。测评中应访谈管理员系统是否有加密设备数据的需求,如需要,则检查系统是否设置了上述加密设备选项。

3、恶意代码防范机制测评

Android 系统由于其开放性,存在软件安全方面的问题,用户很难辨别下载的软件是否为恶意的病毒程序,一旦用户手机不小心安装了恶意程序,就会面临着个人隐私被泄露、手机系统遭破环等风险,Android 系统可安装防病毒软件查杀已知的病毒。测评中应检查系统是否安装了相应的防病毒软件。

(七)Oracle系统的测评实施

数据库管理系统的安全保护策略实现了对数据库管理系统本身和数据库中数据的有效保护。安全测评中对数据库管理系统的现场检查主要集中在身份鉴别、访问控制、安全审计、入侵防范和备份恢复等方面。

1、身份鉴别机制测评

Oracle系统在身份管理方面可能存在的问题主要包括部分用户权限过大、不用用户数据信息保密性差、存在默认账户和口令等。针对Oracle系统身份鉴别机制的测评工作主要有以下方面。

(1)通过访谈,询问是否设置有专门的安全管理员和数据库管理员。

(2)通过与管理员的访谈,询问是否为应用程序设置单独的数据库账户,询问数据库的身份标识与鉴别机制采取何种措施实现,目前系统提供了哪些身份鉴别措施和鉴别失败处理措施。

(3)检查是否存在空口令用户。使用SQL语句执行查询命令,结果如下图所示,可以看出有3个用户的口令为空,存在安全隐患。

检查是否存在空口令用户

(4)检查数据库系统口令策略的配置情况。进入$ORACLE_HOME/RDBMS/ADMIN目录下查看“utlpwdmg”文件,确认口令最长使用期限、尝试口令次数限制等参数设置是否合理。

(5)检查具有管理权限的用户名单和拥有DBA角色的用户,确认这些用户是否符合系统安全策略。

(6)查看public角色的权限。创建test用户,然后赋予该用户public角色权限,然后登录test并查看test用户的所有权限,确认是否符合系统安全策略。

(7)检查数据库中是否存在无用的、测试的、废弃的、多余的账户。

2、访问控制机制测评

Oracle系统使用监听器保证客户终端和服务器端的连接,监听器是Oracle基于服务器端的一种网络服务,主要监听客户端向服务器端提出的连接请求。Oracle监听器存在安全问题,如果不设置一定的安全措施,远程访问用户将可能关闭监听器。许多Oracle系统都存在监听器安全配置问题,尤其是一些监听器根本没有设置口令。另外,Oracle系统中一些网络参数的调整将影响网络层的性能。网络参数调整涉及的文件包括如sqlnet.ora中的automatic_ipc参数、protocol.ora文件中的tcp.nodelay参数等。针对Oracle访问控制机制的测评工作主要有如下4个方面。

(1)检查是否对外屏蔽了数据库监听端口。通过在DOS命令下输入“netstat -an”查看哪些端口处于开启状态,检查Oracle的默认端口1521是否处于“LISTENING”状态,是,则表明服务器主机没有对外屏蔽Oracle的监听端口。

(2)检查是否为远程客户端登录进行角色分配。在 SQL Plus 中执行 show parameter remote_os_roles,如果显示VALUE值为“FALSE”,表明没有为远程客户端登录进行角色分配。

(3)检查是否对远程连接访问进行了认证及加密。查看“sqlnet.ora”文件,以确认是否进行了远程连接的认证及加密设置。

(4)检查是否存在监听器的安全问题。尝试使用空口令或弱口令连接监听器,验证系统是否存在上述问题。

3、安全审计机制测评

Oracle的审计功能为数据库管理员提供了记录和监视数据活动的功能,一般用于对重要的数据库活动进行监视,收集特定的对数据库进行操作的信息。针对Oracle安全审计机制的测评工作主要有以下4个方面。

(1)访谈数据库管理员,询问数据库审计数据的备份策略及采取的相关安全措施。

(2)检查审计功能是否开启。指令执行结果示意如下图所示。从下图中可以看出“audit_trail”的值为“DB”,表明审计功能已经开启,如为“TRUE”同样代表审计功能已经开启。审计文件存放在D:APPLSADMINORCLADUMP文件夹下。

检查审计功能是否开启

(3)检查安全审计的覆盖范围,包括是否对所有用户登录数据库的行为都进行了审计,哪些用户或角色拥有审计表的操作权限,是否对相关安全属性值的更改及撤销操作进行了审计。

(4)验证安全审计机制的效果。使用不同的用户登录数据库系统并进行不同的操作,查看审计记录是否满足要求。

4、入侵防范机制测评

Oracle数据库入侵防范方面的测评主要集中在检查数据库版本、安装配置情况等方面,其中,部分内容涉及对数据库系统资源的限制和数据库字典的保护,都是为了实现有效防范入侵,因此将其统一归为入侵防范机制。具体的测评工作有以下7个方面。

(1)访谈数据库管理员,询问数据库系统补丁安装或版本升级情况。

(2)检查数据库管理系统的版本。SQL语句执行结果示意如下图所示,可以看出当前Oracle为11.2.0.1.0 企业版。

检查系统版本

(3)检查是否安装了最新的数据库补丁。执行“opatch”命令,查询当前OPatch版本,与Oracle网站公布的最新OPatch版本进行对比。

(4)检查程序文件存放路径的访问权限,确认仅Oracle用户对程序文件拥有所有权限。

(5)检查Oracle安装路径,确认没有安装在系统分区上。

(6)检查数据库数据文件的存放路径及访问路径,确认都存放在 ORADATAORCL目录下,并且仅Oracle用户对数据文件有读写权限。

(7)其他入侵防范机制的检查,包括:检查是否开启了对系统资源的限制,是否为归档模式,是否对数据库字典进行保护。

5、备份恢复机制测评

相比操作系统和虚拟化软件等系统软件,数据库管理系统对于备份恢复机制的要求更为严格。针对Oracle数据库系统应至少提供一份本地完全数据备份,备份介质要场外存放,对重要的数据更应该能提供异地数据备份功能,并利用通信网络技术将关键数据定时批量的传输到备用场地。针对备份恢复机制的测评工作主要有以下4个方面。

(1)访谈数据库管理员,询问现有的备份/恢复策略、备份方法、备份情况和应急方案。

(2)访谈数据库管理员,询问数据库当前的容灾能力情况,如是否具有UPS电源、双机热备、集群机制、均衡负载等。

(3)检查备份数据的安全性是否能得到保证。如是否为本地备份、本地保存的冷/热备份,还是本地热站备份或异地活动互援备份方式。

(4)检查数据库服务器的物理安全情况,备份机也应该具有同样的物理安全措施。

(八)SQL Server系统的测评实施

1、身份鉴别机制测评

针对SQL Server数据库管理系统的身份鉴别机制,安全测评工作主要有以下6个方面。

(1)通过访谈,询问是否设置有专门的安全管理员和数据库管理员。

(2)通过与管理员的访谈,询问是否为应用程序设置了单独的账户。

(3)通过与管理员的访谈,询问是否在安装SQL Server数据库时为sa设置了复杂口令。

(4)访谈数据库管理员,询问数据库的身份标识与鉴别机制采取何种措施实现,目前,系统提供了哪些身份鉴别措施和鉴别失败处理措施。

(5)检查是否存在禁用的guest账号。

(6)检查用户口令设置情况,如下图所示,确认是否存在空口令的用户。

检查用户口令设置情况

2、访问控制机制测评

SQL Server数据库在访问控制方面的测评内容主要涉及数据库终端非授权访问、不必要服务、默认端口等方面。测评工作主要有以下5个方面。

(1)访谈管理员,询问终端访问是否设置了超时锁定功能,如果超过时限则数据库自动断开连接,此项措施用于防止数据库终端的非授权访问。

(2)检查SQL邮件功能是否启用。单击“管理”→“SQL Server日志”→“数据库邮件”,查看“数据库邮件配置向导”是否弹出“是否要启用此功能”对话框。

(3)检查SQL Server使用的网络协议。单击“开始”→“所有程序”→“Microsoft SQL Server 2012”→“配置工具”→“SQL Server 配置管理器”→“SQL Server 网络配置”→“MSSQLSERVER的协议”,确认SQLServer使用的网络协议为TCP/IP。

(4)检查是否启用了强制协议加密。单击“开始”→“所有程序”→“Microsoft SQL Server 2012”→“配置工具”→“SQL Server 配置管理器”→“SQL Server 网络配置”→右击“MSSQLSERVER的协议”选择“属性”,查看“强行加密”后面的字段是否为“是”。

(5)测试强制协议加密是否生效。通过使用网络抓包工具进行数据分组分析,检查口令或账号等敏感信息是否存在明文传输情况。

3、安全审计机制测评

SQL Server数据库在安全审计方面的测评内容主要涉及系统的审计级别设置、日志记录情况、日志目录和日志文件的访问权限设置等方面。测评工作主要有以下2个方面。

(1)访谈管理员,询问数据库审计数据的备份策略及采取的相关安全措施。

(2)检查登录审核设置及审计级别。右击“**-PC”,选择“属性”,单击“安全性”,从下图中可以看出本数据库仅对失败的登录做记录,“启用C2审核跟踪”选项已被勾选,表明审计级别为二级。

检查登录审核设置及审计级别

(3)验证安全审计机制的效果。使用不同的用户登录数据库系统并进行不同的操作,查看审计记录是否满足要求。

4、入侵防范机制测评

SQL Server数据库在入侵防范方面的测评内容主要涉及主机系统及补丁安装情况、数据库版本、不必要的存储过程等方面,测评工作主要包括以下3个方面。

(1)访谈数据库管理员,询问数据库系统补丁安装或版本升级情况。

(2)检查数据库版本,并与官方网站的最新版本进行对比。

(3)检查是否存在不必要的存储过程。

5、备份恢复机制测评

针对SQL Server系统备份恢复机制的测评工作与Oracle系统类似。

(九)虚拟化软件的测评实施

针对虚拟化软件的测评实施工作主要针对身份鉴别机制、访问控制机制、入侵防范机制、资源控制机制4个方面。

1、身份鉴别机制测评

虚拟化软件的root用户具有最大权限,虚拟化软件直接控制虚拟机,因此良好的身份鉴别机制对保证虚拟机的安全有很大的帮助。虚拟化软件身份鉴别机制的测评工作主要以下2个方面。

(1)检查用户/组的权限配置,检查 root 及普通用户权限是否采用最小授权原则。登录v Sphere,单击“权限”选项卡,显示所有用户的名称及权限,查看是否有多个管理员权限的用户,从而违背了最小授权原则。

(2)检查虚拟化软件用户账户身份鉴别信息,包括用户口令长度、复杂度、更新周期等。有效密码应该包含尽可能多的字符种类的组合。字符种类包括小写字母、大写字母、数字和特殊字符。可打开ESXi账户策略配置文件(默认保存路径为/etc/pam.d/passwd),查看以下参数的设置情况。

1)retry=3:用户有3次机会输入合格的密码。

2)N=8:包含一类字符的密码的长度必须至少为8个字符。

3)N1=8:包含两类字符的密码的长度必须至少为8个字符。

4)N2=8:密码短语包含的每个单词的长度必须至少为8个字符。

5)N3=7:包含三类字符的密码的长度必须至少为7个字符。

6)N4=6:包含全部四类字符的密码的长度必须至少为6个字符。

2、访问控制机制测评

虚拟化软件的访问控制可以有效防止非法主体访问受保护的资源,或防止合法用户对受保护的资源进行非授权的访问。测评工作主要有以下4个方面。

(1)检查管理员用户是否禁用SSH服务,并禁用所有用户的授权(SSH)密钥。查看SSH配置文件(缺省路径/etc/ssh/keys-root/authorized_keys),验证其是否为空且未将任何SSH密钥添加到该文件中。

(2)检查是否设置Shell可用性超时及会话超时。在v Sphere client中选择目标主机,单击“配置”选项卡,在“软件”下,选择“高级设置”,在左面板中选择“User Vars”,查看User Vars.ESXi Shell Time Out 字段值是否为“0”,如为“0”则表明未设置可用性超时;查看User Vars.ESXi Shell Interactive Time Out字段值是否大于“0”,如为“0”则表明未设置会话超时。

(3)检查是否限制允许远程控制台连接的数量。在vsphere的Web client中右击“虚拟机”,单击“编辑设置”,选择“虚拟机”选项,单击“高级”→“编辑配置”。检查参数Remote Display.max Connections值是否为“1”。如果大于1,则表明允许多个远程管理控制台。

(4)检查部署的防火墙情况。下图所示为v Sphere Client与ESXi主机之间的防火墙部署情况。

检查v Sphere Client与ESXi主机之间的防火墙部署

3、入侵防范机制测评

针对虚拟化软件入侵防范机制的测评工作主要有以下5个方面。

(1)检查有无不必要或额外的功能。检查是否连接无用的物理设备,如CD/DVD 光驱、软驱或者USB适配器;检查是否关闭屏幕保护程序,如果使用的是Linux,BSD或Solaris客户机操作系统,则尽量不要运行桌面系统;检查是否禁用未使用的服务,例如,如果系统作为文件服务器运行,则确保关闭所有Web服务。

(2)检查是否禁止远程控制平台的复制粘贴功能,防止将敏感数据拷贝到虚拟机中。使用v Sphere Client登录到v Center Server系统并选择虚拟机。在“摘要”选项卡中,单击“编辑”设置。选择“选项”→“高级”→“常规”,然后单击“配置参数”。检查isolation.tools.copy.disable 和 isolation.tools.paste.disable 这 2 个参数的值是否为“TRUE”。isolation.tools.copy.disable 值为“TRUE”表明禁止了远程控制平台的复制功能, isolation.tools.paste.disable值为“TRUE”表明禁止了远程控制平台的粘贴功能。

(3)检查虚拟机操作系统安装和配置类型是否匹配、文件的操作权限是否恰当。

(4)检查是否禁用虚拟磁盘压缩。在v Center或v Sphere Web Client中,依次单击虚拟机的“摘要”→“编辑设置”,选择“选项”→“高级”→“常规”,单击“配置参数”,检查isolation.tools.disk Shrink.disable参数的值是否为“TRUE”,值为“TRUE”表明禁止虚拟机通过VMware后门程序直接调用disk Shrink实现磁盘压缩。

(5)检查是否禁用未公开的功能。VMware 虚拟机在v Sphere系统与托管虚拟化平台上都能运行。在 v Sphere系统上运行虚拟机时,无需启用某些 VMX 参数。禁用这些参数可降低出现漏洞的可能性。检查虚拟机的“.vmx”文件,核查以下参数值是否为“TRUE”:

1)isolation.tools.unity.push.update.disable

2)isolation.tools.ghi.launchmenu.change

3)isolation.tools.mem Sched Fake Sample Stats.disable

4)isolation.tools.get Creds.disable

5)isolation.tools.ghi.autologon.disable

6)isolation.tools.hgfs Server Set.disable

4、资源控制机制测评

针对虚拟化软件入侵防范机制的测评工作主要有以下6个方面。

(1)检查虚拟机列表,查看是否存在“退役”虚拟机。

(2)检查虚拟机列表,查看是否存在非法虚拟机。

(3)检查是否限制客户机操作系统写入主机内存。如客户机操作系统进程会通过 VMware Tools 向主机发送信息性消息。如果不限制主机存储这些消息的数据量,则无限的数据流将为攻击者提供发起拒绝服务(DoS)攻击的机会。具体检查内容包括以下2个方面。

1)检查客户机操作系统的可变内存限制的设置。在v Center Server或v Sphere Web Client中选择虚拟机。在“摘要”选项卡中,单击“编辑设置”,选择“选项”→“高级”→“常规”,单击“配置参数”,查看参数tools.set Info.size Limit的值是否为“TRUE”,如为“TRUE”则表明设置了可变内存限制。

2)检查是否阻止客户机操作系统进程向主机发送配置消息。检查虚拟机的“.vxm”文件,检查是否存在参数isolation.tools.setinfo.disable,其值是否为“TRUE”。

(4)检查是否启用主机资源管理功能,控制虚拟机消耗的服务器资源。包括检查是否共享或预留保证资源分配给关键的虚拟机、是否对虚拟机的资源消耗进行约束限制。

(5)启动虚拟机,查看是否存在未预留足够的CPU或内存现象。在 v Sphere Client 中,选择主机,然后单击配置选项卡→选择“处理器”。可以查看有关物理处理器数量和类型以及逻辑处理器数量的信息。在 v Sphere Client 中,选择主机,然后单击配置选项卡→单击“内存”,显示有关主机内存分配的信息。

(6)检查是否启用存储I/O控制。在 v Sphere Client 清单中选择数据存储→配置选项卡→属性→在“存储 I/O 控制”下,查看是否选中“已启用”复选框。

三、结语

本文介绍了主机安全测评的内容、方法和实施过程,重点参照等级保护三级信息系统的主机安全测评要求,针对主机操作系统(Windows服务器、Windows终端、Linux、Mac OS、iOS、Android)、数据库管理系统(Oracle、SQL Server)、虚拟化软件(VMware系列)等测评对象,采用含访谈、现场检查和测试等测评方法,从身份鉴别、访问控制、安全审计、剩余信息保护、入侵防范、恶意代码防范、资源控制等方面介绍了主机安全测评的具体工作。

由于篇幅所限,只是涵盖了主机安全测评中的主要测评对象及其测评内容,实际测评中所面临的操作系统、数据库和虚拟化软件类型远远不止这些,具体的安全测评方法和手段还可以更加丰富。因此,在实际应用中,需要根据主机安全合规性要求对测评方法进行针对性的补充和完善,以满足自身的主机安全测评需要。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多