Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C7454200C7D for ; Tue, 16 May 2017 18:47:47 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C5BF1160BC1; Tue, 16 May 2017 16:47:47 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id BB062160BA6 for ; Tue, 16 May 2017 18:47:46 +0200 (CEST) Received: (qmail 51664 invoked by uid 500); 16 May 2017 16:47:45 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 51655 invoked by uid 99); 16 May 2017 16:47:44 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 May 2017 16:47:44 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id A19263A37BD for ; Tue, 16 May 2017 16:47:43 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1012326 - in /websites/production/cxf/content: cache/main.pageCache fediz.html Date: Tue, 16 May 2017 16:47:43 -0000 To: commits@cxf.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20170516164743.A19263A37BD@svn01-us-west.apache.org> archived-at: Tue, 16 May 2017 16:47:48 -0000 Author: buildbot Date: Tue May 16 16:47:42 2017 New Revision: 1012326 Log: Production update by buildbot for cxf Modified: websites/production/cxf/content/cache/main.pageCache websites/production/cxf/content/fediz.html Modified: websites/production/cxf/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/cxf/content/fediz.html ============================================================================== --- websites/production/cxf/content/fediz.html (original) +++ websites/production/cxf/content/fediz.html Tue May 16 16:47:42 2017 @@ -99,7 +99,7 @@ Apache CXF -- Fediz
-

Apache CXF Fediz: An Open-Source Web Security Framework

Overview

Apache CXF Fediz is a subproject of CXF. Fediz helps you to secure your web applications and delegates security enforcement to the underlying application server. With Fediz, authentication is externalized from your web application to an identity provider installed as a dedicated server component. The supported standard is WS-Federation Passive Requestor Profile. Fediz supports Claims Based Access Control beyond Role Based Access Control (RBAC).

News

April 28, 2017 - Apache CXF F ediz 1.4.0, 1.3.2 and 1.2.4 released

Apache CXF Fediz 1.4.0, 1.3.2 and 1.2.4 have been released.

For more information and to download the new releases, please go here.

September 8, 2016 - A new security advisory for Apache CXF Fediz is released

A security issue was fixed in the latest Fediz releases (1.3.1 + 1.2.3):

  • CVE-2016-4464: Apache CXF Fediz application plugins do not match the SAML AudienceRestriction values against the list of configured audience URIs

Please upgrade to the latest releases as soon as possible.

Features

The following features are supported by Fediz 1.2

  • WS-Federation 1.0/1.1/1.2
  • SAML 1.1/2.0 Tokens
  • Support for encrypted SAML Tokens (Release 1.1)
  • Support for Holder-Of-Key SubjectConfirmationMethod (1.1)
  • Custom token Support
  • Publish WS-Federation Metadata document
  • Role information encoded as AttributeStatement in SAML 1.1/2.0 tokens
  • Claims information provided by FederationPrincipal Interface
  • Support for Tomcat, Jetty, Websphere, Spring Security and CXF (1.1)
  • Fediz IDP supports "Resource IDP" role as well (1.1)
  • A new REST API for the IdP (1.2)
  • Support for logout in both the RP and IdP (1.2)
  • Support for logging on to the IdP via Kerberos and TLS client authentication (1.2)
  • A new container-independent CXF plugin for WS-Federation (1.2)
  • Support to use the IdP as an identity broker with a remote SAML SSO IdP (1.2)

The following features are planned for the next release:

  • support for other protocols like OAuth

You can get the current status of the enhancements here .

Architecture

The Fediz architecture is described in more detail here.

Download

See here.

Getting started

The WS-Federation specification defines the following parties involved during a web login:

  • Browser
  • Identity Provider (IDP)
    The IDP is a centralized, application independent runtime component which implements the protocol defined by WS-Federation. You can use any open source or commercial product that supports WS-Federation 1.1/1.2 as your IDP. It's recommended to use the Fediz IDP for testing as it allows for testing your web application in a sandbox without having all infrastructure components available. The Fediz IDP consists of two WAR components. The Security Token Service (STS) does most of the work including user authentication, claims/role data retrieval and creating the SAML token. The IDP WAR translates the response to an HTML response allowing a browser to process it.
  • Relying Party (RP)
    The RP is a web application that needs to be protected. The RP must be able to implement the protocol as defined by WS-Federation. This component is called "Fediz Plugin" in this project which consists of container agnostic module/jar and a container specific jar. When an authenticated request is detected by the plugin it redirects to the IDP for authentication. The browser sends the response from the IDP to the RP after successful authentication. The RP validates the response and creates the container security context.

It's recommended to deploy the IDP and the web application (RP) into different container instances as in a production deployment. The co ntainer with the IDP can be used during development and testing for multiple web applications needing security.

Setting up the IDP

The installation and configuration of the IDP is documented here

Set up the Relying Party Container

The Fediz plugin needs to be deployed into the Relying Party (RP) container. The security mechanism is not specified by JEE. Even though it is very similar in each servlet container there are some differences which require a dedicated Fediz plugin for each servlet container implementation. Most of the configuration goes into a Servlet container independent configuration file which is described here

The following lists shows the supported containers and the location of the installation and configuration page.

Samples

The examples directory contains two sample relying party applications. They are independent of each other, so it is not necessary to deploy both at once.

Each sample is described in a README.txt file located in the base directory of each sample.

Sample

Description

simpleWebapp

