【网络安全】网络安全协议和防火墙

目录

1、网络层的安全协议:IPsec 协议族

(1)IP 安全数据报格式

(2)互联网密钥交换 IKE (Internet Key Exchange) 协议

2、运输层的安全协议:TLS 协议

3、系统安全:防火墙与入侵检测


1、网络层的安全协议:IPsec 协议族

        什么是 IPsec 协议?

        IPsec 就是 “IP安全(security)” 的缩写。IPsec 并不是单一的协议,而是能够在 IP 层提供互联网通信安全的协议族。实际上,IPsec 包含了一个通用框架和若干加密算法,具相当的灵活性和可扩展性。IPsec 允许通信双方从中选择合适的算法和参数,以及是否使用鉴别。

        IPsec 协议族中的协议可划分为以下三个部分://用来提供网络层的安全通信

  1. IP 安全数据报格式的两个协议:鉴别首部 AH (Authentication Header) 协议封装安全有效载荷 ESP (Encapsulation Security Payload) 协议//数据报
  2. 加密算法。//算法
  3. 互联网密钥交换 IKE (Internet Key Exchange) 协议//密钥交换

(1)IP 安全数据报格式

        上边提到 IP 安全数据报格式有两个协议,即 AH 和 ESP。

        AH 协议提供源点鉴别和数据完整性,但不能保密。

        ESP 协议比 AH 协议复杂得多,它提供源点鉴别、数据完整性和保密。IPsec 支持 IPv4 和 IPv6。AH 协议的功能都已包含在 ESP 协议中,因此使用 ESP 协议就可以不使用 AH 协议。

        使用 ESP或 AH 协议的 IP 数据报称为 IP 安全数据报 (或 IPsec 数据报),它可以在两台主机之间、两个路由器之间或一台主机和一个路由器之间发送。

        IP安全数据报有以下两种不同的工作方式:

        第一种工作方式是 运输方式(transport mode)。运输方式是在整个运输层报文段的前后分别添加若干控制信息,再加上 IP 首部,构成 IP 安全数据报,如下图所示:

        第二种工作方式是 隧道方式(tunnel mode)。隧道方式是在原始的 IP 数据报的前后分别添加若干控制信息,再加上新的 IP 首部,构成一个IP安全数据报,如下图所示:

        无论使用哪种方式,最后得出的数据报的 IP 首部都是不加密的。只有使用不加密的 IP首部,互联网中的各个路由器才能识别 IP 首部中的有关信息,把 IP安全数据报在不安全的互联网中进行转发,从源点安全地转发到终点。目前使用最多的就是隧道方式。

(2)互联网密钥交换 IKE (Internet Key Exchange) 协议

        IKE 的用途主要是为 IP 安全数据报创建安全关联 SA

        那什么是安全关联 SA 呢?

        在发送 IP 安全数据报之前,在源实体和目的实体之间必须创建一条网络层的逻辑连接,这个连接就是安全关联 SA (Security Association)安全关联是从源点到终点的单向连接,它能够提供安全服务。如要进行双向安全通信,则两个方向都需要建立安全关联。安全关联 SA 上传送的就是 IP 安全数据报。//单向的安全数据报传输通道

        IKE 是个非常复杂的协议,IKEv2 是其新的版本,IKEv2 以另外三个协议为基础:

  1. Oakley——密钥生成协议。
  2. 安全密钥交换机制 SKEME (Secure Key Exchange MEchanism) ——用于密钥交换的协议。它利用公钥加密来实现密钥交换协议中的实体鉴别。
  3. 互联网安全关联和密钥管理协议 ISAKMP (Internet Secure Association and Key ManagementProtocol) —— 用于实现 IKE 中定义的密钥交换,使 IKE 的交换能够以标准化、格式化的报文创建安全关联 SA。

