yzdily / yzdily.github.io

20 stars 1 forks source link

网络安全简介 #6

Open yzdily opened 3 years ago

yzdily commented 3 years ago

网络安全(Cyber Security)是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 2020年4月27日,国家互联网信息办公室、国家发展和改革委员会、工业和信息化部、公安部、国家安全部、财政部、商务部、中国人民银行、国家市场监督管理总局、国家广播电视总局、国家保密局、国家密码管理局共12个部门联合发布《网络安全审查办法》,于2020年6月1日起实施。 安全隐患 1.Internet是一个开放的、无控制机构的网络,黑客(Hacker)经常会侵入网络中的计算机系统,或窃取机密数据和盗用特权,或破坏重要数据,或使系统功能得不到充分发挥直至瘫痪。 2.Internet的数据传输是基于TCP/IP通信协议进行的,这些协议缺乏使传输过程中的信息不被窃取的安全措施。 3.Internet上的通信业务多数使用Unix操作系统来支持,Unix操作系统中明显存在的安全脆弱性问题会直接影响安全服务。 4.在计算机上存储、传输和处理的电子信息,还没有像传统的邮件通信那样进行信封保护和签字盖章。信息的来源和去向是否真实,内容是否被改动,以及是否泄露等,在应用层支持的服务协议中是凭着君子协定来维系的。 5.电子邮件存在着被拆看、误投和伪造的可能性。使用电子邮件来传输重要机密信息会存在着很大的危险。 6.计算机病毒通过Internet的传播给上网用户带来极大的危害,病毒可以使计算机和计算机网络系统瘫痪、数据和文件丢失。在网络上传播病毒可以通过公共匿名FTP文件传送、也可以通过邮件和邮件的附加文件传播。 攻击形式 主要有四种方式中断、截获、修改和伪造。 中断是以可用性作为攻击目标,它毁坏系统资源,使网络不可用。 截获是以保密性作为攻击目标,非授权用户通过某种手段获得对系统资源的访问。 修改是以完整性作为攻击目标,非授权用户不仅获得访问而且对数据进行修改。 伪造是以完整性作为攻击目标,非授权用户将伪造的数据插入到正常传输的数据中。 解决方案 1.入侵检测系统部署 入侵检测能力是衡量一个防御体系是否完整有效的重要因素,强大完整的入侵检测体系可以弥补防火墙相对静态防御的不足。对来自外部网和校园网内部的各种行为进行实时检测,及时发现各种可能的攻击企图,并采取相应的措施。具体来讲,就是将入侵检测引擎接入中心交换机上。入侵检测系统集入侵检测、网络管理和网络监视功能于一身,能实时捕获内外网之间传输的所有数据,利用内置的攻击特征库,使用模式匹配和智能分析的方法,检测网络上发生的入侵行为和异常现象,并在数据库中记录有关事件,作为网络管理员事后分析的依据;如果情况严重,系统可以发出实时报警,使得学校管理员能够及时采取应对措施。 2.漏洞扫描系统 采用最先进的漏洞扫描系统定期对工作站、服务器、交换机等进行安全检查,并根据检查结果向系统管理员提供详细可靠的安全性分析报告,为提高网络安全整体水平产生重要依据。 3.网络版杀毒产品部署 在该网络防病毒方案中,我们最终要达到一个目的就是:要在整个局域网内杜绝病毒的感染、传播和发作,为了实现这一点,我们应该在整个网络内可能感染和传播病毒的地方采取相应的防病毒手段。同时为了有效、快捷地实施和管理整个网络的防病毒体系,应能实现远程安装、智能升级、远程报警、集中管理、分布查杀等多种功能。 防范意识 拥有网络安全意识是保证网络安全的重要前提。许多网络安全事件的发生都和缺乏安全防范意识有关。 1.主机安全检查 要保证网络安全,进行网络安全建设,第一步首先要全面了解系统,评估系统安全性,认识到自己的风险所在,从而迅速、准确得解决内网安全问题。由安天实验室自主研发的国内首款创新型自动主机安全检查工具,彻底颠覆传统系统保密检查和系统风险评测工具操作的繁冗性,一键操作即可对内网计算机进行全面的安全保密检查及精准的安全等级判定,并对评测系统进行强有力的分析处置和修复。 2.主机物理安全 服务器运行的物理安全环境是很重要的,很多人忽略了这点。物理环境主要是指服务器托管机房的设施状况,包括通风系统、电源系统、防雷防火系统以及机房的温度、湿度条件等。这些因素会影响到服务器的寿命和所有数据的安全。我不想在这里讨论这些因素,因为在选择IDC时自己会作出决策。 在这里着重强调的是,有些机房提供专门的机柜存放服务器,而有些机房只提供机架。所谓机柜,就是类似于家里的橱柜那样的铁柜子,前后有门,里面有放服务器的拖架和电源、风扇等,服务器放进去后即把门锁上,只有机房的管理人员才有钥匙打开。而机架就是一个个铁架子,开放式的,服务器上架时只要把它插到拖架里去即可。这两种环境对服务器的物理安全来说有着很大差别,显而易见,放在机柜里的服务器要安全得多。 如果你的服务器放在开放式机架上,那就意味着,任何人都可以接触到这些服务器。别人如果能轻松接触到你的硬件,还有什么安全性可言? 如果你的服务器只能放在开放式机架的机房,那么你可以这样做: (1)将电源用胶带绑定在插槽上,这样避免别人无意中碰动你的电源。 (2)安装完系统后,重启服务器,在重启的过程中把键盘和鼠标拔掉,这样在系统启动后,普通的键盘和鼠标接上去以后不会起作用(USB鼠标键盘除外)。 (3)跟机房值班人员搞好关系,不要得罪机房里其他公司的维护人员。这样做后,你的服务器至少会安全一些。 主要产品: 在网络设备和网络应用市场蓬勃发展的带动下,网络安全市场迎来了高速发展期,一方面随着网络的延伸,网络规模迅速扩大,安全问题变得日益复杂,建设可管、可控、可信的网络也是进一步推进网络应用发展的前提;另一方面随着网络所承载的业务日益复杂,保证应用层安全是网络安全发展的新的方向。 随着网络技术的快速发展,原来网络威胁单点叠加式的防护手段已经难以有效抵御日趋严重的混合型安全威胁。构建一个局部安全、全局安全、智能安全的整体安全体系,为用户提供多层次、全方位的立体防护体系成为信息安全建设的新理念。在此理念下,网络安全产品将发生了一系列的变革。 结合实际应用需求,在新的网络安全理念的指引下,网络安全解决方案正向着以下几个方向来发展: 1.主动防御走向市场 主动防御的理念已经发展了一些年,但是从理论走向应用一直存在着多种阻碍。主动防御主要是通过分析并扫描指定程序或线程的行为,根据预先设定的规则,判定是否属于危险程序或病毒,从而进行防御或者清除操作。不过,从主动防御理念向产品发展的最重要因素就是智能化问题。由于计算机是在一系列的规则下产生的,如何发现、判断、检测威胁并主动防御,成为主动防御理念走向市场的最大阻碍。 由于主动防御可以提升安全策略的执行效率,对企业推进网络安全建设起到了积极作用,所以尽管其产品还不完善,但是随着未来几年技术的进步,以程序自动监控、程序自动分析、程序自动诊断为主要功能的主动防御型产品将与传统网络安全设备相结合。尤其是随着技术的发展,高效准确地对病毒、蠕虫、木马等恶意攻击行为的主动防御产品将逐步发展成熟并推向市场,主动防御技术走向市场将成为一种必然的趋势。 2.安全技术融合备受重视 随着网络技术的日新月异,网络普及率的快速提高,网络所面临的潜在威胁也越来越大,单一的防护产品早已不能满足市场的需要。发展网络安全整体解决方案已经成为必然趋势,用户对务实有效的安全整体解决方案需求愈加迫切。安全整体解决方案需要产品更加集成化、智能化、便于集中管理。未来几年开发网络安全整体解决方案将成为主要厂商差异化竞争的重要手段。软硬结合,管理策略走入安全整体解决方案。 面对规模越来越庞大和复杂的网络,仅依靠传统的网络安全设备来保证网络层的安全和畅通已经不能满足网络的可管、可控要求,因此以终端准入解决方案为代表的网络管理软件开始融合进整体的安全解决方案。终端准入解决方案通过控制用户终端安全接入网络入手,对接入用户终端强制实施用户安全策略,严格控制终端网络使用行为,为网络安全提供了有效保障,帮助用户实现更加主动的安全防护,实现高效、便捷地网络管理目标,全面推动网络整体安全体系建设的进程。 3.数据安全保护系统 数据安全保护系统是广东南方信息安全产业基地公司,依据国家重要信息系统安全等级保护标准和法规,以及企业数字知识产权保护需求,自主研发的产品。它以全面数据文件安全策略、加解密技术与强制访问控制有机结合为设计思想,对信息媒介上的各种数据资产,实施不同安全等级的控制,有效杜绝机密信息泄漏和窃取事件。 CDN概念基本介绍 一 . CDN简介 什么是CDN?

