strongswan--ipsec.conf配置文件分析

ipsec.conf是stroke插件使用的配置文件,可以配置ike proposal、ike peer、ipsec proposal等属性。现对其中部分属性进行翻译/分析。

对conn的分析,来源:https://wiki.strongswan.org/projects/strongswan/wiki/ConnSection

(1)ike的生存时间(经过该时间后,ike sa会进行重协商) 

ikelifetime3h | <time> 

 

(2)特定连接(conn)的持续时间(从成功协商到超时),可以认为是ipsec sa对用户报文加密/认证的密钥存活时间

lifetime1h | <time>

注:通常在超时之前的margintime时,已经通过加密通道进行重协商了

 

(3)dpdaction = none | clear | hold | restart

  (4)  定义两种消息发送的周期时间间隔,包括R_U_THERE消息/ INFORMATIONAL交换消息。仅在未收到其他流量时才会发送。在IKEv2中,0表示不发送任何其他INFORMATIONAL消息,仅使用标准消息(例如rekey消息)来检测失效对等体。

dpddelay30s | <time> 

(5)定义超时间隔,超时后删除到对等体的所有不活跃连接。仅适用于IKEv1,在IKEv2中应用默认重传超时,因为每个交换用于检测失效对等体。  

dpdtimeout150s | <time> 

 

 

IKE SA到期之前有三种替换方式:

rekeying

ikev1不支持rekeying(只支持reauthentication)。IKEv2通过使用CREATE_CHILD_SA交互提供对IKE SA的正确内联重新加密,可以建立新密钥而不会中断现有的IKE和IPsec SA。

 swanctl.conf/vici的IKEv2配置默认使用rekeying方式

reauthentication

这种更新IKE密钥的方法从头开始创建一个完整的IKE SA,其中包括完整的IKE_SA_INIT和IKE_AUTH交换以及所有相关IPsec SA的重新创建。

ipsec.conf默认使用reauthentication

 

重新认证IKE通过两种方式完成

1)Break-before-make

这是重新验证IKEv2 SA时IKE守护程序的默认行为。这意味着在重新创建它们之前,所有IKE和IPsec SA都会被拆除。这将导致一些中断,在此期间不安装任何IPsec SA。如果使用陷阱策略,它还可能触发不必要的获取,从而在该停机时间内重复IPsec SA。为了防止明文流量离开主机,可以使用适当的防火墙规则或丢弃策略。

2)Make-before-break

此方法首先创建现有IKE和IPsec SA的副本,然后删除旧的。这避免了中断,但要求两个对等体都可以处理重叠的SA(例如,关于虚拟IP,重复策略或更新脚本)。strongswan 5.3.0之后的版本在IKEv2中支持,但默认情况下处于禁用状态,可以通过设置strongswan.conf配置文件中的属性charon.make_before_break启用。

IKEv1 SA也使用先接后断方案重新加密/重新认证,但只有IKE SA受到影响。 IPsec SA由新的IKE SA采用,不会重新创建。

IKEv2 Responder Behavior

配置了重新认证的响应者将使用RFC 4478定义的AUTH_LIFETIME通知来要求客户端在特定时间之前重新进行身份验证。如果响应者本身无法启动重新认证(例如由于EAP之类的非对称认证),如果客户端未能及时重新认证SA,它将关闭IKE_SA。响应者将计算所得的/随机化的重新认证时间发送给客户端(而不是SA的硬生命周期)。

注:strongSwan作为客户端,即使在配置中禁用了重新认证(或配置不同),也将遵守AUTH_LIFETIME通知。它从接收的生命周期中减去本地配置的over_time(或margintime)并安排重新认证。

 

posted @ 2018-08-21 11:49  爱新陀螺  阅读(2546)  评论(0编辑  收藏  举报