2、运输层的安全协议:TLS 协议

        运输层安全协议曾经有两个,即:安全套接字层 SSL (Secure Socket Layer)运输层安全 TLS (Transport Layer Security)

        TLS 协议的发展历史:

        SSL 协议是 Netscape 公司在 1994 年开发的安全协议,广泛应用于基于万维网的各种网络应用。SSL 作用在系统应用层的 HTTP 和运输层之间,在 TCP 之上建立起一个安全通道,为通过 TCP 传输的应用层数据提供安全保障。

        1995 年 Netscape 公司把协议 SSL 转交给 IETF,希望能够把 SSL 进行标准化。1999 年 IETF 在 SSL 3.0 的基础上设计了协议 TLS 1.0,为所有基于 TCP 的网络应用提供安全数据传输服务。后来,为了应对网络安全的变化,IETF 也不断地对 TLS 版本进行升级,目前使用得比较多的运输层安全协议有 TLS 1.2 和 TLS 1.3 等。//虽然TLS源于SSL,但两者并不兼容

        TLS 协议在运输层和应用层之间。虽然协议 SSL 2.0/3.0 均已被废弃不用了,但现在还经常能够看到把 “SSL/TLS” 视为 TLS 的同义词。这是因为协议 TLS 本来就源于 SSL (但并不兼容),而现在旧协议 SSL 也被更新为新协议 TLS 了。

        应用层使用协议 TLS 最多的就是 HTTP,但并非仅限于 HTTP。因为协议 TLS 是对 TCP 加密,因此任何在 TCP 之上运行的应用程序都可以使用协议 TLS

        TLS 协议是怎么生效的呢?

        TLS 协议具有双向鉴别的功能。但大多数情况下使用的是单向鉴别,即客户端(浏览器)需要鉴别服务器。也就是说,浏览器 A 要确信即将访问的网站服务器 B 是安全和可信的。这必须要有以下两个前提:

  1. 首先,服务器 B 必须能够证明本身是安全和可信的。因此服务器 B 需要有一个证书来证明自己。现在我们假定服务器 B 已经持有了有效的 CA 证书。这正是运输层安全协议 TLS 的基石。//服务器持有有效CA证书
  2. 其次,浏览器 A 应具有一些手段来证明服务器 B 是安全和可信的。//浏览器能够鉴别

        那么浏览器如何证明服务器 B 是安全可信的呢?

        生产电脑操作系统的厂商为了方便用户,把当前获得公众信任的许多主流认证中心 CA 的根证书,都已内置在其操作系统中。这些根证书上都有认证中心 CA 的公钥 PK_{CA},而且根证书都用 CA 的私钥 SK_{CA} 进行了自签名(防止伪造)。用户为了验证要访问的服务器是否安全和可信,只要打开电脑中的浏览器,就可查到操作系统收藏的某个根认证中心的根 CA 证书,并可以利用证书上的公钥 PK_{CA} 对 B 的证书进行验证。//使用CA公钥进行验证

        那么TLS 协议的工作原理是怎样的呢?

        如下图所示,在客户与服务器双方已经建立了 TCP 连接后,就可开始执行 TLS 协议。这里主要有两个阶段,即握手阶段和会话阶段。在握手阶段,TLS 使用其中的握手协议,而在会话阶段,TLS 使用其中的记录协议

        握手阶段要验证服务器是安全可信的,同时生成在后面的会话阶段所需的共享密钥,以保证双方交换的数据的私密性和完整性。//验证服务器安全可信+生成密钥

        (1)协商加密算法:客户 A 向服务器 B 发送自己选定的加密算法(包括密钥交换算法)。服务器 B 从中确认自己所支持的算法,同时把自己的 CA 数字证书发送给 A。

        (2)证书鉴别:客户 A 用数字证书中 CA 的公钥对数字证书进行验证鉴别。

        (3)生成主密钥:客户 A 按照双方确定的密钥交换算法生成 主密钥MS (Master Secret)。客户 A 用 B 的公钥 PK_{B} 对主密钥 MS 加密,得出加密的主密钥 PK_{B}(MS),发送给服务器 B。//这里的主密钥是对称加密密钥

        (4)解密密钥:服务器 B 用自己的私钥把主密钥解密出来得到 MS。这样,客户 A 和服务器 B 都拥有了为后面的数据传输使用的 共同的主密钥 MS