CDN的全称是Content Delivery Network,即内容分发网络。

其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。

为什么需要CDN?

通常用户满意的网页打开时间是在2秒以下。互联网有一项著名的8秒原则。用户在访问Web网页时,如果时间超过8秒就会感到不耐烦,如果下载需要太长时间,他们就会放弃访问。

CDN的优势

(1)CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低; (2)大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。

二 . CDN的工作原理 传统的浏览器访问网站应步骤:

在浏览器输入网址 浏览器请求dns服务器,查询到对应的IP 浏览器向服务器发起TCP连接 浏览器通过建立的TCP连接发送HTTP协议报文 服务器向浏览器发送页面内容 浏览器将页面展现出来

CDN用户访问流程:

1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求; 2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统; 3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户; 4.用户向该IP节点(CDN服务器)发出请求; 5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容; 6.请求结果发给用户。

主要特点: 1.本地Cache加速 提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性 2.镜像服务 消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。 3.远程加速 远程访问用户根据DNS负载均衡技术 智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度 4.带宽优化 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。 5.集群抗攻击 广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量 。

CDN对网络的优化:

1.解决服务器端的“第一公里”问题

2.缓解甚至消除了不同运营商之间互联的瓶颈造成的影响

3.减轻了各省的出口带宽压力

4.缓解了骨干网的压力

