Version 5.4.0 » History » Version 2
Tobias Brunner, 22.03.2016 17:11
1 | 1 | Tobias Brunner | h1. Version 5.4.0 |
---|---|---|---|
2 | 1 | Tobias Brunner | |
3 | 2 | Tobias Brunner | * Support for IKEv2 redirection ("RFC 5685":https://tools.ietf.org/html/rfc5685) has been added. Plugins may |
4 | 2 | Tobias Brunner | implement the @redirect_provider_t@ interface (source:src/libcharon/sa/redirect_provider.h) |
5 | 2 | Tobias Brunner | to decide if and when to redirect connecting clients. It is also possible to |
6 | 2 | Tobias Brunner | redirect established IKE_SAs based on different selectors via [[vici]]/[[swanctl]]. |
7 | 2 | Tobias Brunner | Unless disabled in [[strongswan.conf]] the charon daemon will follow redirect |
8 | 2 | Tobias Brunner | requests received from servers. |
9 | 2 | Tobias Brunner | |
10 | 2 | Tobias Brunner | * The @ike:@ prefix enables the explicit configuration of signature scheme |
11 | 2 | Tobias Brunner | constraints against IKEv2 authentication in _rightauth_, which allows the use |
12 | 2 | Tobias Brunner | of different signature schemes for trustchain verification and authentication. |
13 | 2 | Tobias Brunner | Configuration of such constraints via [[vici]]/[[swanctl]] is now also possible. |
14 | 2 | Tobias Brunner | |
15 | 2 | Tobias Brunner | * The initiator of an IKEv2 make-before-break reauthentication now suspends |
16 | 2 | Tobias Brunner | online certificate revocation checks (OCSP, CRLs) until the new IKE_SA and all |
17 | 2 | Tobias Brunner | CHILD_SAs are established. This is required if the checks are done over the |
18 | 2 | Tobias Brunner | CHILD_SA established with the new IKE_SA. This is not possible until the |
19 | 2 | Tobias Brunner | initiator installs this SA and that only happens after the authentication is |
20 | 2 | Tobias Brunner | completed successfully. So we suspend the checks during the reauthentication |
21 | 2 | Tobias Brunner | and do them afterwards, if they fail the IKE_SA is closed. This change has no |
22 | 2 | Tobias Brunner | effect on the behavior during the authentication of the initial IKE_SA. |
23 | 2 | Tobias Brunner | |
24 | 2 | Tobias Brunner | * For the [[vici]] plugin a Vici:Session Perl CPAN module has been added to allow |
25 | 2 | Tobias Brunner | Perl applications to control and/or monitor the IKE daemon using the VICI |
26 | 2 | Tobias Brunner | interface, similar to the existing Python egg or Ruby gem. |
27 | 2 | Tobias Brunner | |
28 | 2 | Tobias Brunner | * Traffic selectors with port ranges can now be configured in the Linux kernel: |
29 | 2 | Tobias Brunner | e.g. _remote_ts = 10.1.0.0/16[tcp/20-23]_ and _local_ts = dynamic[tcp/32768-65535]_. |
30 | 2 | Tobias Brunner | The port range must map to a port mask, though, since the kernel does not |
31 | 2 | Tobias Brunner | support arbitrary ranges. |
32 | 2 | Tobias Brunner | |
33 | 2 | Tobias Brunner | * The [[vici]] plugin allows the configuration of IPv4 and IPv6 address ranges |
34 | 2 | Tobias Brunner | in local and remote traffic selectors. Since both the Linux kernel and |
35 | 2 | Tobias Brunner | @iptables@ cannot handle arbitrary ranges, address ranges are mapped to the |
36 | 2 | Tobias Brunner | next larger CIDR subnet by the _kernel-netlink_ and _updown_ plugins, respectively. |
37 | 2 | Tobias Brunner | |
38 | 2 | Tobias Brunner | * Implemented IKEv1 IPv4/IPv6 address subnet and range identities that can be |
39 | 2 | Tobias Brunner | used as owners of shared secrets. |
40 | 2 | Tobias Brunner | |
41 | 2 | Tobias Brunner | * The new _p-cscf_ plugin can request P-CSCF server addresses from an ePDG via |
42 | 2 | Tobias Brunner | IKEv2 ("RFC 7651":https://tools.ietf.org/html/rfc7651). Addresses of the same families as that of requested virtual |
43 | 2 | Tobias Brunner | IPs are requested if enabled in [[strongswan.conf]] for a particular connection. |
44 | 2 | Tobias Brunner | The plugin currently writes received addresses to the log. |
45 | 2 | Tobias Brunner | |
46 | 2 | Tobias Brunner | * The default proposals now use a security strength of 128 bit. The default DH group |
47 | 2 | Tobias Brunner | for IKE is now either _ecp256_ or _modp3072_, depending on whether the _openssl_ plugin |
48 | 2 | Tobias Brunner | is loaded or not. The default ESP proposal is _aes128-sha256_, which requires HMAC-SHA2-256 |
49 | 2 | Tobias Brunner | support with 128 bit truncation, which the Linux kernel correctly implements since 2.6.33. |
50 | 2 | Tobias Brunner | But there are reports that other implementations might still not do so (#1353). |
51 | 2 | Tobias Brunner | |
52 | 2 | Tobias Brunner | * DH groups are now listed for CHILD_SAs in @ipsec statusall@. Note that for IKEv2 the |
53 | 2 | Tobias Brunner | first CHILD_SA is created without a separate DH exchange (the key material is derived |
54 | 2 | Tobias Brunner | from the IKE keys). Therefore any DH group will only be listed after the first rekeying |
55 | 2 | Tobias Brunner | of such a CHILD_SA. For CHILD_SAs created with a separate CREATE_CHILD_SA exchange |
56 | 2 | Tobias Brunner | and for IKEv1 a DH group will always be listed if PFS(Perfect Forward Secrecy) is used. |
57 | 2 | Tobias Brunner | |
58 | 2 | Tobias Brunner | * IKE SPIs are now printed in network byte order in log messages and status output. |
59 | 2 | Tobias Brunner | |
60 | 2 | Tobias Brunner | * Start actions configured via [[vici]] are reversed when configs are unloaded, unchanged |
61 | 2 | Tobias Brunner | child configs are not affected by this anymore. Any IKE_SA that ends up without CHILD_SAs |
62 | 2 | Tobias Brunner | after that is now closed. |
63 | 2 | Tobias Brunner | |
64 | 2 | Tobias Brunner | * Asynchronous initiation and termination is supported via [[vici]] by specifying a timeout of -1. |
65 | 2 | Tobias Brunner | |
66 | 2 | Tobias Brunner | * To distinguish child configs with the same name associated with different |
67 | 2 | Tobias Brunner | connection entries the name of the connection may be sent in the initiate/install |
68 | 2 | Tobias Brunner | [[vici]] commands using the _ike_ parameter. |
69 | 2 | Tobias Brunner | |
70 | 2 | Tobias Brunner | * The [[vici]] plugin and [[swanctl]] now support authentication with raw public keys. Also, |
71 | 2 | Tobias Brunner | the commands used to manage and list certificates/keys have been extended. |
72 | 2 | Tobias Brunner | |
73 | 2 | Tobias Brunner | * Multiple authentication rounds sent via [[vici]] may now be ordered by the optional _round_ |
74 | 2 | Tobias Brunner | parameter instead of by the order of the _local/remote*_ sections in the request (required for |
75 | 2 | Tobias Brunner | the Perl bindings that don't use ordered dictionaries). |
76 | 2 | Tobias Brunner | |
77 | 2 | Tobias Brunner | * The [[vici]] plugin and [[swanctl]] are now enabled by default. |
78 | 2 | Tobias Brunner | |
79 | 2 | Tobias Brunner | * CHILD_SAs of IKEv1 SAs might now optionally (_charon.delete_rekeyed_ in [[strongswan.conf]]) |
80 | 2 | Tobias Brunner | be deleted immediately after they got successfully rekeyed instead of waiting for the hard |
81 | 2 | Tobias Brunner | timeout, which could be problematic if traffic based limits are used. |
82 | 2 | Tobias Brunner | |
83 | 2 | Tobias Brunner | * The _charon.reuse_ikesa_ option is now always enabled for IKEv1 (commit:24ab8530e5). |
84 | 2 | Tobias Brunner | |
85 | 2 | Tobias Brunner | * IPv6 virtual IPs are now correctly sent for IKEv1 (commit:91d80298f9). The incorrect encoding is |
86 | 2 | Tobias Brunner | still accepted but the new encoding might cause problems for older strongSwan clients. |
87 | 2 | Tobias Brunner | |
88 | 2 | Tobias Brunner | * No NAT keepalives are sent if a host has lost connectivity (i.e. no local address is found to |
89 | 2 | Tobias Brunner | reach the peer). |
90 | 2 | Tobias Brunner | |
91 | 2 | Tobias Brunner | * In the log threads may optionally be identified by their actual thread ID instead of a simple |
92 | 2 | Tobias Brunner | incremented value starting from 1 (_--enable-log-thread-ids_). |
93 | 2 | Tobias Brunner | |
94 | 2 | Tobias Brunner | * _libhydra_ has been removed, all plugins and the kernel interface have been integrated |
95 | 2 | Tobias Brunner | into _libcharon_. |