更新日志
2020年10月4日 完成大部分内容
2020年11月1日 更新IPSec提供的性质
相关文章:
《IKEv1和IKEv2对比,场景和原理》
前言:手工方式IPSec VPN的加密和验证所使用的秘钥都是手工配置的,为了保证IPSec VPN的长期安全,需要经常修改这些秘钥。分支机构越来越多,秘钥的该配置和修改工作量越来越大--
为了降低IPSec VPN的维护工作量,出现了智能的秘钥管家——IKE协议。
IKE(因特网秘钥交换协议)综合了三大协议:
- ISAKMP:定义了IKE Peer之间的合作关系(即IKE SA,与IPSec SA类似)的建立过程
- Oakley和SKEME协议:核心是DH算法,主要用于Internet上安全地分发秘钥、验证身份,以保证数据传输的安全性。IPSec SA和IKE SA需要的加密密钥、验证秘钥都是通过DH算法生成,还可以动态刷新
IKE(Internet Key Exchange)的安全机制:
- 身份认证:确认双方信息(对等体的ID),包括:预共享秘钥PSK认证,数字签名RSA认证
- 身份保护
- DH秘钥交换算法:产生秘钥材料,并通过ISAKMP消息在发送和接收设备之间进行秘钥材料交换。然后各自计算出完全相同的对称秘钥。[IKE精髓]
- 完善的向前安全性PFS:短暂的一次性秘钥系统,在IPSec里,PFS是通过在IPSec SA协商阶段重新进行一个DH交换实现的
性质
机密性:对数据进行加密,确保数据在传输过程中不被非法查看
加密有对于流的加密:RC4、数据块加密:DES、3DES、AES 128/192/256
完整性:对接收到数据包进行完整性验证,以确保数据在传输过程中没被篡改。
MD5/SHA-1/SHA-2等
MD5算法的计算速度比SHA-1算法快,而SHA-1算法的安全强度比MD5算法高,SHA-2、SM3算法相对于SHA-1来说,加密数据位数的上升增加了破解的难度,使得安全性能要远远高于SHA-1
真实性:验证数据源,以保证数据来自真实的发送者(IP报文头内的源地址)
三种验证方式:域共享密钥、数字证书、公钥加密(数字信封)
抗重性:防止恶意用户通过重复发送捕获到数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包
用户数据加密(DES、3DES、AES-128/192/256)
密钥长度: 56、 168、128 192 256
私密性介绍(what、how)--->先说2类加密算法以及这两类算法的主要区别,然后再细分,--->ipsec 隧道模式封装(3个)
用户数据加密(DES、3DES、AES-128/192/256)
密钥长度: 56、 168、128 192 256
私密性介绍(what、how)--->先说2类加密算法以及这两类算法的主要区别,然后再细分,--->ipsec 隧道模式封装(3个)
通过用户数据加密提供数据私密性
通过ESP的加密功能以及ESP协议的报文填充功能来完成。在传输前对数据进行加密,可以保证在传输过程中,即使数据包遭截取,信息也无法被读取,该特性在IPSec中为可选项,与IPSec策略的具体设置相关
野蛮模式 vs 主模式(IKEv1)
区别:
- 主模式6个报文,野蛮模式3个报文,野蛮模式更快
- 野蛮模式ID第1个报文发送,主模式第5个报文加密,主模式更安全,所以野蛮模式支持动态IP场景(比如域名)
- 主模式常用,野蛮模式不常用,推荐使用模板方式
主模式:
- 第1-2包:协商参数
- 第3-4包:交换秘钥素材,计算秘钥
- 第5-6包:身份验证
野蛮模式:
- 第一个包:头部,发送SA策略(A发送HDR SA KE Ni IDi)
- 第二个包:确认SA策略(B发HDR SA KE Nr Idr hashr)
- 第三个包:发送者发送HASH_I给响应者,对方收到验证发起者的身份
HDR头部内容:SPI、版本、交换类型、载荷类型
安全联盟内容:
- 认证算法:sha1(160)sha2(256\384\512)MD5
- 认证方式:RSA、预共享密钥
- 加密算法:DES(128)、3DES(168)、AES(128\192\256)
- DH组:1(768)、2(1024)、14(2048)
- 加密算法:DES(128)、3DES(168)、AES(128\192\256)
第二阶段:
都是加密的,由第一阶段服务。每一个数据包里面都会有一个HASH值。
IKE的作用:
- 协商参数
- 计算秘钥
- 身份验证
GRE和IPSec的区别?
- GRE是明文传输,不支持加密,IPSec支持加密
- GRE可以更好的支持IPV6、组播、语音流量、视频流量的传输;而IPSec默认不支持组播的传输,要结合GRE才能实现
- 封装方式不通GRE、ESP/AH
IKE的Proposal有4个参数:
加密算法 验证算法 身份认证方式 DH组
skeyid
- Skeyid:种子秘钥,用于衍生出后续秘钥的素材
- Skeyid_a:快速模式用来做完整性校验的秘钥
- Skeyid_e:第5个包,第6个包以及快速模式加密的秘钥
- Skeyid_d:用于衍生出后续真正业务传递所有用到的秘钥素材 Ni和Nr是参与运算的随机数
华为设备中配置使能NAT穿越
nat traversal //双方同时开启 默认为开启
Hash函数如何来做验证:
- 不可逆推
- 相同输入得到相同输出(将数据Hash得到一个Hash值,将数据和Hash值一起发给对端,对端收到后对数据也进行Hash,将得到Hash值与收到的Hash值做对比,相同则说明数据未被篡改)
- 定长输出
- 雪崩效应(少量消息位的变化会引起信息摘要的许多位变化)
NAT-T需要在IEKv1阶段1协商中对NAT执行两种探测
- 探测是否支持NAT穿越(NAT-T):使用VID载荷来确定是否支持NAT穿越
- 探测网络中是否存在NAT网关:使用NAT-D载荷探测IKE对等体之间是否存在NAT网关及位置(谁在网关后)
两种模式
传输模式 | 隧道模式 |
一个点到一个点 | 私网到私网 |
不增加新的IP头 | 增加新的IP |
全部路由可达 | 安全性高 |
占用少的带宽 (至少20字节) 因为多了IP头 | 可对原始IP数据 进行验证和加密 |
IPSec与NAT
IP地址转换不会破坏ESP校验的HASH值。
对于同时转换端口以IP地址的NAT来说,ESP无法穿越NAT。如果NAT只转换IP地址,那么不管是传输模式还是隧道模式均能穿越NAT
NAT策略方面:策略前置 旁路掉感兴趣流
自我思考[面试重点在此]
问1. DH组2是多少位的?解释一下DH算法?
答1. 1024位
问2. IKE头部的cookie值,作用?
答2. 1.推导秘钥;主模式中,四个秘钥是通过Cookie作为参数推导出来的;2.表示本次主模式协商,相当于ID作用
问3. AH和ESP的区别?
答3. AH HASH的是整个报文,值放在AH头部里面,ESP HASH的只是ESP头和ESP尾 巴,外层IP头不HASH。加密的是内层IP---ESP尾巴,因为ESP头部里面有SPI,后面要用 来查找秘钥的。ESP的HASH值放在ESP AUTH DATA里面。AH不支持加密
问4. AH和ESP能提供哪些安全功能?
答4. AH:完整性2.防重放3.身份验证。ESP:身份验证 加密完整性检查,防重放攻击
问5. 秘钥长度越长,加密强度越强吗?
答5. 不是!
问6. 为什么主模式不支持动态IP?
答6. 主模式支持的remote-id(用来做身份验证的ID)只能是IP地址,野蛮模式通过ID找,一般ID是域名,IP可以变,域名不会变
问7. ESP头部为什么不加密?
答7. ESP头里有SEQ和SPI,SEQ用来防止重放攻击,SPI作为索引到本地数据库找秘钥
问8. IKE V1中ACL的配置需要注意什么?
答8. 两端互为镜像。如果使用策略模板,模板那侧不需要启动ACL
问9. IKEV2如何实现抗DDOS攻击?
答9. 源认证,通过IKE头部里的cookie值做源认证
问10. AH和ESP的区别?
答10.
AH | 不加密业务数据 | 做HASH时包括外层(IP) | 不支持NAT穿越 | 51 |
ESP | 支持加密业务数据 | 不包括外层(IP) | 支持NAT穿越 | 50 |
AH不支持NAT-T(对整个头做了hash,改变了hash值),ESP支持
AH不支持加密,AH不支持NAT-T,ESP支持加密
问11. 预留
答11. 预留
问12. 证书的生命周期有哪些?
答12. 申请、颁发、存储、使用、验证、注销
问13. 防火墙和路由器协商建立IPSec隧道起不来,检查网关均无问题,如何解决?
答13. 第一、不同厂家,关键配置的算法可能区别。第二、同厂家,配置参数,版本不一
解决:参数调成最低,链路的MTU,调整MTU;运营商可能禁用端口,需要向运营商报备
问14. 模板方式中,总部配置需要注意什么?
答14. 1.不配remote-address;2.不配ACL3.路由注入4.ipsec policy-temp序列号放最下面
问15. IKEv2预共享秘钥在哪个报文交互?
答15. PSK不发送
问16. 如何快速诊断IPSec隧道建立失败的原因?
答16. WEB界面 诊断一分钟以上 debugging
问17. 要想实现私网互访能不能使用IPSec隧道模式封装?
答17. 单纯的IPSec隧道是不可以的,但是如果有隧道封装模式的传输模式可以
问18. 可以使用Loopback接口创建IPSec隧道吗?需要注意什么?
答18. 可以,在配置IPSec Policy的时候V1的时候local address;V5的时候 tunnel local
问19. LAB里面,R4 Ping R5通,FW1上会产生多少会话?ESP会话有什么特点?
答19. 三条:ICMP(触发、允许通过) UDP500 ESP
ESP会话只有流量返回才会创建会话,流量是直接发送而不需要走转发流程
问20. R5 Ping R4 通,FW1上新增多少会话?
答20. 新增2条会话 UDP500已经存在,ESP ICMP
问21. AH-ESP如何实现身份验证?
答21. 传输模式:IP AH ESP TCP DATA ESP 尾部 ESP 认证
隧道模式:NEWIP AH ESP RAWIP TCP DATA ESP 尾部 ESP 认证
问22. 华为设备如何查看隧道是否建立成功?
答22. display ike sa 中的flag RD表示建立成功、ST表示隧道协商发起方;M主S备
问23. DPD是使用寿命报文进行封装的?
答23. DPD用来检测的,不是保活的,通过UDP报文在ESP中封装
问24. IKEv1和v2如何协商NAT-T,与IKEv1有什么区别?
答24. V2双方默认都支持,直接在IKE信息中插入两个N载荷,第一个N载荷包含本端的IP地址和端口的HASH值,第二个N载荷包含IKE对等体的IP地址和端口的HASH值,响应方也计算两个HASH值,两方计算这两个hash值,两方计算的哪个hash值不相等,标明哪个设备在NAT网关后
问25. UDP4500的作用是什么?可以修改改端口号吗?
答25. 1、表示该条SA是穿越了NAT;2、ESP没有端口号,在IP后面插入UDP/4500用来转换端口。可以修改端口号,ipsec nat-t 4501-49151
问26. IKE的DPD和keeplive有何区别?
答26. 都是检测隧道对端设备是否工作正常的。区别是DPD是按需发送(节省带宽,只有在报文发送之前或隧道没有报文才发送),而keeplive是周期性反复发送
问27. 传输模式是否支持NAT穿越?为什么?
答27. 不支持,因为有TCP校验核
问28. ESP AH的TTL填多少秒
答28. AH 240s ESP 600s
问29. 什么表示了IPSec SA?答29:SPI
问30. IPSec SA为什么是单向的?
答30. 因为数据流是单向触发的
问31. IPSec中使用PSK和证书认证哪个快?
答31. 一样快
问32. IPSec两端的内网地址是否可以在同一个网段?|| 答32. 可以
问33. ACL写错有什么现象?
答33. 1.ipsec SA没有建立,能看见IKE SA
2.会话表中没有ESP会话,但是能看到UDP/500
3.通过display ike sa 可以看到mis match日志
问34. ESP会话表
答34.
问35. 传输模式和隧道模式的区别?
答35. 传输模式:一般用于一个点到一个点,不会增加新的 IP 头部,全部路由可达;性能,传输 会比隧道占用少的带宽(至少 20 个字节的带宽),因为隧道多了一个 IP 头部
隧道模式:一般用于私网访问私网,会增加新的 IP;安全性,隧道优于传输,可以对原始的 IP 数据进行验证和加密;
问36. NAT-T可以换端口吗?
答36. 4501--49151
问37. 网关1和网关2 IPSec建立后,网关1可以ping通网关2,也可以建立IPSec;但是网关2ping不通网关1,建立不了IPSec,是什么原因?
答37. 版本不一致
问38. 两台华为FW建立IPSec ,一边是V1一边是V2,可不可以建立IPSec?
答38. 可不可以取决于从哪边先发起,V1先发起是通的,从V2发起不行
IPSec内容就更到这里 其他IPSec内容查看其他博文
- IKEv1和IKEv2对比,场景和原理https://www.xuemian168.com/?p=327
- 预留
- 预留