5.优化了网上热点内容的分布

第一公里 是指万维网流量向用户传送的第一个出口,是网站服务器接入互联网的链路所能提供的带宽。 这个带宽决定了一个 网站能为用户提供的访问速度和并发访问量。如果业务繁忙,用户的访问数越多,拥塞越严重,网站会在最需要向用户提供服务时失去用户。

中间一公里 代表互联网中节点与节点之间的传输网络

最后一公里 万维网流量向用户传送的最后一段接入链路

三 . CDN的应用场景 网站站点/应用加速

站点或者应用中大量静态资源的加速分发,建议将站点内容进行动静分离,动态文件可以结合云服务器ECS,静态资源如各类型图片、html、css、js文件等,建议结合 对象存储OSS 存储海量静态资源,可以有效加速内容加载速度,轻松搞定网站图片、短视频等内容分发

视音频点播/大文件下载分发加速

支持各类文件的下载、分发,支持在线点播加速业务,如mp4、flv视频文件或者平均单个文件大小在20M以上,主要的业务场景是视音频点播、大文件下载(如安装包下载)等,建议搭配对象存储OSS使用,可提升回源速度,节约近2/3回源带宽成本。

视频直播加速(内测中)

视频流媒体直播服务,支持媒资存储、切片转码、访问鉴权、内容分发加速一体化解决方案。结合弹性伸缩服务,及时调整服务器带宽,应对突发访问流量;结合媒体转码服务,享受高速稳定的并行转码,且任务规模无缝扩展。目前CDN直播加速已服务内部用户测试并优化,即将上线

移动应用加速

移动APP更新文件(apk文件)分发,移动APP内图片、页面、短视频、UGC等内容的优化加速分发。提供httpDNS服务,避免DNS劫持并获得实时精确的DNS解析结果,有效缩短用户访问时间,提升用户体验。

四 . CDN缓存 缓存是什么?

缓存是一个到处都存在的用空间换时间的例子。通过使用多余的空间,我们能够获取更快的速度。 看看没有网站没有接入CDN时,用户浏览器与服务器是如何交互的:

用户在浏览网站的时候,浏览器能够在本地保存网站中的图片或者其他文件的副本,这样用户再次访问该网站的时候,浏览器就不用再下载全部的文件,减少了下载量意味着提高了页面加载的速度。

中间加上一层CDN,那么用户浏览器与服务器的交互如下:

客户端浏览器先检查是否有本地缓存是否过期, 如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束; 如果数据已经过期,那么CDN还需要向源站发出回源请求(back to the source request),来拉取最新的数据。 浏览器缓存策略

Expires策略

Expires是web服务器 响应消息头字段,在响应http请求时告诉浏览器在过期时间前,浏览器可以直接从浏览器缓存读取数据,而无需再次请求,它的值对应一个GMT(格林尼治时间),比如“Mon, 22 Jul 2012 11:15:08 GMT”来告诉浏览器资源缓存过期时间,如果还没过该时间点则不发请求。 不过Expires是HTTP 1.0的东西。 现在浏览器都是默认HTTP 1.1的了。所以基本可以忽略它。

Expires有一个缺点,就是它的过期时间是服务器的时间,比如我的客户端时间和服务器时间相差很大,那误差就很大。

比如服务器返回的是2016年7月16号过期,我的电脑时间被我修改了,快了一天为2016年7月17号,那客户端缓存就过期了。所以它被Cache-Control:max-age=秒 替代了。 Cache-control策略

Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。

