Version 5.6.1 » History » Version 3
Tobias Brunner, 17.11.2017 10:23
1 | 1 | Tobias Brunner | h1. Version 5.6.1 |
---|---|---|---|
2 | 1 | Tobias Brunner | |
3 | 3 | Tobias Brunner | * Several algorithms were removed from the default ESP/AH and IKEv2 proposals in compliance 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 | 3 | Tobias Brunner | currently not used automatically, by default, to change that _charon.rsa_pss_ may be enabled. To explicitly use |
12 | 3 | Tobias Brunner | or require such signatures during IKEv2 signature authentication ("RFC 7427":https://tools.ietf.org/html/rfc7427) _ike:rsa/pss..._ authentication |
13 | 3 | Tobias Brunner | constraints may be used for specific connections (regardless of whether the strongswan.conf option above is |
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 | 1 | Tobias Brunner | |
27 | 1 | Tobias Brunner | Note that RSASSA-PSS algorithm identifiers and parameters in keys (public keys in certificates or private keys |
28 | 1 | Tobias Brunner | in PKCS#8 files) are currently not used as constraints. |
29 | 1 | Tobias Brunner | |
30 | 1 | Tobias Brunner | * The [[SecUpdater|sec-updater]] tool checks for security updates in dpkg-based repositories (e.g. Debian/Ubuntu) |
31 | 1 | Tobias Brunner | and sets the security flags in the [[StrongTnc|IMV policy database]] accordingly. Additionally for each new package |
32 | 1 | Tobias Brunner | version a SWID tag for the given OS and HW architecture is created and stored in the database. |
33 | 2 | Tobias Brunner | Using the sec-updater.sh script template the lookup can be automated (e.g. via an hourly cron job). |
34 | 2 | Tobias Brunner | |
35 | 3 | Tobias Brunner | * When restarting an IKEv2 negotiation after receiving an @INVALID_KE_PAYLOAD@ notify (or due to other reasons |
36 | 3 | Tobias Brunner | like too many retransmits) a new initiator SPI is allocated. This prevents issues caused by retransmits for |
37 | 3 | Tobias Brunner | @IKE_SA_INIT@ messages. |
38 | 3 | Tobias Brunner | |
39 | 3 | Tobias Brunner | Because the initiator SPI was previously reused when restarting the connection delayed responses for previous |
40 | 3 | Tobias Brunner | connection attempts were processed and might have caused fatal errors due to a failed DH negotiation or because |
41 | 3 | Tobias Brunner | of the internal retry counter in the ike-init task. For instance, if we proposed a DH group the responder rejected we |
42 | 3 | Tobias Brunner | might have later received delayed responses that either contained @INVALID_KE_PAYLOAD@ notifies with the DH group |
43 | 3 | Tobias Brunner | we already switched to, or, if we retransmitted an @IKE_SA_INIT@ with the requested group but then had to restart again, |
44 | 3 | Tobias Brunner | a @KE@ payload with a group different from the one we proposed. |
45 | 3 | Tobias Brunner | |
46 | 2 | Tobias Brunner | * The introduction of file versions in the IMV database scheme broke file reference hash measurements. |
47 | 2 | Tobias Brunner | This has been fixed by creating generic product versions having an empty package name. |
48 | 2 | Tobias Brunner | |
49 | 2 | Tobias Brunner | * A new _timeout_ option for the [[SystimeFixPlugin|systime-fix plugin]] stops periodic system time checks after a while and enforces |
50 | 3 | Tobias Brunner | a certificate verification, closing or reauthenticating all SAs with invalid certificates. |
51 | 2 | Tobias Brunner | |
52 | 2 | Tobias Brunner | * The IKE event counters, previously only available via [[IpsecCommand|ipsec listcounters]] command, may now also be queried and |
53 | 2 | Tobias Brunner | reset via [[vici]] and the new [[swanctl|swanctl --counters]] command. They are collected and provided by the optional |
54 | 2 | Tobias Brunner | [[counters]] plugin (enabled by default for backwards compatibility if the _stroke_ plugin is built). |
55 | 2 | Tobias Brunner | |
56 | 2 | Tobias Brunner | * Class attributes received in RADIUS Access-Accept messages may optionally be added to RADIUS accounting |
57 | 2 | Tobias Brunner | messages (commit:655924074b). |
58 | 2 | Tobias Brunner | |
59 | 2 | Tobias Brunner | * Basic support for systemd sockets has been added, which may be used for privilege separation (commit:59db98fb94). |
60 | 2 | Tobias Brunner | |
61 | 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_ |
62 | 2 | Tobias Brunner | option in [[swanctl.conf]]. |
63 | 2 | Tobias Brunner | |
64 | 1 | Tobias Brunner | * The timeout of leases in pools configured via [[IpsecPool|pool utility]] may be configured in other units than hours. |
65 | 2 | Tobias Brunner | |
66 | 2 | Tobias Brunner | * @INITIAL_CONTACT@ notifies are now only omitted if _never_ is configured as uniqueness policy. |
67 | 2 | Tobias Brunner | |
68 | 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). |
69 | 2 | Tobias Brunner | |
70 | 2 | Tobias Brunner | * Don't consider a DH group mismatch during CHILD_SA rekeying as failure as responder (commit:e7276f78aa). |
71 | 2 | Tobias Brunner | |
72 | 2 | Tobias Brunner | * Handling of fragmented IPv4 and IPv6 packets in libipsec has been improved (commit:e138003de9). |
73 | 2 | Tobias Brunner | |
74 | 2 | Tobias Brunner | * Trigger expire events for the correct IPsec SA in libipsec (commit:6e861947a0). |
75 | 2 | Tobias Brunner | |
76 | 2 | Tobias Brunner | * A crash in CRL verification via _openssl_ plugin using OpenSSL 1.1 has been fixed (commit:78acaba6a1). |
77 | 2 | Tobias Brunner | |
78 | 2 | Tobias Brunner | * No hard-coded default proposals are passed from starter to the _stroke_ plugin anymore (the IKE proposal used |
79 | 3 | Tobias Brunner | _curve25519_ since version:5.5.2, which is an optional plugin). |
80 | 2 | Tobias Brunner | |
81 | 2 | Tobias Brunner | * A workaround for an issue with virtual IPs on macOS 10.13 (High Sierra) has been added (commit:039b85dd43). |
82 | 2 | Tobias Brunner | |
83 | 2 | Tobias Brunner | * Handling of IKE_SA rekey collisions in charon-tkm has been fixed. |
84 | 2 | Tobias Brunner | |
85 | 2 | Tobias Brunner | * Instead of failing or just silently doing nothing unit tests may now warn about certain conditions (e.g. if a test |
86 | 2 | Tobias Brunner | was not executed due to external dependencies). |