3、系统安全:防火墙与入侵检测

        防火墙(firewall) 作为一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,尽可能降低这类安全威胁所带来的安全风险。

        由于防火墙不可能阻止所有入侵行为,作为系统防御的第二道防线,入侵检测系统 IDS (IntrusionDetection System) 通过对进入网络的分组进行深度分析与检测发现疑似入侵行为的网络活动,并进行报警以便进一步采取相应措施。

        什么是防火墙?

        防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略,访问控制策略可以由使用防火墙的单位自行制定。

        如上图,防火墙(淡蓝色长方体) 位于互联网和内部网络之间。互联网这边是防火墙的外面,而内联网这边是防火墙的里面。防火墙里面的网络称为 “可信的网络”(trusted network),防火墙外面的网络称为 “不可信的网络”(untrusted network)

        防火墙技术一般分为以下两类:

        (1)分组过滤路由器 是一种具有分组过滤功能的路由器,它根据过滤规则对进出内部网络的分组执行转发或者丢弃(即过滤)。过滤规则是基于分组的网络层或运输层首部的信息,例如:源/目的 IP 地址、源/目的端口、协议类型(TCP或UDP),等等。

        我们知道,TCP 的端口号指出了在 TCP 上面的应用层服务。例如,端口号 23 是 TELNET,端口号 119 是新闻网 USENET,等等。所以,如果在分组过滤器中将所有目的端口号为 23 的 入分组(incomingpacket) 都进行阻拦,那么所有外单位用户就不能使用 TELNET 登录到本单位的主机上。同理,如果某公司不愿意其雇员在上班时花费大量时间去看互联网的 USENET 新闻,就可将目的端口号为 119 的 出分组(outgoing packet) 阻拦住,使其无法发送到互联网。//通过端口号进行过滤

        分组过滤路由器的优点是简单高效,且对于用户是透明的,但不能对高层数据进行过滤。例如,不能禁止某个用户对某个特定应用进行某个特定的操作,不能支持应用层用户鉴别等。这些功能需要使用应用网关技术来实现。

        (2)应用网关 也称为 代理服务器(proxy server),它在应用层通信中扮演报文中继的角色。一种网络应用需要一个应用网关,例如,万维网缓存就是一种万维网应用的代理服务器。在应用网关中,可以实现基于应用层数据的过滤和高层用户鉴别。

        所有进出网络的应用程序报文都必须通过应用网关。当某应用客户进程向服务器发送一份请求报文时,先发送给应用网关,应用网关在应用层打开该报文,查看该请求是否合法。如果请求合法,应用网关以客户进程的身份将请求报文转发给原始服务器。如果不合法,报文则被丢弃。

        例如,一个邮件网关在检查每一个邮件时,会根据邮件地址,或邮件的其他首部,甚至是报文的内容(如,有没有“导弹”“核弹头”等关键词)来确定该邮件能否通过防火墙。

        应用网关也有一些缺点。首先,每种应用都需要一个不同的应用网关(可以运行在同一台主机上)。其次,在应用层转发和处理报文,处理负担较重。另外,对应用程序不透明,需要在应用程序客户端配置应用网关地址。

        通常可将这两种技术结合使用,上图所示的防火墙就同时具有这两种技术。它包括两个分组过滤路由器和一个应用网关,它们通过两个局域网连接在一起。

        什么是入侵检测系统?

        防火墙试图在入侵行为发生之前阻止所有可疑的通信。但事实是不可能阻止所有的入侵行为,有必要采取措施在入侵已经开始,但还没有造成危害或在造成更大危害前,及时检测到入侵,以便尽快阻止入侵,把危害降低到最小。

        入侵检测系统 IDS 就是为了解决上述问题的一种技术。IDS 对进入网络的分组执行深度分组检查,当观察到可疑分组时,向网络管理员发出告警或执行阻断操作(由于 IDS 的“误报”率通常较高,多数情况不执行自动阻断)。IDS 能用于检测多种网络攻击,包括网络映射、端口扫描、DoS 攻击、蠕虫和病毒、系统漏洞攻击等。

        入侵检测方法一般可以分为基于特征的入侵检测基于异常的入侵检测两种。

        基于特征的 IDS 维护一个所有已知攻击标志性特征的数据库。每个特征是一个与某种入侵活动相关联的规则集,这些规则可能基于单个分组的首部字段值或数据中特定比特串,或者与一系列分组有关。当发现有与某种攻击特征匹配的分组或分组序列时,则认为可能检测到某种入侵行为。这些特征和规则通常由网络安全专家生成,机构的网络管理员定制并将其加入到数据库中。基于特征的IDS 只能检测已知攻击,对于未知攻击则束手无策。//被动防守

        基于异常的 IDS 通过观察正常运行的网络流量,学习正常流量的统计特性和规律,当检测到网络中流量的某种统计规律不符合正常情况时,则认为可能发生了入侵行为。例如,当攻击者在对内网主机进行 ping 搜索时,或导致 ICMP ping 报文突然大量增加,与正常的统计规律有明显不同。但区分正常流和统计异常流是一件非常困难的事情。至今为止,大多数部署的 IDS 主要是基于特征的。//主动学习

        至此,全文结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构篇其二---单链表(C语言+超万字解析)

