“智能密钥管家”IKE

IKE的出现

上一篇通过IPSec实现了BJ到CS的业务互通,但是是通过手工方式把加密和验证密钥手动配置,为了保障安全性,就需要经常去修改这些密钥,小型场景还好,来来回回就这2个点,

修改起来不算麻烦,但是随着企业业务发展,分支数量点增加,维护的工作量越大,最终需要投入更多成本进去。为了解决这个问题,智能密钥管家 IKE就出现了,它也加入了IPSec协议框架中,它为IPSec提供了在internet不安全的网络下建立出一个安全的隧道来完成密钥的自动协商、建立IPSec sa的功能,简化了IPSec的配置与维护工作。

IKE的组成

IKE也不是一个单独的协议,它有三大协议综合而成

(1)isakmp:(Internet Security Association Key Management Protocol),主要定义了IKE peer之间的建立过程(比如采用什么模式,每个模式下交互的内容,这个在后面建立IPSec的时候,会更加的直观)

(2)Oakley与SKEME协议的主要功能就是采用DH算法,在internet上安全的协商共同的密钥、身份验证,保证数据传输的安全性,并且并没有硬性规定只允许使用什么的加密验证算法,这使得扩展性非常好,只要有新的加密跟验证算法出来就能够直接融入进去。记得博主学的时候那会主流还是加密算法还是DES跟3DES,现在基本就以AES为主了。

IKE在IPSEC中实际作用

IKE可以实现在两个站点之间安全的进行认证身份,分发密钥,动态的建立IPSec SA,并且能够定期的维护与更新IPSec SA的信息,保证安全性。

图片

博主在补充个自己总结,在之前手工建立IPSec中,密钥都是由管理员自己定义,而IKE能够通过DH算法自动生成两边相同的密钥,并且这个密钥是有有效期的,到了定义的时间,它就会重新协商密钥,既解决了密钥的维护成本又保证了安全性,另外在建立IPSec SA的时候,IKE会先建立IKE SA,这个SA也是一个加密的安全隧道,它的作用是保障在internet不安全的网络下,构件一个安全隧道,然后两个peer之间在这个安全的隧道下进行协商IPSec SA。

IKE与ISAKMP

IKE的最终目标是协商两边站点之间建立动态的IPSec隧道,能够实时维护IPSec SA信息,而进行IKE工作则由ISAKMP报文来完成,在配置之前,了解下ISAKMP的报文,对于后续理解会很大的帮助。

图片

1、IP头部:源地址一般为出口接口地址,目的地址为对端发起IKE协商的地址,通常为对方设备接口的公网IP。

2、UDP头部:IKE通常情况下在两边都有公网地址(静/动态)的情况下,使用UDP500发起协商或者响应协商,但是当两边对接场景有一边没有公网地址(私网地址),则会用特殊的UDP4500端口号,这个后续在讲解NAT穿越的时候会详细讲解。

3、ISKAMP头部,这里讲解几个重要的字段,对于整个建立以及排错有帮助的。

  • initiator跟Responder Cookie,启动跟响应SA的建立、SA通知、SA删除,用于唯一标识一个IKE SA

  • Mjver(version):IKE的版本,目前有两个版本,IKEV1,以及IKEV2,目前应用还是IKEV1比较多(很多低端设备不支持IKEV2)

  • 交换类型(Exchange type):定义了ISKAMP消息交换顺序,在IKEV1中会有主模式以及野蛮模式、快速模式,它们之间的交互流程是不一样的(后面会介绍)

这些内容的目前做一个大致的了解,后续配合抓包分析,就会更加明了。

实验来感受IKE/IPSec结合

图片

IKE/IPSEC的组合是目前工作中主流的应用方式,后续就不在提及IKE/IPSEC的字样,就直接称呼为IPSec,在配置了IPSec之前跟手工的方式一样有几个注意的地方。(该拓扑配置记得保存,后面两篇会一直使用)

(1)BJ_FW到CS_FW公网可达

(2)BJ_FW和CS_FW上安全策略要允许两边的网段通过。

实际配置

这里基本的组网配置说下,双方都配置了出口地址以及内网地址,出口写了默认路由,并且安全策略直接是全放(简化环境),没有配置NAT策略。

互联网#interfaceGigabitEthernet0/0/0 ip address 202.100.1.254 255.255.255.0#interfaceGigabitEthernet0/0/1 ip address 202.100.2.254 255.255.255.0
BJ_FWinterfaceGigabitEthernet1/0/0 undo shutdown ip address 192.168.10.254 255.255.255.0#interfaceGigabitEthernet1/0/1 undo shutdown ip address 202.100.1.1 255.255.255.0 service-manage ping permit#firewall zone trust set priority 85 add interface GigabitEthernet0/0/0 add interface GigabitEthernet1/0/0#firewall zone untrust set priority 5 add interface GigabitEthernet1/0/1#ip route-static 0.0.0.00.0.0.0 202.100.1.254#security-policy default action permitCS_FWinterfaceGigabitEthernet1/0/0 undo shutdown ip address 192.168.20.254 255.255.255.0#interfaceGigabitEthernet1/0/1 undo shutdown ip address 202.100.2.1 255.255.255.0 service-manage ping permit#firewall zone trust set priority 85 add interface GigabitEthernet0/0/0 add interface GigabitEthernet1/0/0#firewall zone untrust set priority 5 add interface GigabitEthernet1/0/1#ip route-static 0.0.0.00.0.0.0 202.100.2.254#security-policy default action permit

