Project

General

Profile

Version 5.6.1 » History » Version 2

Tobias Brunner, 16.11.2017 14:35

1 1 Tobias Brunner
h1. Version 5.6.1
2 1 Tobias Brunner
3 2 Tobias Brunner
* Several algorithms have been removed from the default ESP/AH and IKEv2 proposals in conformance with
4 2 Tobias Brunner
  "RFC 8221":https://tools.ietf.org/html/rfc8221 and "RFC 8247":https://tools.ietf.org/html/rfc8247, respectively. Removed from the default ESP/AH proposal were the
5 2 Tobias Brunner
  3DES and Blowfish encryption algorithms and the HMAC-MD5 integrity algorithm. From the IKEv2 default
6 2 Tobias Brunner
  proposal the HMAC-MD5 integrity algorithm and the MODP-1024 Diffie-Hellman group were removed (the
7 2 Tobias Brunner
  latter is significant for [[Windows7#AES-256-CBC-and-MODP2048|Windows clients]] in their default configuration).
8 2 Tobias Brunner
  These algorithms may still be used in custom proposals.
9 2 Tobias Brunner
10 2 Tobias Brunner
* Support for "RSASSA-PSS signatures":https://tools.ietf.org/html/rfc8017 has been added. For compatibility with previous releases they are
11 2 Tobias Brunner
  currently not used by default, to change that _charon.rsa_pss_ may be enabled. To explicitly use or
12 2 Tobias Brunner
  require such signatures during IKEv2 signature authentication ("RFC 7427":https://tools.ietf.org/html/rfc7427) _ike:rsa/pss..._ authentication
13 2 Tobias Brunner
  constraints may be used for specific connections (the strongswan.conf option above does not have to be
14 2 Tobias Brunner
  enabled). Only the hash algorithm can be specified in such constraints, the MGF1 will be based on that hash
15 2 Tobias Brunner
  and the salt length will equal the hash length (when verifying the salt length is not enforced).
16 2 Tobias Brunner
17 2 Tobias Brunner
  To enforce such signatures during PKI verification use _rsa/pss..._ authentication constraints.
18 2 Tobias Brunner
19 2 Tobias Brunner
  All [[ipsecpki|pki]] commands that create certificates/CRLs can be made to sign with RSASSA-PSS instead of the
20 2 Tobias Brunner
  classing PKCS#1 scheme with the @--rsa-padding pss@ option.  As with signatures during authentication, only
21 2 Tobias Brunner
  the hash algorithm is configurable (via @--digest@ option), the MGF1 will be based on that and the salt length
22 2 Tobias Brunner
  will equal the hash length.
23 2 Tobias Brunner
24 2 Tobias Brunner
  These signatures are supported by all RSA backends except _pkcs11_ (i.e. _gmp, gcrypt, openssl_). The _gmp_
25 2 Tobias Brunner
  plugin requires the _mgf1_ plugin.
26 2 Tobias Brunner
27 2 Tobias Brunner
  Note that RSASSA-PSS algorithm identifiers and parameters in keys (public keys in certificates or private keys
28 2 Tobias Brunner
  in PKCS#8 files) are currently not used as constraints.
29 2 Tobias Brunner
30 2 Tobias Brunner
* When restarting an IKEv2 negotiation after receiving an @INVALID_KE_PAYLOAD@ notify (or due to other reasons
31 2 Tobias Brunner
  like too many retransmits) a new SPI is allocated.  This prevents issues caused by retransmits for @IKE_SA_INIT@
32 2 Tobias Brunner
  messages. Because the initiator SPI was previously reused when restarting the connection delayed responses were
33 2 Tobias Brunner
  processed and might have caused fatal errors due to a failed DH negotiation or because of the internal retry counter
34 2 Tobias Brunner
  in the ike-init task. For instance, if we proposed a DH group the responder rejected we might have later received
35 2 Tobias Brunner
  delayed responses that either contained @INVALID_KE_PAYLOAD@ notifies with the group we already used or, if we
36 2 Tobias Brunner
  retransmitted an @IKE_SA_INIT@ with the requested group but then had to restart again, a @KE@ payload with a group
37 2 Tobias Brunner
  different from the one we proposed.
38 2 Tobias Brunner
39 2 Tobias Brunner
* The [[SecUpdater|sec-updater]] tool checks for security updates in dpkg-based repositories (e.g. Debian/Ubuntu)
40 2 Tobias Brunner
  and sets the security flags in the [[StrongTnc|IMV policy database]] accordingly. Additionally for each new package
41 2 Tobias Brunner
  version a SWID tag for the given OS and HW architecture is created and stored in the database.
42 2 Tobias Brunner
  Using the sec-updater.sh script template the lookup can be automated (e.g. via an hourly cron job).
43 2 Tobias Brunner
44 2 Tobias Brunner
* The introduction of file versions in the IMV database scheme broke file reference hash measurements.
45 2 Tobias Brunner
  This has been fixed by creating generic product versions having an empty package name.
46 2 Tobias Brunner
47 2 Tobias Brunner
* A new _timeout_ option for the [[SystimeFixPlugin|systime-fix plugin]] stops periodic system time checks after a while and enforces
48 2 Tobias Brunner
  a certificate check, closing or reauthenticating all SAs with invalid certificates.
49 2 Tobias Brunner
50 2 Tobias Brunner
* The IKE event counters, previously only available via [[IpsecCommand|ipsec listcounters]] command, may now also be queried and
51 2 Tobias Brunner
  reset via [[vici]] and the new [[swanctl|swanctl --counters]] command.  They are collected and provided by the optional
52 2 Tobias Brunner
  [[counters]] plugin (enabled by default for backwards compatibility if the _stroke_ plugin is built).
53 2 Tobias Brunner
54 2 Tobias Brunner
* Class attributes received in RADIUS Access-Accept messages may optionally be added to RADIUS accounting
55 2 Tobias Brunner
  messages (commit:655924074b).
56 2 Tobias Brunner
57 2 Tobias Brunner
* Basic support for systemd sockets has been added, which may be used for privilege separation (commit:59db98fb94).
58 2 Tobias Brunner
59 2 Tobias Brunner
* Inbound marks may optionally be installed in the SA again (was removed with version:5.5.2) by enabling the _mark_in_sa_
60 2 Tobias Brunner
  option in [[swanctl.conf]].
61 2 Tobias Brunner
62 2 Tobias Brunner
* The timeout of leases in pools configured via [[IpsecPool|pool utility]] may be configured in other units than hours.
63 2 Tobias Brunner
64 2 Tobias Brunner
* @INITIAL_CONTACT@ notifies are now only omitted if _never_ is configured as uniqueness policy.
65 2 Tobias Brunner
66 2 Tobias Brunner
* Outbound FWD policies for shunts are not installed anymore, by default (as is the case for other policies since version:5.5.1).
67 2 Tobias Brunner
68 2 Tobias Brunner
* Don't consider a DH group mismatch during CHILD_SA rekeying as failure as responder (commit:e7276f78aa).
69 2 Tobias Brunner
70 2 Tobias Brunner
* Handling of fragmented IPv4 and IPv6 packets in libipsec has been improved (commit:e138003de9).
71 2 Tobias Brunner
72 2 Tobias Brunner
* Trigger expire events for the correct IPsec SA in libipsec (commit:6e861947a0).
73 2 Tobias Brunner
74 2 Tobias Brunner
* A crash in CRL verification via _openssl_ plugin using OpenSSL 1.1 has been fixed (commit:78acaba6a1).
75 2 Tobias Brunner
76 2 Tobias Brunner
* No hard-coded default proposals are passed from starter to the _stroke_ plugin anymore (the IKE proposal used
77 2 Tobias Brunner
  _curve25519_, which is an optional plugin).
78 2 Tobias Brunner
79 2 Tobias Brunner
* A workaround for an issue with virtual IPs on macOS 10.13 (High Sierra) has been added (commit:039b85dd43).
80 2 Tobias Brunner
81 2 Tobias Brunner
* Handling of IKE_SA rekey collisions in charon-tkm has been fixed.
82 2 Tobias Brunner
83 2 Tobias Brunner
* Instead of failing or just silently doing nothing unit tests may now warn about certain conditions (e.g. if a test
84 2 Tobias Brunner
  was not executed due to external dependencies).