StrongSwan is an OpenSource IPsec-based VPN Solution for Linux
This package provides the /etc/init.d/ipsec service script and allows
to maintain both, IKEv1 and IKEv2, using the /etc/ipsec.conf and the
/etc/ipsec.sectes files.

License

GPL-2.0+

Changelog

* Thu Oct 31 2013 mt@suse.de
- Applied upstream fix for a denial-of-service and authorization
bypass vulnerability via crafted ID payload in strongswan 4.3.3
up to 5.1.0 (CVE-2013-6075, bnc#847506).
[0005-strongswan-4.3.3_5.1.0-bnc-847506-CVE-2013-6075.patch]
- Added missed references to patch file 0003.
* Mon Aug 05 2013 mt@suse.de
- Applied upstream fix for a denial-of-service vulnerability, that
could be triggered by special XAuth usernames and EAP identities
(affected by this are 5.0.3 and 5.0.4), and local PEM files (all
versions since 4.1.11) (CVE-2013-5018,bnc#833278).
[0004-strongswan-4.3.0-5.0.4_is_asn1-CVE-2013-5018.bnc833278.patch]
* Tue Apr 30 2013 mt@suse.de
- Applied upstream patch for security vulnerability discovered by
Kevin Wojtysiak in ECDSA signature verification of the strongswan
openssl plugin (bnc#815236, CVE-2013-2944)
[0003-Check-return-value-of-ECDSA_Verify-correctly.patch]
* Thu Nov 29 2012 sbrabec@suse.cz
- Verify GPG signature.
* Fri Nov 16 2012 crrodriguez@opensuse.org
- Fix systemd unit dir
* Wed Oct 31 2012 mt@suse.de
- Updated to strongSwan 5.0.1 release. Changes digest:
- Introduced the sending of the standard IETF Assessment Result
PA-TNC attribute by all strongSwan Integrity Measurement Verifiers.
- Extended PTS Attestation IMC/IMV pair to provide full evidence of
the Linux IMA measurement process. All pertinent file information
of a Linux OS can be collected and stored in an SQL database.
- The PA-TNC and PB-TNC protocols can now process huge data payloads.
- The xauth-pam backend can authenticate IKEv1 XAuth and Hybrid
authenticated clients against any PAM service.
- The new unity plugin brings support for some parts of the IKEv1
Cisco Unity Extensions.
- The kernel-netlink plugin supports the new strongswan.conf option
charon.install_virtual_ip_on.
- Job handling in controller_t was fixed, which occasionally caused
crashes on ipsec up/down.
- Fixed transmission EAP-MSCHAPv2 user name if it contains a domain
part.
Changes digest from strongSwan 5.0.0 version:
* The charon IKE daemon gained experimental support for the IKEv1
protocol. Pluto has been removed from the 5.x series.
* The NetworkManager charon plugin of previous releases is now
provided by a separate executable (charon-nm) and it should work
again with NM 0.9.
* scepclient was updated and it now works fine with Windows Server
2008 R2.
For full list of the changes, please read the NEWS file shipped
in the strongswan-doc package or online:
http://wiki.strongswan.org/projects/strongswan/wiki/Changelog50
- Adopted spec file, enabled several plugins, e.g.: ccm, certexpire,
coupling, ctr, duplicheck, eap-dynamic, eap-peap, eap-tls, eap-tnc,
eap-ttls, gcm, nonce, radattr, tnc, tnccs, unity, xauth-eap and pam.
- Changed to install strongswan.service with alias to ipsec.service
instead of the /etc/init.d/ipsec init script on openSUSE > 12.2.
* Fri Sep 07 2012 mt@suse.de
- Applied upstream patch adjusting an internal thread id causing
charon keying daemon start failure (bnc#779038,strongswan#198):
openssl: Ensure the thread ID is never zero
This might otherwise cause problems because OpenSSL tries to
lock mutexes recursively if it assumes the lock is held by a
different thread e.g. during FIPS initialization.
See http://wiki.strongswan.org/issues/198 for more informations.
* Thu May 31 2012 mt@suse.com
- Updated to strongSwan 4.6.4 release:
- Fixed a security vulnerability in the gmp plugin. If this
plugin was used for RSA signature verification an empty or
zeroed signature was handled as a legitimate one
(bnc#761325, CVE-2012-2388).
- Fixed several issues with reauthentication and address updates.
* Thu May 10 2012 mt@suse.com
- Updated to strongSwan 4.6.3 release:
- The tnc-pdp plugin implements a RADIUS server interface allowing
a strongSwan TNC server to act as a Policy Decision Point.
- The eap-radius authentication backend enforces Session-Timeout
attributes using RFC4478 repeated authentication and acts upon
RADIUS Dynamic Authorization extensions, RFC 5176. Currently
supported are disconnect requests and CoA messages containing
a Session-Timeout.
- The eap-radius plugin can forward arbitrary RADIUS attributes
from and to clients using custom IKEv2 notify payloads. The new
radattr plugin reads attributes to include from files and prints
received attributes to the console.
- Added support for untruncated MD5 and SHA1 HMACs in ESP as used
in RFC 4595.
- The cmac plugin implements the AES-CMAC-96 and AES-CMAC-PRF-128
algorithms as defined in RFC 4494 and RFC 4615, respectively.
- The resolve plugin automatically installs nameservers via
resolvconf(8), if it is installed, instead of modifying
/etc/resolv.conf directly.
- The IKEv2 charon daemon supports now raw RSA public keys in RFC
3110 DNSKEY and PKCS#1 file format.
- The farp plugin sends ARP responses for any tunneled address,
not only virtual IPs.
- Charon resolves hosts again during additional keying tries.
- Fixed switching back to original address pair during MOBIKE.
- When resending IKE_SA_INIT with a COOKIE charon reuses the previous
DH value, as specified in RFC 5996.
This has an effect on the lifecycle of diffie_hellman_t, see
source:src/libcharon/sa/keymat.h#39 for details.
- COOKIEs are now kept enabled a bit longer to avoid certain race
conditions the commit message to 1b7debcc has some details.
- The new stroke user-creds command allows to set username/password
for a connection.
- strongswan.conf option added to set identifier for syslog(3) logging.
- Added a workaround for null-terminated XAuth secrets (as sent by
Android 4).
* Sat Mar 03 2012 tabraham@novell.com
- Updated to strongSwan 4.6.2 release:
Changes in 4.6.2:
- Upgraded the TCG IF-IMC and IF-IMV C API to the upcoming version 1.3
which supports IF-TNCCS 2.0 long message types, the exclusive flags
and multiple IMC/IMV IDs. Both the TNC Client and Server as well as
the "Test", "Scanner", and "Attestation" IMC/IMV pairs were updated.
- Fully implemented the "TCG Attestation PTS Protocol: Binding to IF-M"
standard (TLV-based messages only). TPM-based remote attestation of
Linux IMA (Integrity Measurement Architecture) possible. Measurement
reference values are automatically stored in an SQLite database.
- The EAP-RADIUS authentication backend supports RADIUS accounting. It sends
start/stop messages containing Username, Framed-IP and Input/Output-Octets
attributes and has been tested against FreeRADIUS and Microsoft NPS.
- Added support for PKCS#8 encoded private keys via the libstrongswan
pkcs8 plugin. This is the default format used by some OpenSSL tools since
version 1.0.0 (e.g. openssl req with -keyout).
- Added session resumption support to the strongSwan TLS stack.
* Wed Feb 15 2012 mt@suse.com
- Updated to strongSwan 4.6.1 release:
Changes in 4.6.1:
- Because of changing checksums before and after installation which caused
the integrity tests to fail we avoided directly linking libsimaka,
libtls and libtnccs to those libcharon plugins which make use of these
dynamiclibraries.
Instead we linked the libraries to the charon daemon. Unfortunately
Ubuntu 11.10 activated the --as-needed ld option which discards explicit
links to dynamic libraries that are not actually used by the charon
daemon itself, thus causing failures during the loading of the plugins
which depend on these libraries for resolving external symbols.
- Therefore our approach of computing integrity checksums for plugins had
to be changed radically by moving the hash generation from the
compilation to the post-installation phase.
Changes in 4.6.0:
- The new libstrongswan certexpire plugin collects expiration information
of all used certificates and exports them to CSV files. It either
directly exports them or uses cron style scheduling for batch exports.
- Starter passes unresolved hostnames to charon, allowing it to do name
resolution not before the connection attempt. This is especially useful
with connections between hosts using dynamic IP addresses.
Thanks to Mirko Parthey for the initial patch.
- The android plugin can now be used without the Android frontend patch
and provides DNS server registration and logging to logcat.
- Pluto and starter (plus stroke and whack) have been ported to Android.
- Support for ECDSA private and public key operations has been added to
the pkcs11 plugin. The plugin now also provides DH and ECDH via PKCS#11
and can use tokens as random number generators (RNG). By default only
private key operations are enabled, more advanced features have to be
enabled by their option in strongswan.conf. This also applies to public
key operations (even for keys not stored on the token) which were
enabled by default before.
- The libstrongswan plugin system now supports detailed plugin
dependencies. Many plugins have been extended to export its capabilities
and requirements. This allows the plugin loader to resolve plugin
loading order automatically, and in future releases, to dynamically load
the required features on demand.
Existing third party plugins are source (but not binary) compatible if
they properly initialize the new get_features() plugin function to NULL.
- The tnc-ifmap plugin implements a TNC IF-MAP 2.0 client which can
deliver metadata about IKE_SAs via a SOAP interface to a MAP server.
The tnc-ifmap plugin requires the Apache Axis2/C library.
- Merged patches, changed strongswan-doc to be a noarch package.
- Fixed rpmlint runlevel & fsf warnings, updated rpmlintrc
* Mon Feb 06 2012 aj@suse.de
- Only glib.h can be included, fix compilation.
* Wed Dec 21 2011 coolo@suse.com
- remove call to suse_update_config (very old work around)
* Mon Sep 12 2011 coolo@suse.com
- remove _service file, too fragile
* Mon Sep 12 2011 mt@suse.com
- Fixed version in last changelog entry
* Thu Sep 08 2011 mt@suse.com
- Updated to strongSwan 4.5.3 release, changes overview since 4.5.2:
* Our private libraries (e.g. libstrongswan) are not installed directly in
prefix/lib anymore. Instead a subdirectory is used (prefix/lib/ipsec/ by
default). The plugins directory is also moved from libexec/ipsec/ to that
directory.
* The dynamic IMC/IMV libraries were moved from the plugins directory to
a new imcvs directory in the prefix/lib/ipsec/ subdirectory.
* Job priorities were introduced to prevent thread starvation caused by too
many threads handling blocking operations (such as CRL fetching).
* Two new strongswan.conf options allow to fine-tune performance on IKEv2
gateways by dropping IKE_SA_INIT requests on high load.
* IKEv2 charon daemon supports PASS and DROP shunt policies
preventing traffic to go through IPsec connections. Installation of the
shunt policies either via the XFRM netfilter or PFKEYv2 IPsec kernel
interfaces.
* The history of policies installed in the kernel is now tracked so that e.g.
trap policies are correctly updated when reauthenticated SAs are terminated.
* IMC/IMV Scanner pair implementing the RFC 5792 PA-TNC (IF-M) protocol.
Using "netstat -l" the IMC scans open listening ports on the TNC client
and sends a port list to the IMV which based on a port policy decides if
the client is admitted to the network.
* IMC/IMV Test pair implementing the RFC 5792 PA-TNC (IF-M) protocol.
* The IKEv2 close action does not use the same value as the ipsec.conf dpdaction
setting, but the value defined by its own closeaction keyword. The action
is triggered if the remote peer closes a CHILD_SA unexpectedly.
- Fixed some fmt warnings in libchecksum, adopted paths in the spec file
* Sun May 29 2011 jcnengel@googlemail.com
- Updated to strongSwan 4.5.2 release, changes overview since 4.5.1:
* The whitelist plugin for the IKEv2 daemon maintains an in-memory identity
whitelist. Any connection attempt of peers not whitelisted will get rejected.
The 'ipsec whitelist' utility provides a simple command line frontend for
whitelist administration.
* The duplicheck plugin provides a specialized form of duplicate checking,
doing a liveness check on the old SA and optionally notify a third party
application about detected duplicates.
* The coupling plugin permanently couples two or more devices by limiting
authentication to previously used certificates.
* In the case that the peer config and child config don't have the same name
(usually in SQL database defined connections), ipsec up|route <peer config>
starts|routes all associated child configs and ipsec up|route <child config>
only starts|routes the specific child config.
* fixed the encoding and parsing of X.509 certificate policy statements (CPS).
* Duncan Salerno contributed the eap-sim-pcsc plugin implementing a
pcsc-lite based SIM card backend.
* The eap-peap plugin implements the EAP PEAP protocol. Interoperates
successfully with a FreeRADIUS server and Windows 7 Agile VPN clients.
* The IKEv2 daemon charon rereads strongswan.conf on SIGHUP and instructs
all plugins to reload. Currently only the eap-radius and the attr plugins
support configuration reloading.
* Added userland support to the IKEv2 daemon for Extended Sequence Numbers
support coming with Linux 2.6.39. To enable ESN on a connection, add
the 'esn' keyword to the proposal. The default proposal uses 32-bit sequence
numbers only ('noesn'), and the same value is used if no ESN mode is
specified. To negotiate ESN support with the peer, include both, e.g.
esp=aes128-sha1-esn-noesn.
* In addition to ESN, Linux 2.6.39 gained support for replay windows larger
than 32 packets. The new global strongswan.conf option 'charon.replay_window'
configures the size of the replay window, in packets.
* Mon Mar 14 2011 mt@suse.de
- Updated to strongSwan 4.5.1 release, changes overview since 4.5.0:
* Implements RFC 5793 Posture Broker Protocol (BP)
* Re-implemented TNCCS 1.1 protocol
* Allows to store IKE and ESP proposals in an SQL database
* Allows to store CRL and OCSP cert points in an SQL database
* New 'include' statement in strongswan.conf allows recursions
* Modifications of strongswan.conf parser, cause syntax attr plugin
syntax changes.
* ipsec listalgs now appends the plugin registering an algo
* Adds support for Traffic Flow Confidentiality with Linux 2.6.38
* New af-alg plugin allows to use new primitives in 2.6.38 crypto api
and removes the need for additional userland implementations.
* IKEv2 daemon supports the INITIAL_CONTACT notify
* conftest conformance testing framework
* new constraints plugin provides advanced X.509 constraint checking
* left/rightauth ipsec.conf keywords accept minimum strengths
* basic support for delta CRLs
See the NEWS file or http://download.strongswan.org/CHANGES4.txt
for a detailed description of the changes.
* Mon Nov 22 2010 mt@suse.de
- Cleaned up spec file; use with_mysql,sqlite,gcrypt,nm flags
- Disabled tests sub-package with load-tester and test-vectors
plugins by default using a with_tests flag (causes load error
in "ipsec pki" when enabled but the package is not installed).
* Tue Nov 16 2010 mt@suse.de
- Updated to strongSwan 4.5.0 release, changes since 4.4.1 are:
* IMPORTANT: the default keyexchange mode 'ike' is changing with
release 4.5 from 'ikev1' to 'ikev2', thus commemorating the five
year anniversary of the IKEv2 RFC 4306 and its mature successor
RFC 5996. The time has definitively come for IKEv1 to go into
retirement and to cede its place to the much more robust, powerful
and versatile IKEv2 protocol!
* Added new ctr, ccm and gcm plugins providing Counter, Counter
with CBC-MAC and Galois/Counter Modes based on existing CBC
implementations. These new plugins bring support for AES and
Camellia Counter and CCM algorithms and the AES GCM algorithms
for use in IKEv2.
* The new pkcs11 plugin brings full Smartcard support to the IKEv2
daemon and the pki utility using one or more PKCS#11 libraries. It
currently supports RSA private and public key operations and loads
X.509 certificates from tokens.
* Implemented a general purpose TLS stack based on crypto and
credential primitives of libstrongswan. libtls supports TLS
versions 1.0, 1.1 and 1.2, ECDHE-ECDSA/RSA, DHE-RSA and RSA key
exchange algorithms and RSA/ECDSA based client authentication.
* Based on libtls, the eap-tls plugin brings certificate based EAP
authentication for client and server. It is compatible to Windows
7 IKEv2 Smartcard authentication and the OpenSSL based FreeRADIUS
EAP-TLS backend.
* Implemented the TNCCS 1.1 Trusted Network Connect protocol using
the libtnc library on the strongSwan client and server side via
the tnccs_11 plugin and optionally connecting to a TNC@FHH-enhanced
FreeRADIUS AAA server. Depending on the resulting TNC Recommendation,
strongSwan clients are granted access to a network behind a
strongSwan gateway (allow), are put into a remediation zone (isolate)
or are blocked (none), respectively.
Any number of Integrity Measurement Collector/Verifier pairs can be
attached via the tnc-imc and tnc-imv charon plugins.
* The IKEv1 daemon pluto now uses the same kernel interfaces as the
IKEv2 daemon charon. As a result of this, pluto now supports xfrm
marks which were introduced in charon with 4.4.1.
* The RADIUS plugin eap-radius now supports multiple RADIUS servers
for redundant setups. Servers are selected by a defined priority,
server load and availability.
* The simple led plugin controls hardware LEDs through the Linux LED
subsystem. It currently shows activity of the IKE daemon and is a
good example how to implement a simple event listener.
* Improved MOBIKE behavior in several corner cases, for instance,
if the initial responder moves to a different address.
* Fixed left-/rightnexthop option, which was broken since 4.4.0.
* Fixed a bug not releasing a virtual IP address to a pool if the
XAUTH identity was different from the IKE identity.
* Fixed the alignment of ModeConfig messages on 4-byte boundaries
in the case where the attributes are not a multiple of 4 bytes
(e.g. Cisco's UNITY_BANNER).
* Fixed the interoperability of the socket_raw and socket_default
charon plugins.
* Added man page for strongswan.conf
- Adopted spec file, removed obsolete error range patch.
* Tue Aug 10 2010 mt@suse.de
- Updated to strongSwan 4.4.1 release, changes since 4.4.0 are:
* Support of xfrm marks in IPsec SAs and IPsec policies introduced
with the Linux 2.6.34 kernel.
For details see the example scenarios ikev2/nat-two-rw-mark,
ikev2/rw-nat-mark-in-out and ikev2/net2net-psk-dscp.
* The PLUTO_MARK_IN and PLUTO_ESP_ENC environment variables can be
used in a user-specific updown script to set marks on inbound ESP
or ESP_IN_UDP packets.
* The openssl plugin now supports X.509 certificate and CRL functions.
* OCSP/CRL checking in IKEv2 has been moved to the revocation plugin,
enabled by default.
Plase update manual load directives in strongswan.conf.
* RFC3779 ipAddrBlock constraint checking has been moved to the
addrblock plugin, disabled by default. Enable it and update manual
load directives in strongswan.conf, if required.
* The pki utility supports CRL generation using the --signcrl command.
* The ipsec pki --self, --issue and --req commands now support output
in PEM format using the --outform pem option.
* The major refactoring of the IKEv1 Mode Config functionality now
allows the transport and handling of any Mode Config attribute.
* The RADIUS proxy plugin eap-radius now supports multiple servers.
Configured servers are chosen randomly, with the option to prefer
a specific server. Non-responding servers are degraded by the
selection process.
* The ipsec pool tool manages arbitrary configuration attributes
stored in an SQL database. ipsec pool --help gives the details.
* The new eap-simaka-sql plugin acts as a backend for EAP-SIM and
EAP-AKA, reading triplets/quintuplets from an SQL database.
* The High Availability plugin now supports a HA enabled in-memory
address pool and Node reintegration without IKE_SA rekeying. The
latter allows clients without IKE_SA rekeying support to keep
connected during reintegration. Additionally, many other issues
have been fixed in the ha plugin.
* Fixed a potential remote code execution vulnerability resulting
from the misuse of snprintf(). The vulnerability is exploitable
by unauthenticated users.
- Removed obsolete snprintf security fix, adopted spec file
- Enabled the eap-sim,eap-sim-file,eap-simaka-sql,eap-simaka-reauth,
eap-simaka-pseudonym,eap-aka-3gpp2,md4,blowfish,addrblock plugins.
- Enabled the mysql, sqlite, load-tester and test-vectors plugins,
that are packaged into separate mysql,sqlite,tests sub packages.
- Disabled sqlite plugin on SLE-10 -- sqlite3 lib is too old there.
- Applied patch by Jiri Bohac fixing error-type range in parsing of
NOTIFY payloads (RFC 4306, section 3.10.1).
* Fri Jul 02 2010 mt@suse.de
- Applied upstream patch fixing snprintf flaws in the strongSwan
IKE daemons exploitable by unauthenticated attackers using a
crafted certificate or identification payload (bnc#615915).
* Fri Jul 02 2010 mt@suse.de
- Added README.SUSE to source list in the spec file.
* Fri May 14 2010 mt@suse.de
- Updated to strongSwan 4.4.0 release, changes since 4.3.6 are:
* The IKEv2 High Availability plugin has been integrated. It
provides load sharing and failover capabilities in a cluster of
currently two nodes, based on an extend ClusterIP kernel module.
More information is available at
http://wiki.strongswan.org/projects/strongswan/wiki/HighAvailability.
The development of the High Availability functionality was sponsored
by secunet Security Networks AG.
* Added IKEv1 and IKEv2 configuration support for the AES-GMAC
authentication-only ESP cipher. Our aes_gmac kernel patch or a Linux
2.6.34 kernel is required to make AES-GMAC available via the XFRM
kernel interface.
* Added support for Diffie-Hellman groups 22, 23 and 24 to the gmp,
gcrypt and openssl plugins, usable by both pluto and charon. The new
proposal keywords are modp1024s160, modp2048s224 and modp2048s256.
Thanks to Joy Latten from IBM for her contribution.
* The IKEv1 pluto daemon supports RAM-based virtual IP pools using
the rightsourceip directive with a subnet from which addresses
are allocated.
* The ipsec pki --gen and --pub commands now allow the output of
private and public keys in PEM format using the --outform pem
command line option.
* The new DHCP plugin queries virtual IP addresses for clients from
a DHCP server using broadcasts, or a defined server using the
charon.plugins.dhcp.server strongswan.conf option. DNS/WINS server
information is additionally served to clients if the DHCP server
provides such information. The plugin is used in ipsec.conf
configurations having rightsourceip set to %dhcp.
* A new plugin called farp fakes ARP responses for virtual IP
addresses handed out to clients from the IKEv2 daemon charon. The
plugin lets a road-warrior act as a client on the local LAN if it
uses a virtual IP from the responders subnet, e.g. acquired using
the DHCP plugin.
* The existing IKEv2 socket implementations have been migrated to
the socket-default and the socket-raw plugins. The new
socket-dynamic plugin binds sockets dynamically to ports configured
via the left-/rightikeport ipsec.conf connection parameters.
* The android charon plugin stores received DNS server information
as "net.dns" system properties, as used by the Android platform.
- Splitted package into strongswan-ipsec, that install the traditional
ipsec service starter scripts, -ikev1 and -ikev2 installing daemons
and -libs0, that contains the library and plugins.
- Enabled dhcp, farp, ha, socket-dynamic, agent, eap and sql plugins.
- Enabled NetworkManager nm plugin in a separate strongswan-nm package.
* Tue Mar 02 2010 mt@suse.de
- Updated to strongSwan 4.3.6 release, changes since 4.3.4 are:
* The IKEv2 daemon supports RFC 3779 IP address block constraints
carried as a critical X.509v3 extension in the peer certificate.
* The ipsec pool --add|del dns|nbns command manages DNS and NBNS
name server entries that are sent via the IKEv1 Mode Config or
IKEv2 Configuration Payload to remote clients.
* The Camellia cipher can be used as an IKEv1 encryption algorithm.
* The IKEv1 and IKEV2 daemons now check certificate path length
constraints.
* The new ipsec.conf conn option "inactivity" closes a CHILD_SA if
no traffic was sent or received within the given interval. To close
the complete IKE_SA if its only CHILD_SA was inactive, set the
global strongswan.conf option "charon.inactivity_close_ike" to yes.
* More detailed IKEv2 EAP payload information in debug output
* IKEv2 EAP-SIM and EAP-AKA share joint libsimaka library
* Added required userland changes for proper SHA256 and SHA384/512
in ESP that will be introduced with Linux 2.6.33.
The "sha256"/"sha2_256" keyword now configures the kernel with 128
bit truncation, not the non-standard 96 bit truncation used by
previous releases. To use the old 96 bit truncation scheme, the new
"sha256_96" proposal keyword has been introduced.
* Fixed IPComp in tunnel mode, stripping out the duplicated outer
header. This change makes IPcomp tunnel mode connections
incompatible with previous releases; disable compression on such
tunnels.
* Fixed BEET mode connections on recent kernels by installing SAs
with appropriate traffic selectors, based on a patch by Michael
Rossberg.
* Using extensions (such as BEET mode) and crypto algorithms (such
as twofish, serpent, sha256_96) allocated in the private use space
now require that we know its meaning, i.e. we are talking to
strongSwan. Use the new "charon.send_vendor_id" option in
strongswan.conf to let the remote peer know this is the case.
* Experimental support for draft-eronen-ipsec-ikev2-eap-auth, where
the responder omits public key authentication in favor of a mutual
authentication method. To enable EAP-only authentication, set
rightauth=eap on the responder to rely only on the MSK constructed
AUTH payload. This not-yet standardized extension requires the
strongSwan vendor ID introduced above.
* The IKEv1 daemon ignores the Juniper SRX notification type 40001,
thus allowing interoperability.
* The IKEv1 pluto daemon can now use SQL-based address pools to
deal out virtual IP addresses as a Mode Config server. The pool
capability has been migrated from charon's sql plugin to a new
attr-sql plugin which is loaded by libstrongswan and which can be
used by both daemons either with a SQLite or MySQL database and the
corresponding plugin.
* Plugin names have been streamlined: EAP plugins now have a dash
after eap (e.g. eap-sim), as it is used with the --enable-eap-sim
./configure option.
Plugin configuration sections in strongswan.conf now use the same
name as the plugin itself (i.e. with a dash). Make sure to update
"load" directives and the affected plugin sections in existing
strongswan.conf files.
* The private/public key parsing and encoding has been split up
into separate pkcs1, pgp, pem and dnskey plugins. The public key
implementation plugins gmp, gcrypt and openssl can all make use
of them.
* The EAP-AKA plugin can use different backends for USIM/quintuplet
calculations, very similar to the EAP-SIM plugin. The existing 3GPP2
software implementation has been migrated to a separate plugin.
* The IKEv2 daemon charon gained basic PGP support. It can use
locally installed peer certificates and can issue signatures based
on RSA private keys.
* The new 'ipsec pki' tool provides a set of commands to maintain a
public key infrastructure. It currently supports operations to
create RSA and ECDSA private/public keys, calculate fingerprints and
issue or verify certificates.
* Charon uses a monotonic time source for statistics and job
queueing, behaving correctly if the system time changes (e.g. when
using NTP).
* In addition to time based rekeying, charon supports IPsec SA
lifetimes based on processed volume or number of packets.
They new ipsec.conf paramaters 'lifetime' (an alias to 'keylife'),
'lifebytes' and 'lifepackets' handle SA timeouts, while the
parameters 'margintime' (an alias to rekeymargin), 'marginbytes'
and 'marginpackets' trigger the rekeying before a SA expires.
The existing parameter 'rekeyfuzz' affects all margins.
* If no CA/Gateway certificate is specified in the NetworkManager
plugin, charon uses a set of trusted root certificates preinstalled
by distributions. The directory containing CA certificates can be
specified using the --with-nm-ca-dir=path configure option.
* Fixed the encoding of the Email relative distinguished name in
left|rightid statements.
* Fixed the broken parsing of PKCS#7 wrapped certificates by the
pluto daemon.
* Fixed smartcard-based authentication in the pluto daemon which
was broken by the ECDSA support introduced with the 4.3.2 release.
* A patch contributed by Heiko Hund fixes mixed IPv6 in IPv4 and
vice versa tunnels established with the IKEv1 pluto daemon.
* The pluto daemon now uses the libstrongswan x509 plugin for
certificates and CRls and the struct id type was replaced by
identification_t used by charon and the libstrongswan library.
- Removed obsolete load_secrets patches, refreshed modprobe patch.
- Corrected a time_t cast reported by rpmlint (timer.c:51)
- Disabled libtoolize call and the gcrypt plugin on SLE 10.
* Fri Sep 04 2009 mt@suse.de
- Fixed open failure debug message in load_secrets
* Thu Sep 03 2009 mt@suse.de
- Applied patch fixing locking in ipsec.secrets inclusion.
* Mon Aug 31 2009 mt@suse.de
- Updated to strongSwan 4.3.4 release:
* IKEv2 charon daemon ported to FreeBSD and Mac OS X. Installation
details can be found on wiki.strongswan.org.
* ipsec statusall shows the number of bytes transmitted and received
over ESP connections configured by the IKEv2 charon daemon.
* The IKEv2 charon daemon supports include files in ipsec.secrets.
- Removed obsolete ipsec.secrets include patch (bnc#524799)
and patch to avoid libchecksum version.
* Fri Aug 07 2009 mt@suse.de
- Applied patch implementing ipsec.secrets "include" directive
support in charon (http://wiki.strongswan.org/issues/show/82,
bnc#524799).
* Mon Jul 27 2009 mt@suse.de
- Updated to strongSwan 4.3.3 release:
* The configuration option --enable-integrity-test plus the
strongswan.conf option libstrongswan.integrity_test = yes
activate integrity tests of the IKE daemons charon and pluto,
libstrongswan and all loaded plugins. Thus dynamic library
misconfigurations and non-malicious file manipulations can be
reliably detected.
* The new default setting libstrongswan.ecp_x_coordinate_only=yes
allows IKEv1 interoperability with MS Windows using the ECP DH
groups 19 and 20.
* The IKEv1 pluto daemon now supports the AES-CCM and AES-GCM ESP
authenticated encryption algorithms.
* The IKEv1 pluto daemon now supports V4 OpenPGP keys.
* The RDN parser vulnerability discovered by Orange Labs research
team was not completely fixed in version 4.3.2. Some more
modifications had to be applied to the asn1_length() function to
make it robust.
- Enabled --enable-integrity-test configure option (new feature).
- Removed patch to avoid plugin versions (accepted by upstream)
and added patch to avoid version for new libchecksum library.
- Added -Wno-pointer-sign -Wno-strict-aliasing CFLAGS in the spec.
* Wed Jun 10 2009 mt@suse.de
- Updated to strongSwan 4.3.2 release, that fixes two asn1 parser
DoS vulnerabilities and provides several new features, e.g.:
* The new gcrypt plugin provides symmetric cipher, hasher, RNG,
Diffie-Hellman and RSA crypto primitives using the LGPL licensed
GNU gcrypt library.
* libstrongswan features an integrated crypto selftest framework
for registered algorithms. The test-vector plugin provides a first
set of test vectors and allows pluto and charon to rely on tested
crypto algorithms.
* pluto can now use all libstrongswan plugins with the exception
of x509 and xcbc. Thanks to the openssl plugin, the ECP Diffie-
Hellman groups 19, 20, 21, 25, and 26 as well as ECDSA-256,
ECDSA-384, and ECDSA-521 authentication can be used with IKEv1.
* Applying their fuzzing tool, the Orange Labs vulnerability
research team found another two DoS vulnerabilities, one in the
rather old ASN.1 parser of Relative Distinguished Names (RDNs)
and a second one in the conversion of ASN.1 UTCTIME and
GENERALIZEDTIME strings to a time_t value.
* The nm plugin now passes DNS/NBNS server information to
NetworkManager, allowing a gateway administrator to set DNS/NBNS
configuration on clients dynamically.
* The nm plugin also accepts CA certificates for gateway
authentication. If a CA certificate is configured, strongSwan uses
the entered gateway address as its idenitity, requiring the gateways
certificate to contain the same as subjectAltName.
This allows a gateway administrator to deploy the same
certificates to Windows 7 and NetworkManager clients.
* The command ipsec purgeike deletes IKEv2 SAs that don't have a
CHILD SA.
The command ipsec down <conn>{n} deletes CHILD SA instance n of
connection <conn> whereas ipsec down <conn>{*} deletes all CHILD
SA instances.
The command ipsec down <conn>[n] deletes IKE SA instance n of
connection <conn> plus dependent CHILD SAs whereas ipsec down
<conn>[*] deletes all IKE SA instances of connection <conn>.
* Fixed a regression introduced in 4.3.0 where EAP authentication
calculated the AUTH payload incorrectly. Further, the EAP-MSCHAPv2
MSK key derivation has been updated to be compatible with the
Windows 7 Release Candidate.
* Refactored installation of triggering policies. Routed policies
are handled outside of IKE_SAs to keep them installed in any case.
A tunnel gets established only once, even if initiation is delayed
due network outages.
* Improved the handling of multiple acquire signals triggered by
the kernel.
* Fixed two DoS vulnerabilities in the charon daemon that were
discovered by fuzzing techniques:
1) Sending a malformed IKE_SA_INIT request leaved an incomplete
state which caused a null pointer dereference if a subsequent
CREATE_CHILD_SA request was sent.
2) Sending an IKE_AUTH request with either a missing TSi or TSr
payload caused a null pointer derefence because the checks for
TSi and TSr were interchanged.
The IKEv2 fuzzer used was developped by the Orange Labs
vulnerability research team. The tool was initially written
by Gabriel Campana and is now maintained by Laurent Butti.
* Added support for AES counter mode in ESP in IKEv2 using the
proposal keywords aes128ctr, aes192ctr and aes256ctr.
* Further progress in refactoring pluto: Use of the curl and ldap
plugins for fetching crls and OCSP. Use of the random plugin to
get keying material from /dev/random or /dev/urandom. Use of the
openssl plugin as an alternative to the aes, des, sha1, sha2, and
md5 plugins. The blowfish, twofish, and serpent encryption plugins
are now optional and are not enabled by default.
- Enabled new gcrypt plugin
- Adopted spec file and modprobe to syslog patch
- Removed obsolete getline glibc collision patch
- Added patch to avoid library version for plugins (rpmlint).
- Replaced update-dns-server patch with a --with-resolv-conf.
- Removed restart_on_update from spec file (see bnc#450390).
* Sun Jun 07 2009 ro@suse.de
- rename getline to my_getline to avoid collision with function
from glibc
* Tue Jun 02 2009 mt@suse.de
- Applied fix for a Denial-of-Service vulnerability where receiving
a malformed IKE_SA_INIT request leaves an incomplete state which
causes a crash of the IKEv2 charon while dereferencing a NULL
pointer if a subsequent CREATE_CHILD_SA is received (bnc#507742).
- Applied fix for a Denial-of-Service vulnerability where receiving
a malformed IKE_AUTH request with either a missing TSi or TSr
traffic selector payload causes a crash of the IKEv2 charon while
dereferencing a NULL pointer because the NULL pointer checks of
TSi and TSr before destruction were erroneously swapped
(bnc#507742).
* Tue Mar 31 2009 mt@suse.de
- Updated to strongSwan 4.2.14 release that fixes a grave DPD
denial of service vulnerability registered as CVE-2009-0790,
that had been slumbering in the code for many years:
* A vulnerability in the Dead Peer Detection (RFC 3706) code
was found by Gerd v. Egidy <gerd.von.egidy@intra2net.com> of
Intra2net AG affecting all Openswan and strongSwan releases.
A malicious (or expired ISAKMP) R_U_THERE or R_U_THERE_ACK
Dead Peer Detection packet can cause the pluto IKE daemon to
crash and restart. No authentication or encryption is required
to trigger this bug. One spoofed UDP packet can cause the pluto
IKE daemon to restart and be unresponsive for a few seconds
while restarting. This DPD null state vulnerability has been
officially registered as CVE-2009-0790 and is fixed by this
release.
* The new server-side EAP RADIUS plugin (--enable-eap-radius)
relays EAP messages to and from a RADIUS server. Succesfully
tested with with a freeradius server using EAP-MD5 and EAP-SIM.
* ASN.1 to time_t conversion caused a time wrap-around for dates
after Jan 18 03:14:07 UTC 2038 on 32-bit platforms.
As a workaround such dates are set to the maximum representable
time, i.e. Jan 19 03:14:07 UTC 2038.
* Distinguished Names containing wildcards (*) are not sent in the
IDr payload anymore.