一、操作系统安全

1. 操作系统不允许存在Nessus扫描出的高风险级别漏洞

*注:Nessus使用方法简介

对于各服务器的操作系统采用Nessus进行漏洞扫描:
1、登录Nessus;
2、创建扫描策略:点击“Policies”菜单,再点击“Add”按钮,在第一步中设置扫描策略的名称;在第二步配置超级管理员账号口令;在第三步,点击“Disable All”按钮,在“Familles”框中选择“Policy Compliance”,在“Policy Compliance”的“Plugins”框中选择对应的系统类型(如Unix系统是21157,window系统是21156),即使该Plugins圆圈变绿,然后点击“Submit”;在第四步,在“Plugin”中选择对应的操作系统(例如Unix系统的选择“Unix Compliance Checks”,windows系统选择“WindowsComplianceChecks”),然后导入本用例附件“CIS Compliance Audit Policies.rar”中对应的audit文件,然后点击“Submit”按钮,完成扫描策略配置;
3、点击“Scans”菜单,点击“Add”按钮,创建新的扫描任务,“Policy”选择步骤2创建的扫描策略,“Scan Targets”中输入测试环境的IP地址;点击“Launch Scan”按钮,开始扫描;
4、等到“Scans”窗口中,步骤3启动的扫描任务不见了之后,表明扫描结束了,点击“Reports”菜单,查看对应的扫描结果报告。

2. 通用操作系统安全补丁

对于基于通用操作系统的产品,检查其配套发布资料中是否包含公司发布的最新操作系统安全补丁的列表,以及对这些补丁的兼容性测试结果。

3. 通用操作系统安全补丁纳入年度补丁计划

4. 远程登录支持 SSH 协议

使用putty软件,访问被测操作系统的22端口,是否能够正常登录

5. 安全防毒软件

二、数据库安全

1. 数据库安全配置基本要求

可以采用NGSSQuirreL进行扫描是否使用厂商的缺省口令:
1、运行数据库对应的NGSSQuirreL软件(例如Oracle对应NGSSQuirreL for Oracle);
2、根据扫描向导“Scan Wizard”配置扫描对象。以Oracle为例,第一步,直接点击“Next”按钮;第二步,在“Host”中填要扫描的IP地址,在“Port”中填写Oracle的监听端口(默认为1521),点击“Next”按钮;第三步,根据实际情况配置Oracle Listener的密码,然后点击“OK”按钮(如果没有设置密码则直接点击“Cancel”按钮);第四步,点击下拉列表框选择要扫描的数据库实例,然后点击“OK”;第五步,在“Username”中填“system”,在“Password”中填system用户的实际密码(默认是manager),如果“Instance”为空,则填入要扫描的Oracle实例名,然后点击“Next”按钮;第六步,点击“Scan”按钮,开始扫描。
3、扫描工具窗口底部的状态栏显示“Scan Finished”,表明扫描结束了,点击“File”菜单,选择“Export Report to”-“HTML File”,输出扫描报告。
4、查看数据库扫描报告。
也可以手工测试是否使用厂商的缺省口令:
oracle11g之前版本采用Checkpwd工具扫描,运行CMD后命令如下
checkpwd system/manager@//10.71.99.12:1521/BME password_file.txt
如果pc已经安装客户端并且配置了数据源可直接使用
checkpwd system/manager@数据源名字password_file.txt
注:其中蓝色部分要根据实际情况填写。
Oracle11g获取使用默认口令的用户SQL:select * from dba_users_with_defpwd
2.使用informix/DB2/LDAP/内存数据库/MySQL等其他类型数据的产品,检查访问数据库的用户缺省口令(可通过查看建用户脚本或者密码修改指南)
手工检查产品的数据库中非锁定/失效用户的缺省口令复杂度需满足“口令安全要求”:
可通过查看建用户脚本或者密码修改指南
注:非标数据库必须进行该项手工测试用例设计,需要收集所有安装运行启动初始化等各过程中的所有默认账号、接口、入口、口令等。

