as this breaks gcrypt and openssl plugins when the fips pattern
option is not installed (fate#316931,bnc#856322).
- Added empty strongswan-hmac package supposed to provide fips hmac
files and enforce fips compliant operation later (bnc#856322).
- Cleaned up conditional build flags in the rpm spec file.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=73
- Fixed an authentication bypass vulnerability triggered by rekeying
an unestablished IKEv2 SA while it gets actively initiated. This
allowed an attacker to trick a peer's IKE_SA state to established,
without the need to provide any valid authentication credentials.
(CVE-2014-2338, bnc#870572).
- The acert plugin evaluates X.509 Attribute Certificates. Group
membership information encoded as strings can be used to fulfill
authorization checks defined with the rightgroups option.
Attribute Certificates can be loaded locally or get exchanged in
IKEv2 certificate payloads.
- The pki command gained support to generate X.509 Attribute
Certificates using the --acert subcommand, while the --print
command supports the ac type. The openac utility has been removed
in favor of the new pki functionality.
- The libtls TLS 1.2 implementation as used by EAP-(T)TLS and other
protocols has been extended by AEAD mode support, currently limited
to AES-GCM.
- Fixed an issue where CRL/OCSP trustchain validation broke enforcing
CA constraints
- Limited OCSP signing to specific certificates to improve performance
- authKeyIdentifier is not added to self-signed certificates anymore
- Fixed the comparison of IKE configs if only the cipher suites were
different
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=65
- A new default configuration file layout is introduced. The new
default strongswan.conf file mainly includes config snippets from
the strongswan.d and strongswan.d/charon directories (the latter
containing snippets for all plugins). The snippets, with commented
defaults, are automatically generated and installed, if they don't
exist yet. Also installed in $prefix/share/strongswan/templates so
existing files can be compared to the current defaults.
- As an alternative to the non-extensible charon.load setting, the
plugins to load in charon (and optionally other applications) can
now be determined via the charon.plugins.<name>.load setting for
each plugin (enabled in the new default strongswan.conf file via the
charon.load_modular option). The load setting optionally takes a
numeric priority value that allows reordering the plugins (otherwise
the default plugin order is preserved).
- All strongswan.conf settings that were formerly defined in library
specific "global" sections are now application specific (e.g.
settings for plugins in libstrongswan.plugins can now be set only
for charon in charon.plugins). The old options are still supported,
which now allows to define defaults for all applications in the
libstrongswan section.
- The ntru libstrongswan plugin supports NTRUEncrypt as a post-quantum
computer IKE key exchange mechanism. The implementation is based on
the ntru-crypto library from the NTRUOpenSourceProject.
The supported security strengths are ntru112, ntru128, ntru192, and
ntru256. Since the private DH group IDs 1030..1033 have been
assigned, the strongSwan Vendor ID must be sent in order to use NTRU
(charon.send_vendor_id = yes).
- Defined a TPMRA remote attestation workitem and added support for it
to the Attestation IMV.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=64
fixes (bnc#847506,CVE-2013-6075, bnc#847509,CVE-2013-6076):
- Fixed a denial-of-service vulnerability and potential authorization
bypass triggered by a crafted ID_DER_ASN1_DN ID payload. The cause
is an insufficient length check when comparing such identities. The
vulnerability has been registered as CVE-2013-6075.
- Fixed a denial-of-service vulnerability triggered by a crafted IKEv1
fragmentation payload. The cause is a NULL pointer dereference. The
vulnerability has been registered as CVE-2013-6076.
- The lean stand-alone pt-tls-client can set up a RFC 6876 PT-TLS
session with a strongSwan policy enforcement point which uses the
tnc-pdp charon plugin.
- The new TCG TNC SWID IMC/IMV pair supports targeted SWID requests
for either full SWID Tag or concise SWID Tag ID inventories.
- The XAuth backend in eap-radius now supports multiple XAuth
exchanges for different credential types and display messages.
All user input gets concatenated and verified with a single
User-Password RADIUS attribute on the AAA. With an AAA supporting
it, one for example can implement Password+Token authentication with
proper dialogs on iOS and OS X clients. - charon supports IKEv1 Mode
Config exchange in push mode. The ipsec.conf modeconfig=push option
enables it for both client and server, the same way as pluto used it.
- Using the "ah" ipsec.conf keyword on both IKEv1 and IKEv2
connections, charon can negotiate and install Security Associations
integrity-protected by the Authentication Header protocol. Supported
are plain AH(+IPComp) SAs only, but not the deprecated RFC2401 style
ESP+AH bundles.
[...]
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=62
- Fixed a security vulnerability in the openssl plugin which was
reported by Kevin Wojtysiak. The vulnerability has been registered
as CVE-2013-2944. Before the fix, if the openssl plugin's ECDSA
signature verification was used, due to a misinterpretation of the
error code returned by the OpenSSL ECDSA_verify() function, an empty
or zeroed signature was accepted as a legitimate one. Refer to our
blog for details.
- The handling of a couple of other non-security relevant OpenSSL
return codes was fixed as well.
- The tnc_ifmap plugin now publishes virtual IPv4 and IPv6 addresses
via its TCG TNC IF-MAP 2.1 interface.
- The charon.initiator_only strongswan.conf option causes charon to
ignore IKE initiation requests.
- The openssl plugin can now use the openssl-fips library.
The version 5.0.3 provides new ipseckey plugin, enabling authentication
based on trustworthy public keys stored as IPSECKEY resource records in
the DNS and protected by DNSSEC and new openssl plugin using the AES-NI
accelerated version of AES-GCM if the hardware supports it.
See http://wiki.strongswan.org/projects/strongswan/wiki/Changelog50
for a list of all changes since the 5.0.1 release.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=58
Verify GPG signature: Perform build-time offline GPG verification.
Please verify that included keyring matches your needs.
For manipulation with the offline keyring, please use gpg-offline tool from openSUSE:Factory, devel-tools-building or Base:System.
See the man page and/or /usr/share/doc/packages/gpg-offline/PACKAGING.HOWTO.
If you need to build your package for older products and don't want to mess spec file with ifs, please follow PACKAGING.HOWTO:
you can link or aggregate gpg-offline from
devel:tools:building or use following trick with "osc meta prjconf":
--- Cut here ----
%if 0%{?suse_version} <= 1220
Substitute: gpg-offline
%endif
Macros:
%gpg_verify(dnf) \
%if 0%{?suse_version} > 1220\
echo "WARNING: Using %%gpg_verify macro from prjconf, not from gpg-offline package."\
gpg-offline --directory="%{-d:%{-d*}}%{!-d:%{_sourcedir}}" --package="%{-n:%{-n*}}%{!-n:%{name}}""%{-f: %{-f*}}" --verify %{**}\
%else\
echo "WARNING: Dummy prjconf macro. gpg-offline is not available, skipping %{**} GPG signature verification!"\
%endif\
%nil
-----------------
OBS-URL: https://build.opensuse.org/request/show/143934
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=56
- 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.
- Changed to install strongswan.service with alias to ipsec.service
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=51
- 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.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=46
- 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
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=44
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
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=39
* 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.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=28
* 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.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=25
* 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.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=20
* 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.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=18
* 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 NetworkManager, dhcp, farp, ha and socket-dynamic plugins,
with NetworkManager plugin in a separate strongswan-nm package.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=10