扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
服务器稳定性是最重要的,如果在稳定性方面不能够保证业务运行的需要,在高的性能也是无用的。
创新互联公司主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、成都全网营销推广、网站程序开发、HTML5响应式网站建设、成都做手机网站、微商城、网站托管及成都网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为食品包装袋行业客户提供了网站开发服务。
正规的服务器厂商都会对产品惊醒不同温度和湿度下的运行稳定性测试。重点要考虑的是冗余功能,如:数据冗余、网卡荣誉、电源冗余、风扇冗余等。
一些测试方法主要分以下几种:
压力测试:已知系统高峰期使用人数,验证各事务在最大并发数(通过高峰期人数换算)下事务响应时间能够达到客户要求。系统各性能指标在这种压力下是否还在正常数值之内。系统是否会因这样的压力导致不良反应(如:宕机、应用异常中止等)。
Ramp Up 增量设计:如并发用户为75人,系统注册用户为1500人,以5%-7%作为并发用户参考值。一般以每15s加载5人的方式进行增压设计,该数值主要参考测试加压机性能,建议Run几次。以事务通过率与错误率衡量实际加载方式。
Ramp Up增量设计目标: 寻找已增量方式加压系统性能瓶颈位置,抓住出现的性能拐点时机,一般常用参考Hits点击率与吞吐量、CPU、内存使用情况综合判断。模拟高峰期使用人数,如早晨的登录,下班后的退出,工资发送时的消息系统等。
另一种极限模拟方式,可视为在峰值压力情况下同时点击事务操作的系统极限操作指标。加压方式不变,在各脚本事务点中设置同集合点名称(如:lr_rendzvous("same");)在场景设计中,使用事务点集合策略。以同时达到集合点百分率为标准,同时释放所有正在Run的Vuser。
稳定性测试:已知系统高峰期使用人数、各事务操作频率等。设计综合测试场景,测试时将每个场景按照一定人数比率一起运行,模拟用户使用数年的情况。并监控在测试中,系统各性能指标在这种压力下是否能保持正常数值。事务响应时间是否会出现波动或随测试时间增涨而增加。系统是否会在测试期间内发生如宕机、应用中止等异常情况。
根据上述测试中,各事务条件下出现性能拐点的位置,已确定稳定性测试并发用户人数。仍然根据实际测试服务器(加压机、应用服务器、数据服务器三方性能),估算最终并发用户人数。
场景设计思想:
从稳定性测试场景的设计意义,应分多种情况考虑:
针对同一个场景为例,以下以公文附件上传为例简要分析场景设计思想:
1)场景一:已压力测试环境下性能拐点的并发用户为设计测试场景,目的验证极限压力情况下测试服务器各性能指标。
2)场景二:根据压力测试环境中CPU、内存等指标选取服务器所能承受最大压力的50%来确定并发用户数。
测试方法:采用1)Ramp Up-Load all Vusers simultaneously
2)Duration-Run Indefinitely
3)在Sechedule-勾选Initalize all Vusers before Run
容错性测试:通过模拟一些非正常情况(如:服务器突然断电、网络时断时续、服务器硬盘空间不足等),验证系统在发生这些情况时是否能够有自动处理机制以保障系统的正常运行或恢复运行措施。如有HA(自动容灾系统),还可以专门针对这些自动保护系统进行另外的测试。验证其能否有效触发保护措施。
问题排除性测试:通过原有案例或经验判断,针对系统中曾经发生问题或怀疑存在隐患的模块进行验证测试。验证这些模块是否还会发生同样的性能问题。如:上传附件模块的内存泄露问题、地址本模块优化、开启Tivoli性能监控对OA系统性能的影响等等。
测评测试是用于获取系统的关键性能慎亮指标点,而进行的相关测试。主要是针对预先没有明确的预期测试结果,而是要通过测试获取在特定压力场景下的性能指标(如:事务响应时间、最大并发用户数等)。
评测事务交易时间:为获取某事务在特定压力下的响应时间而进行的测试活动。通过模拟已知客户高峰期的各压力值或预期所能承受的压力值,获取事务在这种压力下的响应时间。
评测事务最大并发用户数:为获取某事务在特定系统环境下所能承受的最大并发用户数而进行的测试活动。通过模拟真实环境或直接采用真实环境,评测在这种环境下事务所能承受的最大并发用户数册孝轿。判定标准阈值需预先定义(如响应时间,CPU占用率,州肆内存占用率,已出现点击率峰值,已出现吞吐量峰值等)。
评测系统最大并发用户数:为获取整个系统所能够承受的最大并发用户数而进行的的测试活动。通过预先分析项目各主要模块的使用比率和频率,定义各事务在综合场景中所占的比率,以比率方式分配各事务并发用户数。模拟真实环境或直接采用真实环境,评测在这种环境下系统所能承受的最大并发用户数。判定标准阀值预先定义(如响应时间,CPU占用率,内存占用率,已出现点击率峰值,已出现吞吐量峰值等)。取值标准以木桶法则为准(并发数最小的事务为整个系统的并发数)。
评测不同数据库数据量对性能的影响:针对不同数据库数据量的测试,将测试结果进行对比,分析发现数据库中各表的数据量对事务性能的影响。得以预先判断系统长时间运行后,或某些模块客户要求数据量较大时可能存在的隐患。
问题定位测试在通过以上测试或用户实际操作已经发现系统中的性能问题或怀疑已存在性能问题。需通过响应的测试场景重现问题或定义问题。如有可能,可以直接找出引起性能问题所在的代码或模块。
该类测试主要还是通过测试出问题的脚本场景,并可以增加发现和检测的工具,如开启Tivoli性能监控、开启HeapDump输出、Linux资源监控命令等。并在场景运行过程中辅以手工测试。
安全测试内容
1、前端数据内容抓取
a、指定内容的抓取
对于关键内容比如userid, 投资金额等的数据进行修改
b、隐藏字段内容的抓取
对于页面type='hidden'的组件,尝试下是否可以进行修改及修改后的效果。
比如新手标的redmoney_id就是在页面里隐藏着,发现规律的话,可以将普通标买成新手标。
http cookie 也可以认为是一个隐藏的字段
尝试修改cookie
2、前端相关参数的修改
a、URL参数,主要针对是get请求的变量
b、referer, referer消息头可以准确的判断某个特殊的请求来自哪个url。所有正常的请求都来自已知的且是我们自己系统的url
将feferer修改后,看看效果
c、模糊数据
对于某些加密数据,可以尝试去进行解密
即使无法解密,我们也可以将一个更加便宜的商品加密价格 修改到一个贵的商品的加密价格上
3、安全处理客户端数据
a、减少客户端向服务器传输的数据,比如某个产品的价格,只要将购买产品的相关其他属性传给服务器,后台服务主动去查一下产品的价格即可。
减少数据传输从业务上来决定
b、如果确实需要进行传输数据,对必要的数据一定要进行加密。
攻击验证机制
1、验证技术
a、基于HTML表单的验证
b、多元机制,组合型密码和物理令牌
c、客户端ssl证书或智能卡
d、http基本和摘要验证
2、问题
a、密码保密性不强
空白,太短的密码,常用密码,密码和用户名一致,密码尝试无限制等
b、记住我功能
确认记住我功能是只记住用户名? 还是记住用户名和密码?如果是第一种,还比较安全
如果是记住用户名和密码,则可以查看cookie在记住和不记住之间的区别
c、找回密码,修改密码等功能一般存在的都是磨中蔽逻辑漏洞
攻击数据存储区
SQL注入:
username= ' or 1=1
select * from user_main where username = '' or 1=1
username= ' or 1=1 --
select * from user_main where username= '' or 1=1 --
现在web应用系统的程序安全意识很强,所以sql注入漏洞也越来越少
对于update
update users set password='newsecret' where user='marcus' and password = 'secret'
user= admin' --
字符串渗透测试步骤:
1、提交一个单引号作为查询目标,查看是否有错误
2、如果有错误或异常,提交两个单引号,看什么情况。
数字注入:
1、如果原始值为2, 尝试提交 1+1 或者3-1
2、可以使用 67- ASCII('A') 来表示 2
最简单直接的方式,可以使用sqlmap对网站进行sql注入检测
sql 注入的防御措施
1、对于输入内容的过滤
2、参数化查询,避免sql的拼接
3、深层防御,访问数据库时,应用程序尽可能使用最低权限的账户
尽可能将数据库一些默认的功能关闭
尽可能及时对数据库本身的漏洞安装瞎州安全补丁
注入nosql :
接口的安全测试:
1. 请求合法性校验,考虑采用token方式保证接口不被其他人访问。
2. 数据校验,白名单方式验证数据确保不出现异常数据和注入攻击。
3. 数据加密,对数据进行加密保证其他人无法非法监听培困或截取。
4. 错误处理,对系统返回结果编制返回码,避免堆栈信息泄露。
5. 接口阈值,对接口访问频率设置阈值,超出设定的访问频率时返回错误码。
测试后端组件
1、注入操作系统命令
2、OS命令注入漏洞
3、路径遍历漏洞
4、防止脚本注入漏洞
1.有没有将sql 2000,mysql运行在普通用户权限下,这是最重要的一点,大部分的都是利用数据库的权限进行的。
2.关闭所有没用的端口
3.所有盘的根目录都不能笑顷庆有everyone,users 的读与运行权限。
4.加强PHP的安全:
5.不要装或使用CGI,CGI存在先天上的安全隐患。
6.不要安装任何的第三方软件。例如XX优化软件,XX插件之类的,更不要在租用的服务器上注册未知的组件。
7.不要在服务器上使用IE访问任何网站。
8.Mysql要用4.1以上的版本,4.0版本存在安全问题。
9.不要装PCanywhere或Radmin因为它们本身就存在安全问题,可以直接用windows 2003自带的3389,它比任何远程控制软件都安全。
10.不要在服务器上双击运行任何程序,不然你中了什么都不知道。
11.不要在服务器上用IE打开用户的硬盘中的网页,这是危险的行为。
12.不要在服务器上浏览图片,以前windows就出乎哗过GDI+的安全漏洞。
13.确保你自己的电脑安全,如果你自己的电脑不安全,服务器也不可能安全。
14.如果你使用imail,必须要用8.2以上版本,8.1存在安全严重的安全漏洞。
一个小心谨慎的服务器管理人员,是服务器安全的最后保障,按以碰握上设置后,就算你的用户上传了什么东西在自己的网站中,也绝对影响不了你租用的服务器。 壹基比小喻为你解答。
安全性测试
产品满足需求提及的安全能力
n 应用派旅程序级别的安全性,包括对数据或业务功能的访问,应
用程序级别的安全性可确保:在预期的安全性情况下,主角
只能访问特定的功能或尘局凳用例,或者只能访问有限的数据。例
如,可能会允许所有人输入数据,创建新账户,但只有管理
员才能删除这些数据或账户。如果具有数据级别的安全性,
测试就可确保“用户类型一” 能够看到所有客户消息(包括
财务数据),而“用户二”只能看见同一客户的统计数据。
n 系统级别的安全性,包括对系统的登录或远程访问。
系统级别的安全性可确保只有具备系统访问权限的用户才能
访问应用程序,而且腊神只能通过相应的网关来访问。
安全性测试应用
防SQL漏洞扫描
– Appscan
n防XSS、防钓鱼
– RatProxy、Taint、Netsparker
nget、post - 防止关键信息显式提交
– get:显式提交
– post:隐式提交
ncookie、session
– Cookie欺骗
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流