a simple web application whic h is protected by the Fediz IDP. The FederationServlet illustrates how to get security information using the standard APIs.

wsclientWebapp

a protected web application that calls a web service that uses the Fediz STS to validate credentials. Here, the same STS is used for token issuance (indirectly, by the web application through use of the Fediz IDP) and validation. The FederationServlet illustrates how to securely call a web service.

Building

Check out the code from here:

Then follow the BUILDING.txt file in the Fediz download for full build instructions.

Setting up Eclipse:

See this page for information on using the Eclipse IDE with the Fediz source code. This page is created for CXF but the same commands are applicable for Fediz too.

+

Apache CXF Fediz: An Open-Source Web Security Framework

Overview

Apache CXF Fediz is a subproject of CXF. Fediz helps you to secure your web applications and delegates security enforcement to the underlying application server. With Fediz, authentication is externalized from your web application to an identity provider installed as a dedicated server component. The supported standard is WS-Federation Passive Requestor Profile. Fediz supports Claims Based Access Control beyond Role Based Access Control (RBAC).

News

May 16, 2017 - Two new securi ty advisories for Apache CXF Fediz are released

Two new security advisories have been released for issues that are fixed in the latest releases (1.4.0, 1.3.2 and 1.2.4):

  • CVE-2017-7661: The Apache CXF Fediz Jetty and Spring plugins are vulnerable to CSRF attacks.
  • CVE-2017-7662: The Apache CXF Fediz OIDC Client Registration Service is vulnerable to CSRF attacks.

Please upgrade to the latest releases as soon as possible.

April 28, 2017 - Apache CXF Fediz 1.4.0, 1.3.2 and 1.2.4 released

Apache CXF Fediz 1.4.0, 1.3.2 and 1.2.4 have been released.

For more information and to download the new releases, please go here.

Features

The following features are supported by Fediz 1.2

  • WS-Federation 1.0/1.1/1.2
  • SAML 1.1/2.0 Tokens
  • Support for encrypted SAML Tokens (Release 1.1)
  • Support for Holder-Of-Key SubjectConfirmationMethod (1.1)
  • Custom token Support
  • Publish WS-Federation Metadata document
  • Role information encoded as AttributeStatement in SAML 1.1/2.0 tokens
  • Claims information provided by FederationPrincipal Interface
  • Support for Tomcat, Jetty, Websphere, Spring Security and CXF (1.1)
  • Fediz IDP supports "Resource IDP" role as well (1.1)
  • A new REST API for the IdP (1.2)
  • Support for logout in both the RP and IdP (1.2)
  • Support for logging on to the IdP via Kerberos and TLS client authentication (1.2)
  • A new container-independent CXF plugin for WS-Federation (1.2)
  • Support to use the IdP as an identity broker with a remote SAML SSO IdP (1.2)

The following features are planned for the next release:

  • support for other protocols like OAuth

You can get the current status of the enhancements here .

Architecture

The Fediz architecture is described in more detail here.

Download

See here.

Getting started

The WS-Federation specification defines the following parties involved during a web login:

  • Browser
  • Identity Provider (IDP)
    The IDP is a centralized, application independent runtime component which implements the protocol defined by WS-Federation. You can use any open source o r commercial product that supports WS-Federation 1.1/1.2 as your IDP. It's recommended to use the Fediz IDP for testing as it allows for testing your web application in a sandbox without having all infrastructure components available. The Fediz IDP consists of two WAR components. The Security Token Service (STS) does most of the work including user authentication, claims/role data retrieval and creating the SAML token. The IDP WAR translates the response to an HTML response allowing a browser to process it.
  • Relying Party (RP)
    The RP is a web application that needs to be protected. The RP must be able to implement the protocol as defined by WS-Federation. This component is called "Fediz Plugin" in this project which consists of container agnostic module/jar and a container specific jar. When an authenticated request is detected by the plugin it redirects to the IDP for authentication. The browser sends the response from the IDP to the RP after successful auth entication. The RP validates the response and creates the container security context.

It's recommended to deploy the IDP and the web application (RP) into different container instances as in a production deployment. The container with the IDP can be used during development and testing for multiple web applications needing security.

Setting up the IDP

The installation and configuration of the IDP is documented here

Set up the Relying Party Container

The Fediz plugin needs to be deployed into the Relying Party (RP) container. The security mechanism is not specified by JEE. Even though it is very similar in each servlet container there are some differences which require a dedicated Fediz plugin for each servlet container implementation. Most of the configuration goes into a Servlet container independent configuration file which is desc ribed here

The following lists shows the supported containers and the location of the installation and configuration page.

Samples

The examples directory contains two sample relying party applications. They are independent of each other, so it is not necessary to deploy both at once.

Each sample is described in a README.txt file located in the base directory of each sample.

Sample

Description

simpleWebapp

a simple web application which is protected by the Fediz IDP. The FederationServlet illustrates how to get security information using the standard APIs.

wsclientWebapp

a protected web application that calls a web service that uses the Fediz STS to validate credentials. Here, the same STS is used for token issuance (indirectly, by the web application through use of the Fediz IDP) and validation. The FederationServlet illustrates how to securely call a web service.

Building

Check out the code from here:

Then follow the BUILDING.txt file in the Fediz download for full build instructions.

Setting up Eclipse:

See this page for information on using the Eclipse IDE with the Fediz source code. This page is created for CXF but the same commands are applicable for Fediz too.