B/S与C/S结构安全的相对比较

2024-02-22 21:58
文章标签 比较 安全 结构 相对

本文主要是介绍B/S与C/S结构安全的相对比较,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于网络安全软件B/S、C/S两种结构的优劣,近两年来出现过一些技术性的争论,但目前业内人士已经基本达成共识,B/S结构的优越性得到了普遍的认可,B/S结构是否能成为C/S结构的终结者还有待时间的验证。

何为C/S、B/S结构

C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具备了一定的数据处理和数据存储能力;通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接数量和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。

B/S结构软件(浏览器/服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构中,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构已经成为当今应用软件的首选体系结构。

B/S入侵检测软件的优越性

目前网络安全领域备受瞩目的入侵检测软件也有B/S和C/S两大类,由于B/S软件先天的优越性,使得采用这种结构的入侵检测软件逐步受到用户的欢迎,表现出愈来愈强的市场竞争力,其优越性主要体现在下面几个方面。

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 监听软件就可以把数据截下来。

更低的布署成本

传统的C/S结构入侵检测系统需要在管理主机上安装客户端软件及第三方数据库(SQL Server 2000、Access 2000等),如果用户需要在多台主机上管理设备则需要大量的重复安装工作,而B/S结构的入侵检测软件避免了这些麻烦,开机即可运行无需安装数据库软件,简化了用户端的环境要求,用户也无须为了使用这种软件而安装任何数据库软件或单独的设备,只需具备IE浏览器即可操作。如此显著的易用性大大降低了入侵检测系统在一个用户网络中的布署成本,成为这类入侵检测软件最吸引用户的因素之一.

在目前国内的入侵检测产品已经有少数技术领先的厂家开始采用B/S结构,榕基网安就是其中比较有代表性的一个。榕基RJ-IDS入侵检测系统问世于2005年,其基于WEB2.0模式的B/S软件结构有着采用C/S结构的入侵检测软件无法比拟的优势,目前已经陆续应用于电力、电信、金融等大型行业。

更高的数据安全性

C/S结构软件在保护数据的安全性方面有着先天的弊端。由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒等都将成为可怕的数据杀手。另外,对于集团公司内部网络中常见的多级应用,C/S结构的软件必须安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全性都将影响到整个应用的数据安全性。所以,对于集团公司多级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。

由于B/S结构数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行数据同步,所以上述安全问题也就不必担心了。对于所安装的入侵检测系统采用C/S软件结构的用户,还需要一台装有Windows操作系统的PC机来安装客户端和数据库作为控制台,在日常的应用中,这样的控制台的安全性难以保证,容易因内部人员滥用以及外部攻击而失去起码的安全保障,而对于采用了B/S结构的入侵检测软件来说,这个问题也不存在。所以从数据安全的角度看来,入侵检测系统采用B/S结构尤其重要,榕基网络入侵检测系统正是通过更为先进的B/S软件结构为用户的系统带来更可靠的数据安全性。

避免了数据的不一致性

在很多采用C/S结构的入侵检测软件的用户系统中,尤其是大型集团用户,往往采用先将大量数据储存在客户端,然后再进行数据同步的模式。相关的服务器每天必须同步完毕之后,管理中心才可得到最终的数据。局部网络的临时故障就可能造成个别客户端数据库不能进行同步,即使同步上来,各客户端也不是一个时点上的数据,数据永远无法一致,不能用于决策。而对于榕基网络入侵检测系统这样的B/S结构软件来讲,其数据是集中存放的,客户端发生的事件报警都直接进入到管理中心数据库,不存在数据一致性的问题。

更好的数据实时性

在集团级应用里,C/S结构的入侵检测系统使得网络管理者不可能随时看到当前网络攻击事件的发生情况,看到的都是事后数据;而类似榕基网络入侵检测系统这样的采用B/S结构的软件则不同,它可以使网管员实时地看到当前发生的所有事件,便于进行快速决策,能够更有效避免企业的损失。榕基网络入侵检测系统还采用了非常先进的WEB2.0模式下的Ajax(Asynchronous JavaScript + XML)技术,可以更好的实现数据的实时自动更新。

更好的数据溯源性

由于B/S结构的数据是集中存放的,所以管理中心可以直接追溯到各资产的原始数据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,在管理中心不可能查到客户端的原始数据。

其他

除去应用布署的便利性,数据的安全性、一致性以外,B/S结构的软件还有很多优越性,在实际应用中会使用户能够获得切身体验。比如C/S结构软件仅适用于局域网内部用户或宽带用户(1兆以上),而B/S结构软件可以适用于任何网络结构甚至包括28.8K拨号入网方式,特别适于宽带不能到达的地方。当然,不同网络安全厂商的B/S结构软件在应用层面的设计上也各具特点,力求使用户的使用过程简化,塑造人性化的应该环境。以榕基入侵检测系统为例,RJ-IDS的用户端采用WEB界面,十分符合用户的日常操作习惯,操作简单方便。在系统维护功能的设计上,RJ-IDS为用户考虑的更为周到,简化了系统的规则升级、软件升级、日志维护、磁盘维护,一切维护功能经一次配置后可以由系统自动完成。榕基网络入侵检测系统在系统的网页浏览过程中还具备关联特性,用户可以在阅读报告的过程中在关联网页中自由切换,随时看到自己希望了解的相关信息,从而避免了C/S模式下静态报告的缺陷。

展望

当前国内网络安全产品市场的现状已经表明,正如技术专家们所预计的那样,B/S结构的入侵检测软件产品正在大踏步地走向行业市场,采用C/S结构的同类产品在更先进的竞争者面前已经开始远离人们的视线;而对于同样采用B/S软件结构的入侵检测产品制造商来说,如何使检测技术更先进,使应用更便利,使性能价格比更具竞争力,使销售渠道更具活力,都是需要考虑的问题。一切工作都刚刚开始,但无论哪些厂商能够在竞争中取得领先地位,B/S结构在应用领域大行其道的时代即将来临了。

这篇关于B/S与C/S结构安全的相对比较的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736625

相关文章

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

Python+PyQt5实现文件夹结构映射工具

《Python+PyQt5实现文件夹结构映射工具》在日常工作中,我们经常需要对文件夹结构进行复制和备份,本文将带来一款基于PyQt5开发的文件夹结构映射工具,感兴趣的小伙伴可以跟随小编一起学习一下... 目录概述功能亮点展示效果软件使用步骤代码解析1. 主窗口设计(FolderCopyApp)2. 拖拽路径

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子