目录 前言: 一、顺序表的缺点和链表的引入。 二、链表概述 实现一个简单的链表 空链表的概念 三、链表的功能实现 链表的打印 链表节点的创建 链表的头插(自上而下看完分析,相信你会有所收获) 头插的前置分析 传值调用和…

OSPF的LSA与特殊区域

Area区域概念 *一个区域维护一张LSDB,路由器详细的链路信息只在这个区域内传播 不是每一台路由器都需要了解所有外部目的地的详细信息 *OSPF网络的层次化设计 通过区域ID标识 骨干( Backbone )区域,必须是area 0(骨干区域…

Dos慢速攻击

这里写自定义目录标题 Dos慢速攻击 Dos慢速攻击 测试结果为“Exit status: No open connections left",代表无此漏洞。 如果测试结束后connected数量较多,closed数量很少或0,说明之前建立的慢速攻击测试连接没有关闭&#…

书生·浦语 大模型(学习笔记-7)LMDeploy 量化部署 LLM-VLM 实践

目录 一、模型的部署 二、模型部署面临的问题 三、如何解决(两种方法) 四、LMDeploy相关知识 创建conda环境(漫长的等待) 五、使用LMDeploy与模型对话 六、设置最大KV Cache缓存大小 七、W4A16量化 八、客户端连接API服务器 一、模型的部署 二、…

NLP step by step -- 了解Transformer

Transformer模型 Transformer相关历史 首先我们先看一下有关Transformer模型的发展历史,下面的图是基于Transformer架构的一些关键模型节点: 图片来源于Hugging Face 图片来源于Hugging Face Transformer 架构 于 2017 年 6 月推出。原本研究的重点是…

Java面试八股之Java中为什么没有全局变量

Java中为什么没有全局变量 Java中没有传统意义上的全局变量,这是因为Java语言设计遵循面向对象的原则,强调封装性和模块化,以及避免全局状态带来的副作用。 封装性: 全局变量违反了面向对象编程中的封装原则,即隐藏对…

Spring Boot集成RabbitMQ快速入门Demo

1.什么是RabbitMQ? RabbitMQ是一款使用Erlang语言开发的,基于AMQP协议的消息中间件,作为一款优秀的消息系统,RabbitMQ有高并发、可扩展等优势,并适用于大型系统中各个模块之间的通信。 RabbitMQ的特点为: 持…

【白盒测试】单元测试的理论基础及用例设计技术(6种)详解

目录 🌞前言 🏞️1. 单元测试的理论基础 🌊1.1 单元测试是什么 🌊1.2 单元测试的好处 🌊1.3 单元测试的要求 🌊1.4 测试框架-Junit4的介绍 🌊1.5 单元测试为什么要mock 🏞️…

《前端面试题》- React - 如何区分函数组件和类组件

问题 如何区分函数组件和类组件? 答案 可以使用instanceof 或者Component.prototype.isReactComponent。 示例 函数组件 export default function FunctionComonent() {if(FunctionComonent.prototype.isReactComponent){console.log(FunctionComonent是类组件…

prompt提示词:AI英语词典优化版Pro,让AI教你学英语,通过AI实现一个网易有道英语词典

目录 一、前言二、效果对比三、优化《AI英语词典》提示词四、其他获奖作品链接 一、前言 不可思议!我的AI有道英语字典助手竟然与百度千帆AI应用创意挑战赛K12教育主题赛榜首作品差之毫厘 ,真的是高手都是惺惺相惜的,哈哈,自恋一…

docker 集群管理实战mesos+zookeeper+marathon(一)

一 实验环境 1.1 系统版本,本实验使用cnetos7.9版本镜像 1.2 准备5台虚拟机,其中3台master,两台slave,使用克隆的方式 1.3 使用远程连接工具登录 1.4 修改主机名 1.5 设置域名映射 每个虚拟机都配置一下,这里就演示一…

SN74LV1T125DBVR SN74LV1T125单电源单缓冲门,带三态输出CMOS逻辑电平转换器

SN74LV1T125DBVR 规格信息: 制造商:Texas Instruments 产品品种:转换 - 电压电平 RoHS:是 电源电压-最大:5.5 V 电源电压-最小:1.6 V 最小作业温度:- 40 C 最大作业温度: 125 C 安装风格:SMD/SMT 封装 / 箱体:SOT-23-5 封装:Cut Tape 封装:MouseReel 封装…

分类算法——ROC曲线与AUC指标(九)

知道TPR与FPR TPRTP/(TP FN) 所有真实类别为1的样本中,预测类别为1的比例 FPR FP/(FP TN) 所有真实类别为0的样本中,预测类别为1的比例 ROC曲线 ROC曲线的横轴就是FPRate,纵轴就是TPRate,当二者相等时,表示的意义…

使用API有效率地管理Dynadot域名,查询账户余额

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

无人机+遥控器:遥控数传链路二合一远距离传输遥控器技术详解

无人机遥控器是无人机飞行控制的重要组成部分,用于向无人机发送控制指令和接收无人机的状态信息。无人机遥控器通常具备多种功能,如开关机、起飞降落、飞行方向控制、摄像头控制等。 无人机遥控器大多数都具备以下基本特点: 无线传输&#x…

Qt | 窗口的显示及可见性|标题、透明度、启用/禁用|窗口标志、设置其他属性|获取窗口部件、设置父部件|鼠标光标

​显示事件:QEvent::show,处理函数为 showEvent(QShowEvent*) 隐藏事件:QEvent::hide,处理函数为 hideEvent(QHideEvent* ) 01 QWidget 类中与可见性有关的属性 visible:bool 访问函数: bool isVisible() const; virtual void setVisible(bool visible); 02 QWid…

3.搭建增长模型-数据洞察

用分享内容举例 分享一个内容出去,有很大概率会带来新的用户,会带来下载量 提升分享就是一个拉活用户数的方法 拆解【提升分享拉新\拉活用户数】: 【提升分享量】 【每次分享拉新\拉活用户数】 [谁在分享] 分享用户画像 分享高转化用户 …

【C 数据结构】图

文章目录 【 1. 基本原理 】1.1 无向图1.2 有向图1.3 基本知识 【 2. 图的存储结构 】2.1 完全图2.2 稀疏图和稠密图2.3 连通图2.3.1 (普通)连通图连通图 - 无向图非连通图 的 连通分量 2.3.2 强连通图强连通图 - 有向图非强连通有向图 的 强连通分量 2.3.3 生成树 - 连通图2.3…

Jenkins构建实用场景指南

1 总体说明 本文主要介绍在研发实战时,通过Jenkins解决企业级软件构建打包一些实用场景。通常是在打包构建前,通过命令和工具进行预处理,避免修改源码,可按需配置构建任务,自动持续集成。 2 Jenkins简介 2.1 复制任务 研发实战创建构建任务,推荐从已有的构建任务进行…

windows查看xxx的版本号

node -v python --version redis-server --version java -version go version mvn -version git --version