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

相关文章

【小迪安全2023】第30天:WEB攻防-通用漏洞SQL注入CTF二次堆善DNS带外

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋🙏作者水平有限,欢迎各位大佬指点,相互学习进步! 目录 大纲: 一、堆

Activity——spring方式创建activiti所需数据表结构

文章目录 前言依赖引入编写数据库连接等配置配置日志文件编写java代码生成数据库表结构问题反馈与解决思路问题一:Cause: java.sql.SQLSyntaxErrorException: Table 'activiti_02.act_ge_property' doesn't exist 为什么文件名必须写死? 前言 在之前创建activiti表结构的时候,采取的是配置Spr

Swift结构体与类

在面向过程的编程语言(如C语言)中,结构体用得比较多,但是面向对象之后,如在C++和Objective-C中,结构体已经很少使用了。这是因为结构体能够做的事情,类完全可以取而代之。而Swift语言却非常重视结构体,把结构体作为实现面向对象的重要手段。Swift中的结构体与C++和Objective-C中的结构体有很大的差别,C++和Objective-C中的结构体只能定义一组相关的成员变量,而Sw

Python中的字典(dict)与集合(set):核心数据结构的比较与应用

Python中的字典(dict)与集合(set):核心数据结构的比较与应用 在Python编程中,字典(dict)和集合(set)是两种非常重要的内置数据结构,它们在处理数据时扮演着关键的角色。尽管它们在某些方面有相似之处,但它们在用途、特性和行为上有着本质的区别。本文将对这两种数据结构进行详细的比较和分析,并通过实例来展示它们在实际应用中的不同用途。 1. 字典(dict)概述 字典是Py

信息学奥赛一本通C++ - 第三章 - 第一节 if选择结构

2051:【例3.1】偶数 题目描述 给定一个正整数 (a),如果 (a) 是偶数,则输出 “yes”。 解题思路 这是一个简单的条件判断问题。要确定一个数是否是偶数,可以检查该数除以2的余数是否为0。如果余数为0,说明该数是偶数;否则,不是偶数,不输出任何内容。 代码实现 #include <iostream>using namespace std;int main() {i

Harbor集成clair-镜像各层安全扫描工具

Harbor:集成clair Clair是CoreOS提供的一款根据CVE的信息确认镜像各层安全状况的开源工具,harbor集成了clair到其功能之中,这也是和其他同类工具相比一个突出的亮点,而在其集成的实现中,首先clair的功能依然是靠其官方镜像和postgres结合形成,而扫描之后的信息则通过harbor自身的数据库进行保存。 安装方式 在habor中集成clair的功能,方式非常简单

glm::vec3 等结构放入结构体中 内存对其问题

介绍 在OpenGL编程中,与顶点数据的交互是非常常见的操作。在C++中,通常会使用GLM库提供的数据结构,如glm::vec3,来表示顶点数据。然而,内存对齐问题可能会影响到这种交互,特别是在涉及到结构体的内存布局时。本教程将探讨在OpenGL中如何处理顶点数据,并对比在加入GLM宏定义和不加入GLM宏定义的情况下的内存大小差异,同时提供相应的Shader代码。 当你在使用GLM库时,可能会

六种创建型设计模式的比较和总结

一、描述 创建型设计模式包括如下几个:简单工厂模式(Simple Factory)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、创建者模式(Builder)、原型模式(Prototype)、单例模式(Singleton)。 二、六种创建型设计模式的比较 简单工厂模式:简单工厂模式又叫静态工厂模式,它定义一个具体的工厂类来负责所有产品对

十大排序——11.十大排序的比较汇总及Java中自带的排序算法

这篇文章对排序算法进行一个汇总比较! 目录 0.十大排序汇总 0.1概述 0.2比较和非比较的区别 0.3基本术语 0.4排序算法的复杂度及稳定性 1.冒泡排序 算法简介 动图演示 代码演示 应用场景 算法分析 2.快速排序 算法简介 动图演示 代码演示 应用场景 算法分析 3.插入排序 算法简介 动图演示 代码演示 应用场景 算法分析 4.选择排

如何正确使用指针(指针作为输出型参数)与结构体指针作为函数参数

如何正确使用指针(指针作为输出型参数)与结构体指针作为函数参数 文章目录 如何正确使用指针(指针作为输出型参数)与结构体指针作为函数参数指针作为输出型参数指针作为输出型参数本质结构体指针就是一普通指针变量详细例子说明 指针作为输出型参数 指针作为输出型参数,通俗的理解,指针作为某一函数的实参,在函数内部发生改变后,外部的值也能跟着发生变化类比外部的int a作为函数形参并能