预期结果:

数据库口令禁止使用数据库厂商的缺省口令,且口令复杂度需满足“口令安全要求”
针对NGSSQuirreL扫描报告中不存在默认帐号密码的漏洞,也就是说扫描报告的“Vulnerability”列查找不到“Default Password”的字符串。
备注:如果确定该账号已经锁定无法正常访问,该账号被暴出来的“Default Password”可以认为是误报。
针对手工测试方法:
1.oracle11g之前版本扫描报告中不存在默认口令、弱口令,也就是说扫描报告中“Weak passwords found”的值为0(此工具不支持ORACLE11扫描。)。
Oracle11g查询结果为空,也就是不存在使用默认口令的数据库用户(锁定/失效用户除外)。
2.使用informix/DB2/LDAP等其他类型数据的产品没有使用数据库厂商的默认口令
口令安全要求:
1、口令长度至少6个字符(特权用户至少8个字符);
2、口令必须包含如下至少两种字符的组合:
      -至少一个小写字母;
      -至少一个大写字母;
      -至少一个数字;
      -至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/?  和空格
3、口令不能和帐号或者帐号的倒写一样;

2. 数据库帐户最小授权

3. 对于有监听器功能的数据库(如Oracle的listener.ora)需要设置监听器密码或者设置为本地操作系统验证。

4. 数据库中的重要文件在OS下的权限:

1.$ORACLE_HOME/bin目录下的文件必须属于oracle用户、dba组,且权限小于或等于755
2.$ORACLE_HOME目录下的文件必须属于oracle用户、dba组,且权限小于或等于750(不包括$ORACLE_HOME/bin中的文件和externaljob.ora)
3.$ORACLE_HOME/network/admin目录下的文件必须属于oracle用户、dba组,且权限小于或等于640
4.控制文件、数据文件、联机日志文件必须属于oracle用户、dba组,且权限均需要设置为660(如果使用ASM管理,则不需要设置权限) 
5.归档日志文件必须属于oracle用户、dba组,且权限需要小于等于750
6.密码文件必须属于oracle用户、dba组,且权限需要设置为640
7.pfile,spfile文件必须属于oracle用户、dba组,且权限需要设置为640
8.user_dump_dest、background_dump_dest、core_dump_dest指向的目录必须属于oracle用户、dba组,且权限需要设置为640
9.diagnostic_dest指向的目录必须属于oracle用户、dba组,且权限需要设置为660
10.ifile必须属于oracle用户、dba组,且权限需要设置为750
11.$ORACLE_HOME/bin/tkprof文件必须属于root用户、dba组,且权限需要设置为750
12.externaljob.ora文件必须属于root用户、dba组,且权限需要设置为640
13.ASM磁盘必须属于oracle/grid用户、dba/oinstall组,且权限需要设置为660

5. 使用单独的操作系统帐号来运行数据库

linux下参考命令返回运行oracle数据库的操作系统帐号:ps -ef | grep ora_|awk '{print $1}'

6. 数据库若存在多个默认帐号,必须将不使用的帐号禁用或删除

对于oracle,重点检查DBA_USERS表中的账户名

7. 数据库安全补丁

三、Web容器安全

1. 使用Appscan等业界主流扫描工具,确保Web容器不存在高风险级别漏洞

至于appscan的使用,百度上有大量教程,这里就不多说了。

