zoukankan      html  css  js  c++  java
  • 安全测试及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)客户端可维护性测试

  • 相关阅读:
    MOSS中的User的Title, LoginName, DisplayName, SID之间的关系
    如何在Network Monitor中高亮间隔时间过长的帧?
    SharePoint服务器如果需要安装杀毒软件, 需要注意什么?
    如何查看SQL Profiler? 如何查看SQL死锁?
    什么是Telnet
    The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain.
    Windows SharePoint Service 3.0的某个Web Application无搜索结果
    网络连接不上, 有TCP错误, 如果操作系统是Windows Server 2003, 请尝试一下这里
    在WinDBG中查看内存的命令
    The virtual machine could not be started because the hypervisor is not running
  • 原文地址:https://www.cnblogs.com/luodatou/p/5467571.html
Copyright © 2011-2022 走看看