终端和服务器等设备中的操作系统(包括宿主机和虚拟机操作系统) 、网络设备(包括虚拟网络设备)、安全设备(包括虚拟安全设备)、移动终端、移动终端管理系统、移动终端管理客户端、感知节点设备、网关节点设备、控制设备、业务应用系统、数据库管理系统、中间件和系统管理软件及系统设计文档等
APPCommon
【尝试以合法和非法用户分别登录系统,查看是否成功,验证其身份标识和鉴别功能是否有效;如果是B/S应用系统,测试应用系统是否能够不登录而跨越验证界面直接通过URL访问应用系统功能模块,是否能够在注销退出后通过浏览器“后退”重新进入应用系统;】
Windows
【cmd->net user 用户名;】
Linux
【执行cat /etc/shadow,查看用户名后无“*”号和“!”号的可登录账户有哪些,可登录账户用户名后的密码字段是否为空(“*”表示该账户未启用;“!!”表示该账户暂未进行密码设置或该账户已锁定,同样不能登录系统)】
Oracle
【检查是否存在空口令或默认口令的账户select username,password from dba_users;】
APPCommon
【请应用系统管理员配合验证身份标识唯一性的检查功能是否启用,可通过在创建用户时输入已经存在的用户名进行验证;】
APPCommon
【利用口令暴力破解等工具对应用系统进行测试,检查应用系统是否存在弱口令和空口令用户;】
Windows
【查看用户上次更换口令时间;点击“开始→程序→管理工具→本地安全策略→安全设置→帐户策略→密码策略”,查看密码安全设置情况;】
Linux
【查看口令策略设置,执行cat /etc/login.defs,查看以下参数配置:
PASS_MIN_DAYS(密码有效期的最小天数,默认值0)
PASS_MAX_DAYS(密码有效期的最大天数,默认值99999)
PASS_WARN_AGE(提前多少天警告用户口令将过期,默认值7)
PASS_MIN_LEN(口令最小长度,默认值5)
其中有“#”注释掉的不起作用,前三项设置也可以通过shadow文件的第4、5、6字段体现出来;由于login.defs对root账户无效,因此如果仅以root账户进行管理,应记录/etc/shadow的设置。
查看口令复杂度设置,执行cat /etc/pam.d/system-auth,是否在“password requisite pam_cracklib.so”之后设置了以下参数:
minlen(口令最小长度)
lcredit(小写字母)
ucredit(大写字母)
dcredit(阿拉伯数字)
ocredit(其它字符)
difok(有几个字符和上一密码不同,默认值为5,或有1/2的字符与之前不同)】
Oracle
【select * from sys.dba_profiles;
select name,ptime from user;(CTIME:创建时间、PTIME:修改时间、EXPTIME:过期时间、LTIME:锁定时间)
检查Oracle是否启用口令复杂度函数。
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';
查看该口令复杂度函数的中对长度的要求:
select text from dba_source where name= ‘PASSWORD_VERIFY_FUNCTION’ order by line;查看其中length(password)的取值;或查看utlpwdmms.sql中“—Check for the minimum length of the password”部分中“length(password)<”后的值。】
SQL Server
【在Microsoft SQL Server Management Studio中登录服务器,右键点击服务器,选择“属性”,选择“安全性”项,查看服务器身份验证。
在Microsoft SQL Server Management Studio中选择服务器组并展开,选择“安全性->登录名”项,右键点击管理员用户的“属性”,在“常规”中 查看“强制实施密码策略”和“强制密码过期”(此项仅与Windows 2003 Server版本联动)。】
APPCommon
【请应用系统管理员配合验证鉴别信息复杂度的检查功能是否启用,可通过在创建用户时输入简单口令等方式进行验证;】
如果 1)~4) 均为肯定,则符合本测评单元指标要求,否则不符合或部分符合本测评单元指标要求。
【设备存在弱口令】
判例内容:网络设备、安全设备、操作系统、数据库等存在空口令或弱口令帐户,并可通过该弱口令帐户登录,可判定为高风险。
适用范围:所有系统。
满足条件(同时):1、存在空口令或弱口令帐户;2、可使用该弱口令帐户登录。
【应用系统口令策略缺失】
判例内容:应用系统无任何用户口令复杂度校验机制,校验机制包括口令的长度、复杂度等,可判定为高风险。
适用范围:所有系统
满足条件(同时):1、应用系统无口令长度、复杂度校验机制;2、可设置6位以下,单个数字或连续数字或相同数字等易猜测的口令。
【应用系统存在弱口令】
判例内容:应用系统存在易被猜测的常用/弱口令帐户,可判定为高风险。
适用范围:所有系统。
满足条件:通过渗透测试或常用/弱口令尝试,发现应用系统中存在可被登录弱口令帐户。
终端和服务器等设备中的操作系统(包括宿主机和虚拟机操作系统)、网络设备(包括虚拟网络设备) 、安全设备(包括虚拟安全设备) 、移动终端、移动终端管理系统、移动终端管理客户端、感知节点设备、网关节点设备、控制设备、业务应用系统、数据库管理系统、中间件和系统管理软件及系统设计文档等。
Windows
【点击“开始→程序→管理工具→本地安全策略→安全设置→帐户策略→帐户锁定策略”,查看帐户锁定安全设置情况。】
Linux
【执行cat /etc/pam.d/system-auth,是否在“auth required pam_env.so”之后配置了:
auth required pam_tally.so deny=* onerr=fail no_magic_root unlock_time=*
deny=n时,连续n次登录失败后账户锁定,unlock_time表示账户锁定之后的自动解锁时间。(在/etc/passwd中查看账户的UID,“no_magic_root”表示如果这个模块是由一个uid=0的用户触发,那么计数器就增加。)
如果采用ssh登录,部分系统需在sshd里面设置如下:
auth required pam_tally.so onerr=fail no_magic_root
account required pam_tally.so deny=3 no_magic_root even_deny_root_account per_user reset
并且pam_tally无法自动清除错误登录次数,需手动执行:
pam_tally --user root --reset
在本地文本终端上做限制,应配置login文件;只在远程telnet、ssh登陆上做限制,应配置remote和sshd;
执行cat /etc/ssh/sshd_config中参数MaxAuthTries的设置(未被注释的情况下,达到设定次数后断开本次连接,需重新建立SSH连接方可再次进行登录尝试)。】
AIX
【①询问操作系统管理员是否采取措施实现登录失败处理。使用命令“cat /etc/security/user | more”查看文件中的“loginretries”参数设置,该参数表示从该用户上次成功登录系统到该用户被锁定这段时间内,允许该用户登录系统的失败次数。
② 使用命令“cat /etc/security/login.cfg”查看文件中各参数设置情况:
Logindisable(定义未成功登录多少次后该终端被锁定);
loginreenable(指该终端被锁住到自动解锁之间的时间,以分钟计算,默认为0,表示不会自动解锁,必须由系统管理员解锁);
Logindelay(定义未成功登录间的延迟时间,单位为秒。延迟时间是该属性值与不成功次数的乘积,如该值为2,则第一次登录失败之后延迟2秒才能再次尝试登录,第二次是4秒,然后6秒);
Logininterval(假如设定logindisable为3次,则在logininterval这段时间内必须出现三次登录失败才锁定登录端口,该参数单位为秒)。】
Solaris
【①询问系统管理员是否采取措施实现登录失败处理。在终端上输入“cat /etc/security/policy.conf”,查看其中的“Lock_After_Retries”参数设置。
②查看/etc/default/login中有没有将最大失败登录次数RETRIES=*,帐户锁定时间DISABLETIME=*,登录会话超时参数TIMEOUT=*,前的注释号去掉,查看参数设置值。新建用户尝试登录失败处理策略的有效性。】
Oracle
【执行select limit from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
查看管理员账户所对应概要文件的FAILED_LOGIN_ATTEMPTS(登录失败次数)的参数值。
执行select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LOCK_TIME';
查看管理员账户所对应概要文件的PASSWORD_LOCK_TIME(锁定时间)的参数值。】
SQL Server
【在Microsoft SQL Server Management Studio中登录服务器并展开,右键点击服务器,选择“属性”,选择“高级”项,查看登录超时设定。也可在Microsoft SQL Server Management Studio的查询中输入命令:“sp_configure”查看数据库启动的配置参数;其中remote login timeout为远程登录超时设定。】
MySQL
【MySQL默认无登录失败处理功能。】
Windows
【查看登录终端是否开启了带密码的屏幕保护功能;打开“组策略”,在“计算机配置”、“管理模板”、“Windows 组件”、“终端服务”、“会话”中,查看在“空闲会话限制”中,是否配置了空闲的会话(没有客户端活动的会话)继续留在服务器上的最长时间;】
Linux
【查看/etc/profile文件中"HISTSIZE="后是否对TMOUT的限定值做了设置(此参数对SSH和Telnet方式远程均起作用。默认无空闲超时锁定,TMOUT的值可限制su成其他帐户后操作空闲超时和SSH远程登录的操作空闲超时)。
使用命令“cat /etc/ssh/sshd_config”命令查看sshd_config文件中参数“ ClientAliveInterval”和“ClientAliveCountMax”有没有被注释掉,若没有,记录其参数值。(ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送。ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数,默认为3,达到一定值, 就自动断开。)】
AIX
【①查看文件/etc/profile文件中TMOUT参数的设置情况(此参数可以控制telnet远程连接空闲操作超时,单位为秒)。
②使用命令“cat /etc/ssh/sshd_config”命令查看sshd_config文件中参数“ ClientAliveInterval”和“ClientAliveCountMax”有没有被注释掉,若没有,记录其参数值。注意:这两个参数仅对SSH-2有效(ClientAliveInterval设置一个以秒记的时长,如果超过这么长时间没有收到客户端的任何数据,sshd将通过安全通道向客户端发送一个“alive”消息,并等候应答,默认值 0 表示不发送"alive"消息;ClientAliveC