图片

图片

两边的基本通信都正常了,下面开始基于IKE方式的IPSec配置。

图片

对比与手动配置来说,多了一个IKE的配置,少了SPI与密钥的配置,也体现出来了使用IKE动态的管理密钥的功能。

图片

ping通了,但是丢了两个包,一个是解析ARP丢的,另外一个就是IKE/IPSEC协商花费的时间。

图片

访问WEB也没问题,来看看IKE以及IPSEC在华为防火墙上面的体现。

IKE与IPSec SA在防火墙上面的体现

图片

图片

通过display ike sa,可以发现不管是BJFW还是CSFW都有对应的SA信息,但是对比来看,有有一些不太一样的地方,这里先了解几个比较重要的字段。

1、Conne-id:安全联盟索引值,便于快速查找对应的信息

2、Peer:这里为对端IP地址和端口号

3、Flag:可以看到BJ与CS多了一个ST,这里说几个关键的flag状态

  • RD:标识SA建立成功了

  • ST:表示是发起方,因为实验里面是由BJFW下面的PC主动发起的访问,自然触发了SA的协商

  • A:IPSEC策略组不处于备份状态,默认的状态,只要建立了都会有该标识。

4、V1:1以及V1:2,这里前面的V1表示IKEV1的版本,后面的1跟2表示阶段,1表示第一阶段,也就是IKE隧道协商,而2表示第二阶段,IPSEC sa的协商。

5、IP:对端用的ID类型,默认为IP,也可以使用别名

6、RmoteID:对端的ID,通常为对端的IKE协商或者响应的公网IP地址。

这些字段目前只是了解,后面在排错的时候会有很大的帮助,这里最关键的就是Flag的体现,它能够很好的反应出当前IKE与IPSEC进行到哪了。

图片

通过display ipse sa显示的内容,其实跟之前手动配置的IPSEC sa的内容大致是相同的,有几个不一样的地方,来看看。

1、mode:在手动的时候显示的是manual,用了IKE后变成了ISKAMP,也就是说是由IKE/ISKMAP来完成整个的IPSec协商。

2、tunnel的local与remote 后面多了一个:500,在手动的时候为0,这里为500,表示采用isakmp的UDP 500

3、多了一个flow source与destiantion:这个实际上就是体现出来哪些流量走IPSec SA隧道,192.168.10.0/255.255.255.0表示整个192.168.10.0的网段,后面的0/0-65535表示IP,也就是192.168.10.0访问192.168.20.0任意流量都走隧道。

4、outbound esp与inbound esp与手动其实是一样的,只是这里的SPI是随机生成。

“承上启下”

整体下来就是当192.168.10.1去访问192.168.20.2的时候,抵达BJ防火墙触发IPSEC sa建立,首先两边IKE/ISKAMP进行协商,建立一个安全的通道,然后在安全的通道下面完成IPSEC sa的建立,最终用户的实际数据流量通过这个IPSec SA的通道进行安全的传输。这个只是大致的流程,但是IKE具体是如何协商的,中间经历了什么样的变化,为什么是主模式与野蛮模式?下一篇 结合配置、抓包以及数据包的流动综合来全面了解整个IKE/IPSec是如何建立的。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

解决SVN蓝色问号的问题

桌面或文件夹右键,选择TortoiseSVN->Settings打开设置对话框,选择Icon Overlays->Overlay Handlers->取消钩选Unversioned。确定,重启系统即可

CodeGeeX4:程序员的高效助手,多语言代码生成神器!

你是否曾在编写代码时,为复杂的语法、逻辑错误而绞尽脑汁?或是在面对多个编程语言的切换时,感觉脑子快要爆炸?别担心!一款全新的多语言代码生成神器——CodeGeeX4,正悄然成为程序员们的“救命稻草”。它不仅…

【工具变量】地市环保法庭试点城市DID数据集(2005-2023年)

数据简介:环保法庭是中国司法体系中专门处理环境资源案件的审判机构,其主要职责包括审理涉及自然环境污染、矿产资源保护、自然资源环境开发等环境资源民事纠纷案件,对不服下级人民法院生效裁判的环境资源民事案件进行审查,以及对…

如何在Chrome最新浏览器中调用ActiveX控件?

小编最近登陆工商银行网上银行,发现工商银行的个人网银网页,由于使用了ActiveX安全控件,导致不能用高版本Chrome浏览器打开,目前只有使用IE或基于IE内核的浏览器才能正常登录网上银行,而IE已经彻底停止更新了&#xff…

C++:类和对象OJ题

目录 一、求123...n 二、计算日期到天数的转换 三、日期差值 四、打印日期 一、求123...n 这里先把题目链接放在这里求123.....n 描述: 求123...n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C…

