安全测试

  一  安全测试
       1: 测试评估
             自动化扫描:系统层漏洞大部分情况下使用自动化扫描
             手动评估:耗时,不全面,技术要求高

     2: 评估流程
                ![在这里插入图片描述](https://img-blog.csdn.net/20181004211508870?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1dGlhbnh1MTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

 2.1:安全配置评估
         基础安全配置评估:	在了解现状和基本需求的情况下,定义业务系统的基础安全配置要求,配置要求内容和具体产品相关
         业务安全配置评估:辨析不同业务系统的安全需求,在已形成的基础安全配置评估上进行增加,同时协调不同安全设备上的策略,以期望形成符合业务特点的安全方案!

2.2: 安全配置评估规范分类

  评估                                            说明

账号管理 | 账号分配管理:避免共享账号。多余账号锁定:锁定无关账号远程 登录等

口令配置: | 口令复杂度要求,口令生存期要求等
认证授权: |用户缺省权限控制。关键目录权限控制等
日志配置: |登录日志记录,系统事件记录等
设备管理: |ssh安全登录,补丁,版本最低要求等! ssh登录----需要用到抓包工具--------------wireshark软件进行抓包!

其他安全: 登录超时退出,共享权限要求等等!

三 部分专业术语
1: 黑盒测试:在客户授权的情况下,模拟黑客攻击的方法和思维方式,来评估计算机网络系统可能存在的风险。黑盒测试不知道源代码
2:白盒测试:相对于黑盒测试,白盒测试基本是从内部发起。白盒测试知道源代码。
3:渗透测试:出于保护系统的目的,更全面地找出服务器的安全隐患。
4:入侵:不择手段地(甚至是具有破坏性的)拿到系统权限。
5:IOT安全:物联网(Internet of things(IoT))安全。
6:apt 安全:高级持续性威胁(Advanced Persistent Threat,APT),威胁着企业的数据安全。APT是黑客以窃取核心资料为目的,针对客户所发动的网络攻击和侵袭行为,是一种蓄谋已久的“恶意商业间谍威胁”。
7:Payload:是包含在你用于一次漏洞利用中的ShellCode中的主要功能代码
8:Shellcode:可提权代码。对于一个漏洞来说,ShellCode就是一个用于某个漏洞的二进制代码框架,有了这个框架你可以在这个ShellCode中包含你需要的Payload来做一些事。
9:Exp:漏洞利用,一般是个demo程序。即示例程序。
10:Poc:(Proof of Concept)漏洞证明。一般就是个用来证明和复现漏洞的样本。
11:vul:(Vulnerability) 漏洞

四 : 渗透测试流程
步骤 说明
明确目标 确定范围;确定规则;确定需求。
信息收集 基础信息;系统信息;应用信息;版本信息;服务信息;人员信息;防护信息。
漏洞探测 系统漏洞;WebServer漏洞;Web应用漏洞;其他端口服务漏洞;通信安全。
明确目标 确定范围;确定规则;确定需求。
信息分析 精准打击;绕过防御机制;定制攻击路径;绕过监测机制;攻击代码。
获取所需 实施攻击;获取内部信息;进一步渗透;持续性存在;清理痕迹。
信息整理 整理渗透工具;整理收集信息;整理漏洞信息。
形成报告 按需整理;补充介绍;修补建议

五 html5 的优势
跨平台:跨越iOS、Android、PC等多个平台,基于浏览器或浏览器引擎,将网页应用转换成移动或桌面应用。
减少插件依赖:可以不使用第三方插件查看视频、音频、图像等内容。
HTML5安全性:Iframe沙箱、内容安全策略(CSP)、跨域资源共享(CORS)

六 html5 安全测试
常规移动客户端安全测试:客户端程序安全、通信安全、服务端安全!
常规Web应用安全测试: 各种web漏洞!
本地存储测试: html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage。

  sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。该项不用测试。

localStorage用于持久化的本地存储,除非主动删除数据,否则数据永远不会过期。该项重点测试。

七 堡垒机

           堡垒机在各家企业的叫法不一样!有的叫:账户密码维护系统!
           堡垒机是一套部署在数据中心,能够统一管理工作人员和网络资源,能够进行集中身份认证、集中管控资源和权限分配、智能运维托管资产、操作全程审计的运维安全管理解决方案。堡垒机是防火墙体系的基本形态。

堡垒机的应用场景:VPN联动;云安全APP联动;征信系统审计。

 2: 使用堡垒机解决的问题
                 运维账号混用,粗放式权限管理
       1:多个用户使用同一个账号,	难定责
       2:一个用户使用多个账号,工作效率低,工作复杂度增加。
       3:缺少统一的权限管理平台,无法基于最小权限分配原则的用户权限管理

3:堡垒机产品安全测试
大部分堡垒机登录均采用多因素认证,如令牌、短信验证码等。

按照常规Web应用安全测试方法测试,重点关注以下测试项:
1.账号枚举
2.多因素认证绕过
3.通信加密测试:明文传输,如使用HTTP协议传输,且关键信息未本地加密
4.越权测试:堡垒机有不同角色的账号,存在功能越权的漏洞

结构图如下:

             测试人员---------------登录----------堡垒机-----------------远程登录--------------宿主机------------访问目标并测试---------------测试目标!

八 虚拟化
虚拟化:是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显着提高计算机的工作效率。
虚拟化分类:操作系统虚拟化、桌面虚拟化、应用程序虚拟化、存储/网络虚拟化
虚拟化应用场景:办公桌面。即瘦客户端不存储工作数据,数据在虚拟客户端(云)上。

2: 虚拟桌面产品安全测试
按照常规Web应用安全测试方法测试,重点关注以下测试项:
登录功能测试:账号枚举、暴力破解、验证码绕过,如验证码未失效、验证码可置 空等、二次认证绕过,如发送短信验证码手机号篡改、绕过校验等。

         通信加密测试:明文传输,如使用HTTP协议传输,且关键信息未本地加密。

         越权测试:与常规测试方法相同,重点关注功能菜单越权。

3: 虚拟环境下的安全测试
1: 测试目标部署在虚拟机中:该场景的安全测试和常规测试相同,可直接访问并测试目标
2:在虚拟机中访问测试目标:远程登录虚拟机,将测试工具拷贝至虚拟机中,在虚拟机中实施安全测试

九 云环境
因为云环境是一种按使用量付费的模式,这里就不多做介绍了呀!

十 微服务
1: 传统单块架构模式
传统的 Web 应用开发在逻辑上分为表示层、业务逻辑层和数据访问层三层的模式,开发团队对不同层的代码实现,经历编译、打包、部署后,最终运行在同一台机器的同一个进程中。对于这种功能集中、代码和数据中心化、一个发布包、部署后运行在同一个进程中的应用程序,称之为单块架构!

    2:  传统单块架构由于所有的代码运行在同一主机的同一个进程中,不同功能与服务模块的线程共享进程空间,用户状态可以用全局变量实现共享。外部访问控制,认证授权与功能交互统一起来,所有功能通过内部的方法或函数调用来实现,不需要对外提供额外的 API 接口,使得程序的安全性较高


3:  微服务架构
          为了打破单块架构模式所带来开发效率低、代码维护差、部署不灵活、拓展性差瓶颈,在微服务架构中对应用进行有效拆分,每个服务运行在独立的进程中,服务间采用轻量级的通信机制相互沟通。服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护,并且能够被独立的部署到生产环境、类生产环境等!

4: 传统单体架构和微服务架构的区别

             传统同一主机同一进程内
  -开发团队对不同层代码进行编译、打包,部署到一个主机进程中

所有服务模块为本地调用
-全部服务皆可共享用户的逻辑状态
-应用服务器提高会话管理

构建部署时间充分
-在周期内将安全融入的到系统开发中,将安全漏洞早于部署前发现

微服务架构
不同容器或者主机不同进程
-将微服务打包为Docker镜像
-将每个服务实例部署为容器

各个服务间需要远程访问
- 服务之间独立无法共享用户状态
- 需要集中进行身份校验与授权
- 服务间需要互相通信并且进行控制

 敏捷开发与自动化部署

微服务特点:
彼此独立:既然是一个独立的服务,那必然是一个完整的自治系统,不依赖外部的东西就能够提供服务。有自己一整套的完整的运行机制,有和外部通讯的标准化接口。

你可能感兴趣的:(web安全测试测试)