Project

General

Profile

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_.