• 安全测试及B/S C/S安全性比较


    点击图片可在新窗口打开

    一、用户认证安全的测试要考虑问题:

      1.        明确区分系统中不同用户权限

      2.        系统中会不会出现用户冲突

      3.        系统会不会因用户的权限的改变造成混乱

      4.        用户登陆密码是否是可见、可复制

      5.        是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)

      6.        用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统

          7.        登陆失败次数的限制,防止暴力破解

          8.        输入的账户密码不能有含特殊意义的符号或命令语句

          9.        设置新密码之后,旧密码是否有效

          10.      cookie中是否保存用户名密码,如果保存要加密

          11.      防止SQL注入

          12.      密码不能明文传输

          13.      日志和数据库中是否记录明文密码

          14.      网页出错时,不泄露敏感资料

          15       页面超时机制的验证

    二、系统网络安全的测试要考虑问题:

      1.        测试采取的防护措施是否正确装配好,有关系统的补丁是否打上

      2.        模拟非授权攻击,看防护系统是否坚固

      3.        采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是NBSI系列和IPhacker IP)

      4.        采用各种木马检查工具检查系统木马情况

      5.        采用各种防外挂工具检查系统各组程序的客外挂漏洞

    三、数据库安全考虑问题:

      1.        系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)

      2.        系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)

      3.        系统数据可管理性

      4.        系统数据的独立性

      5.        系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

    B/S与C/S安全性比较

    很多用户在提到B/S架构设计的系统后, 第一个疑惑就是,.这个软件安全吗?为什么用户会有这样的疑惑,因为B/S架构放在internet上后,只要有IE浏览器的电脑都可以访问这个系统.而C/S架构只有安装了特定Client软件的用户才可以使用本系统,所以一直以来我们的用户都在担心着B/S的安全问题.而业内一些C/S的支持者也一直把B/S的安全问题作为一个不休的话题一直在讨论着.只能说这样的讨论非常无聊,我并不反对C/S有很多优点.但是从安全角度分析,B/S远远高于C/S

    1 前面我们讲到"C/S架构只有安装了特定Client软件的用户才可以使用本系统",正因为在用户的电脑上安装了Client所以这个系统就面临着程序被分析,数据被截取的安全隐患,因为所有的数据必须从SERVER读到CLIENT然后进行操作,而B/S所有的数据操作全部在SERVER上进行在CLIENT只是POST一个HTML代码

    2 目前很多传统的C/S系统还是采用2层结构也就是说所有的CLIENT直接读取SERVER中的数据,在CLIENT端包括了数据的用户名\密码等致命的信息,难道这样的系统安全吗?如果这样的系统放在INTERNET上,那么这个SERVER面向任何连接上INTERNET的用户都是开放的,而B/S架构的系统,在CLIENT上没有任何信息.面向用户开放的也只是WEBSERBER,而真正保存我们数据的信息全部在DATASERVER上,这个DATASERVER完全可以不放在INTERNET上,也只能让我们指定的WEBSERVER来访问.

    3 当然现在也流行一种3层架构的C/S系统,但是我想问的是,你做的中间件要比microsoft 写的iis 更安全吗?目前有很多截数据包分析的各种手段,bs 可以使用https 加密来解决。但是你的C/S 服务器有考虑过这问题吗?你说你加密了数据,你加密的比https 还好吗? 你没有加密,那就是明文的,随便找一个sniff 监听软件就可以把数据截下来。

    还有一个观点:B/S不如C/S

      C/S:可以使用多种网络协议,甚至可以自定义协议,从这个角度来看,C/S的安全性是有保障的。又因为它是基于客服端的,不容易被病毒攻击,但C/S太不方便(主要是不便于数据共享)不便于随时与用户交流,这也是C/S的一个致命缺点。并且C/S结构软件在保护数据的安全性方面有着先天的弊端。由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒等都将成为可怕的数据杀手。

      B/S:B/S相对C/S而言更容易被病毒光顾,使用http协议,虽然最新的https协议在安全性方面有所提升,但还是弱于C/S。

          对比之后,觉得这是无谓之争。。。先扫门前雪,把自己的产品安全性高最重要。

    B/S与C/S安全测试重点比较

     

    B/S结构

    一般的B/S结构,都是多层架构的,有界面层、业务逻辑层、数据层。由于这种结构不需要客户端的安装,客户端主要通过浏览器来访问,因此客户端测试的重点是:客户端浏览器(不同类型和版本)以及客户端配置(cookie设置和分辨率设置)等测试。除客户端测试外,根据WEB系统常用技术还需要关注以下几个方面的测试:

     

    1)链接测试

    2)表单测试

    3)脚本测试

    4ActiveX控件测试

     

                 C/S(Client/Server)结构

              即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。这种结构与B/S最显著的区别是需要安装客户端,通过客户端程序来访问应用系统,因此C/S客户端测试是重点,并且与B/S结构有所不同。

    C/S客户端测试的重点有:

     (1)客户端安装测试

    Ø 安装手册的评估

    Ø 安装的自动化程度

    Ø 安装选项和设置得测试

    Ø 安装过程的中断测试

    Ø 安装顺序测试

    Ø 多环境安装测试

    Ø 安装的正确性测试

    Ø 修复安装测试

    Ø 卸载安装测试

    2)客户端升级测试

    Ø 与变更相关的测试

    Ø 变更内容的测试

    3)客户端与服务器链接测试

    4)服务器端数据验证

    5)客户端可维护性测试

  • 相关阅读:
    数据库专题(SQLServer、MySQL)
    第九节:IdentityServer4简介及客户端模式和用户密码模式的应用
    第八节:理解认证和授权、Oauth2.0及四种授权模式、OpenId Connect
    第七节:基于Ocelot网关层的微服务校验(手写jwt校验中间件和利用IdentityModel.Tokens.Jwt校验)
    第六节:Ocelot集成Polly熔断降级,以及缓存、限流、自身负载等其它功能
    第五节:基于Ocelot网关简介、路由功能、集成Consul使用
    第四节:Polly基于控制台和Web端用法(熔断、降级、重试、超时处理等)
    第三节:基于Consul做服务的配置中心
    第二节:Consul简介及服务注册、发现、健康检查
    第一节:微服务准备(Webapi复习、PostMan的使用、项目启动方式、业务代码准备)
  • 原文地址:https://www.cnblogs.com/luodatou/p/5467571.html
Copyright © 2020-2023  润新知