介绍 2款 Oracle 开发工具

准备工作 Oracle SQL Developer 下载(免费) Oracle 的官方网站下载 Oracle SQL Developer。以下是下载的步骤: 访问 Oracle SQL Developer 官方下载页面。点击页面上的“下载”链接。选择适合你操作系统的版本(Windows、macO…

第十五章:使用html、css、js编程制作一个网页版的下雪场景动画

背景:这是一个充满诗意的下雪场景代码。打开网页时,雪花轻轻飘落,覆盖住你的屏幕,仿佛置身于冬日的夜空下。背景音乐《我期待的不是雪》缓缓响起,伴随着雪花的飘动,仿佛心中的那份爱与温柔悄然绽放。 雪花的飘落是梦境般的存在,每一片雪花都是轻盈的告白,旋转着从天际…

百度营销转化追踪(网页JS布码)

引言:使用百度营销api配置网站上各个模块组件的转化追踪,统计网站上的各组件模块点击等信息。 一、选择接入方式(本文选择的是网页JS布码) 参考文档:百度营销-商业开发者中心百度开发者中心是一个面向开发者的知识分享…

『功能项目』QFrameWork制作背包界面UGUI【72】

本章项目成果展示 我们打开上一篇71QFrameWork更新道具图片UGUI的项目, 本章要做的事情是制作背包UI界面,实现道具栏与背包道具的互通 首先将以下资源图片放进Art文件夹 将UICanvas的UISlot对象复制一份放在Image下 创建Scrollbar View 设置Scrollbar V…

Resolving and Binding

1 Semantic Analysis中的变量绑定解析 背景:当一个变量在一个循环里赋值100次。那么这个变量会被赋值100次。当右侧是函数时,这非常没必要。这个可以通过静态的分析来避免这个问题。这个分析就是Sematic Analysis中的一个例子。 具体做的事情叫 2 把定…

10.解析解方法推导线性回归——不容小觑的线性回归算法

引言 线性回归是许多复杂机器学习模型的基础。作为一种基本的机器学习方法,线性回归提供了清晰的思路和工具,通过理解其推导过程,可以更好地掌握机器学习的基本原理和模型设计。 通过阅读本篇博客,你可以: 1.学会如…

对抗攻击的详细解析:原理、方法与挑战

对抗攻击的详细解析:原理、方法与挑战 对抗攻击(Adversarial Attack)是现代机器学习模型,尤其是深度学习模型中的一个关键安全问题。其本质在于,通过对输入数据添加精微的扰动,人类难以察觉这些扰动&#…

Cyber Weekly #25

赛博新闻 1、阿里云Qwen2.5发布!再登开源大模型王座,Qwen-Max性能逼近GPT-4o 阿里云在云栖大会上宣布通义千问发布新一代开源模型Qwen2.5,开源旗舰模型Qwen2.5-72B性能超越Llama3.1-405B,再次登上全球开源大模型的王座&#xff…

【优选算法之二分查找】No.5--- 经典二分查找算法

文章目录 前言一、二分查找模板:1.1 朴素二分查找模板1.2 查找区间左端点模板1.3 查找区间右端点模板 二、二分查找示例:2.1 ⼆分查找2.2 在排序数组中查找元素的第⼀个和最后⼀个位置2.3 搜索插⼊位置2.4 x 的平⽅根2.5 ⼭脉数组的峰顶索引2.6 寻找峰值…

鸿蒙开发(NEXT/API 12)【跨设备互通NDK开发】协同服务

跨设备互通提供跨设备的相机、扫描、图库访问能力,平板或2in1设备可以调用手机的相机、扫描、图库等功能。 说明 本章节以拍照为例展开介绍,扫描、图库功能的使用与拍照类似。 用户在平板或2in1设备上使用富文本类编辑应用(如:…

深入理解 flex-grow、flex-shrink、flex-basis

目录 1. Flex布局 2. flex-grow 计算方式 3. flex-shrink 计算公式 4. flex-basis 5. 应用场景 6. 总结 1. Flex布局 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性 flex属性是flex-grow, flex-shrink 和…

vscode安装ESLint与Vetur插件后自动修复代码不生效

vscode安装ESLint与Vetur插件后自动修复代码不生效 1、安装ESLint 和 Vuter 2、运行结果 2.1、代码保存时代码中的分号;能被检测出来,但是不会自动修复 2.2、手动运行ESLint 修复命令(在终端中执行 npx eslint . --fix)可以修复问题 3、解决办法 在.vscode目录下setti…

Spring Boot 3.x 配置 Spring Doc以及导入postman带图详解

一、pom.xml配置 <!-- API⽂档⽣成&#xff0c;基于swagger3 --><dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.0.2</version></dependency>…

STL-set/multiset关联式容器

目录 一、常见接口 1.0 迭代器 1.1 构造函数 1.2 增删查 1.3 查找和统计 二、multiset 2.1 构造 2.2 查找 2.3 删除 2.4 统计 关联式容器是⽤来存储数据的&#xff0c;与序列式容器不同的是&#xff0c;关联式容器逻辑结构通常是⾮线性结构&#xff0c;两个位置有紧密…