软件安全测试之系统安全测试相关推荐

  1. 如何开展系统安全测试

    一.安全测试的前世今生 1945年12月, 在宾夕法尼亚大学摩尔电气工程学院,占地1500 平方英尺,重达30吨的世界上第一台全电子数字计算机ENIAC诞生.不过,那时的计算机输入还是卡片带,谈不上编 ...

  2. 什么是安全测试?一文教会你如何开展系统安全测试…

    软件测试是对项目研发过程产物(文档.代码.程序等)进行审查,保障产品质量的过程.软件测试从测试内容上可以分为功能测试.性能测试.安全测试.兼容性测试等等.其中,安全测试是当今互联网产品的一项重要测试. ...

  3. 软件测试之系统注册/登录功能测试

    软件测试之系统注册/登录功能测试 **写在前面:测试不是一种目的,而是一种保证软件质量的手段** 根据工作中对系统注册/登录功能的测试经验,粗略总结了一下系统登录/注册功能测试的思路,如下: PS:在 ...

  4. Buildroot stress-ng Linux系统压力测试

    /*********************************************************************** Buildroot stress-ng Linux系统 ...

  5. 使用系统规则测试System.in和System.out

    编写单元测试是软件开发的组成部分. 当您的被测类与操作系统交互时,您必须解决的一个问题是模拟其行为. 这可以通过使用模拟代替Java Runtime Environment(JRE)提供的实际对象来完 ...

  6. win7系统稳定测试软件,win7系统电脑测试cpu性能的方法(图文)

    一般情况,购买电脑都比较注重cpu性能,cpu是一台计算机的运算核心和控制核心,所以是非常重要的.很多用户遇到win7系统电脑开机CPU就达到80多度,并且会自动关机或重启,非常麻烦,怎么回事呢?这种 ...

  7. 工控系统安全测试平台及攻防验证【会议】

    工控系统安全测试平台及攻防验证 写在前面的话 会议记录 写在前面的话 <网络空间安全青年科学家长安论坛>,本篇博客为广州大学田志宏老师的报告内容. 会议记录

  8. EMC测试仪器_电巢学堂:单片机系统EMC测试和故障排除

    原标题:电巢学堂:单片机系统EMC测试和故障排除 对于从事单片机应用系统(软硬件)设计的工程技术人员来说,掌握一定的EMC测试技术是十分必要的. 一.关于EMC EMC:Electromagnetic ...

  9. EMC测试仪器_智芯文库 | 单片机系统EMC测试和故障排除

    对于从事单片机应用系统(软硬件)设计的工程技术人员来说,掌握一定的EMC测试技术是十分必要的. 一.关于EMC EMC:Electromagnetic Compatibility,即电磁兼容性.指设备 ...

最新文章

  1. 我自己可以挖矿了!使用Ethereum C++客户端Aleth建一个私有网络,并使用Remix部署一个智能合约
  2. Key-Value Store Indexer(Lily HBase Indexer) 小型采坑
  3. 02 | 服务治理:Nacos 如何实现微服务服务治理
  4. boost::endian模块实现data的测试程序
  5. 揭秘更加开放的数据库服务:阿里云数据库专属集群
  6. java内存图解_图解JAVA内存模型(JMM:JAVA Memory Model)
  7. 灰色市场(Gray Market),简称灰市,也称半黑市
  8. 算法竞赛进阶指南——后缀数组
  9. vue 条件渲染 v-if | v-show
  10. 解决audio自动播放无效问题
  11. mysql limitorderby
  12. 【博客项目】—案例初始化(二)
  13. Java String 类型对象不能改变
  14. RHEL6基础二十四之RHEL软件包管理③源码安装
  15. 俄罗斯方块 java_java 俄罗斯方块
  16. 幼儿识字软件测试自学,十大儿童识字APP排行,看看有你知道的吗?
  17. 2021年阿里笔试题分享——大数相加(附源码)
  18. 如何计算*0x402470(,%rax,8)
  19. 祝酷狗猴年快乐,网易云称其耍猴
  20. 苹果电脑怎么打开计算机管理,mac打开的软件怎么关 苹果电脑系统怎么关闭打开的程序...

热门文章

  1. 业余LaTeX学习笔记(一)-引言
  2. 深入理解Java虚拟机(周志明版)总结—WSYW126
  3. torch.roll() 函数用法
  4. (6CBIR模拟问题)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署...
  5. ZYNQ学习之pl和ps接口
  6. Mybatis学习总结(结合个人理解)
  7. iconfont字体图标线上环境加载偶尔乱码问题
  8. react 路由配置以及封装
  9. 3.21bootstrap
  10. windows检测端口的工具-PsTools