只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires。

Cache-Control可拥有如下值:

Public 任何情况下都得缓存该资源。 Private 指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。缓存只开放给某些特定的用户,比如服务器的用户,其他用户则不能缓存这些数据。 no-cache 指示请求或响应消息不能缓存,该选项并不是说可以设置”不缓存“,容易望文生义~。要求向服务器发起新鲜度检验 no-store 用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存,完全不存下來。主要用于一些机密文件 max-age 指示客户端该端时间内缓存都是最新的。以秒为单位。比如:Cache-Control:max-age=120 表示2分钟之后过期。 min-fresh 指示客户端希望获取一个在小于指定的时间内被更新过的资源,单位为秒:例如:Cache-Control:min-fresh =120 。向服务器获取2分钟内被更新过的资源 max-stale 指示客户端可以接收超出超时期间的响应消息。例如:Cache-Control:max-stale =120 ,向服务器获取超过缓存时间2分钟的资源。 must-revalidate:作用与no-cache相同,但更严格,强制意味更明显

Last-Modified:   标示这个响应资源的最后修改时间,web服务器在响应请求时,告诉浏览器资源的最后修改时间。

If-Modified-Since:   当资源过期时(也就是Cache-Control:max-age=0,),发现资源具有Last-Modified声明,则再次向web服务器请求时带上头If-Modified-Since,表示请求时间。web服务器收到请求后发现有头If-Modified-Since 则与被请求资源的最后修改时间进行比对。若Last-Modified的时间较新,说明最后修改时间较新,说明资源又被改动过,则响应整的资源重新从服务器读取,而不是读取缓存,返回200状态吗;若If-Modified-Since的时间比Last-Modified新或者相等,说明服务器的内容没有更新,直接读取缓存即可,返回304状态码,告知浏览器继续使用所保存的cache

Etag

通常情况下,通过修改时间来比较文件是可行的。但是在一些特殊情况,例如服务器的时钟发生了错误,服务器时钟进行修改,夏时制DST到来后服务器时间没有及时更新,这些都会引起通过修改时间比较文件版本的问题。

ETag可以用来解决这种问题。ETag是一个文件的唯一标志符。就像一个哈希或者指纹,每个文件都有一个单独的标志,只要这个文件发生了改变,这个标志就会发生变化。

浏览器缓存刷新

在地址栏中输入网址后按回车或点击转到按钮 浏览器以最少的请求来获取网页的数据,浏览器会对所有没有过期的内容直接使用本地缓存,从而减少了对浏览器的请求。所以,Expires,max-age标记只对这种方式有效。

按F5或浏览器刷新按钮 浏览器会在请求中附加必要的缓存协商,但不允许浏览器直接使用本地缓存,它能够让 Last-Modified、ETag发挥效果,但是对Expires无效。

按Ctrl+F5或按Ctrl并点击刷新按钮 这种方式就是强制刷新,总会发起一个全新的请求,不使用任何缓存。

CDN缓存

浏览器本地缓存失效后,浏览器会向CDN边缘节点发起请求。类似浏览器缓存,CDN边缘节点也存在着一套缓存机制。

CDN缓存的缺点

CDN的分流作用不仅减少了用户的访问延时,也减少的源站的负载。但其缺点也很明显:当网站更新时,如果CDN节点上数据没有及时更新,即便用户再浏览器使用Ctrl+F5的方式使浏览器端的缓存失效,也会因为CDN边缘节点没有同步最新数据而导致用户访问异常。

CDN的缓存机制

  CDN边缘节点缓存策略因服务商不同而不同,但一般都会遵循http标准协议,通过http响应头中的Cache-control: max-age的字段来设置CDN边缘节点数据缓存时间。

当客户端向CDN节点请求数据时,CDN节点会判断缓存数据是否过期,若缓存数据并没有过期,则直接将缓存数据返回给客户端;否则,CDN节点就会向源站发出回源请求,从源站拉取最新数据,更新本地缓存,并将最新数据返回给客户端。所以,如果我们修改了内容,最好加个版本号,来容CDN重新获取资源,从而减少不必要的麻烦,比如 :

app.js?v=20171114 或者 style.css?v=20171114

CDN缓存刷新

CDN边缘节点对开发者是透明的,相比于浏览器Ctrl+F5的强制刷新来使浏览器本地缓存失效,开发者可以通过CDN服务商提供的“刷新缓存”接口来达到清理CDN边缘节点缓存的目的。这样开发者在更新数据后,可以使用“刷新缓存”功能来强制CDN节点上的数据缓存过期,保证客户端在访问时,拉取到最新的数据。