Page tree
Skip to end of metadata
Go to start of metadata

!!! ALERT - THIS SERVICE IS UNDER TESTING !!!

Index

  1. Introduction
  2. Check performed on the IdPs
  3. Statuses and results
  4. Limitations
  5. Disable Checks
  6. User interface
    1. User interface parameters
  7. JSON interface
  8. GIT repository
  9. Presentations

Introduction

The purpose of the eduGAIN Connectivity Check 2 is to identify eduGAIN Identity Providers (IdP) that are not properly configured. In particular it checks if an IdP properly loads and consumes SAML2 metadata which contains the eduGAIN Service Providers (SP). The check results are published on the public eduGAIN Connectivity Check 2 web page (https://technical-test.edugain.org/eccs2/). The main purpose is to increase the service overall quality and user experience of the eduGAIN interfederation service by making federation and Identity Provider operators aware of configuration problems.

The check is performed by sending a SAML authentication request to each eduGAIN IdP and then follow the various HTTP redirects. The expected result is a login form that allows users to authenticate (typically with username/password) or an error message of some form. For those Identity Providers that output an error message, it can be assumed that they don't consume eduGAIN metadata properly or that they suffer from another configuration problem. There are some cases where the check will generate false positives, therefore IdPs can be excluded from checks as is described below.

The Identity Providers are checked once per day. Therefore, the login requests should not have any significant effect on the log entries/statistics of an Identity Provider. Also, no actual login is performed because the check cannot authenticate users due to missing username and password for the IdPs. Only Identity Providers are checked but not the Service Providers.

The eduGAIN Connectivity Check 2 is configured to maintain a history of 7 days of the results collected.

If this page does not answer to your questions or you need some more information about this service, please contact us on support@edugain.org.

Check performed on the IdPs

The check executed by the service follows these steps:

  1. It retrieves the eduGAIN IdPs from eduGAIN Operator Team database via a JSON interface.
  2. For each IdP that it was not manually disabled by the eduGAIN Operations Team, the check creates a Wayfless URL for each SP involved and retrieves the IdP login page. It expects to find the HTML form with a username and password field. Therefore, no complete login will happen at the Identity Provider because the check stops at the login page. The SPs used for the check are "SP Demo" (https://sp-demo.idem.garr.it/shibboleth) from IDEM GARR AAI and the "AAI Viewer Interfederation Test" (https://attribute-viewer.aai.switch.ch/interfederation-test/shibboleth) from SWITCHaai. These SPs might change in the future if needed. The SAML authenticatin request is not signed. Therefore, authentication request for any eduGAIN SP could be created because the SP's private key is not needed.

Statuses and results

The tool uses the following statuses for IdPs:

StatusUI ColorDescription and results
ERRORRed
  • The IdP's response contains an HTTP Error or the web page returned does not look like a login page. The most probable causes for this error are HTTP errors (e.g.: 404 error)
    • Invalid-Form: considers those IdPs that do not load a standard username/password login page and do not return messages like "No return endpoint available for relying party" or "No metadata found for relying party".
    • Timeout: considers those IdPs that do not load a standard username/password login page within 60 seconds.
  • The IdP most likely does not consume the eduGAIN metadata correctly.
    A typical case that falls into this category is when an IdP returns a message "No return endpoint available for relying party" or "No metadata found for relying party":
    • No-eduGAIN-Metadata
  • The IdP has a problem with its SSL certificate:
    • SSL-Error
OKGreen
  • The IdP most likely correctly consumes eduGAIN metadata and returns a valid login page. This is no guarantee that login on this IdP works for all eduGAIN services but if the check is passed for an IdP, this is probable.
DISABLEDWhite
  • The IdP is excluded because it cannot be checked reliably. The "Page Source" column, when an entity is disabled, shows the reason for the disabling.

Limitations

There are some situations where the check cannot work reliably. In those cases it is possible to disable the check for a particular IdP. The so far known cases where the check might generate a false negative are:

  • IdP does not support HTTP or HTTPS with at least SSLv3 or TLS1 or newer (these IdPs are insecure anyway)
  • IdP is part of a Hub & Spoke federation (some of them manually have to first approve eduGAIN SPs)
  • IdP does not use web-based login form (e.g. HTTP Basic Authentication or X.509 login)

Disable Checks

In cases where an IdP cannot be reliably checked, it is necessary to create or enrich the robots.txt file on the IdP's web root with:

User-agent: ECCS
Disallow: /

User interface

The eduGAIN Connectivity Check 2 test web pages is available at: https://technical-test.edugain.org/eccs2

User interface parameters

Parameter nameExample
date
date=2020-02-20
reg_auth
reg_auth=https://reg.auth.example.org
idp
idp=https://idp.example.org/idp/shibboleth
status
status=ERROR

Example:

https://technical-test.edugain.org/eccs2?reg_auth=http://www.idem.garr.it/&status=ERROR

JSON interface

The eduGAIN Connectivity Check service 2 provides a JSON feed on the monitoring results.


The table below describes the actions that can be performed by replacing "##ACTION##" in the URL:

https://technical-test.edugain.org/eccs2/api/##ACTION##

Action Name (JSON)Action Description
eccsresults
Returns all the eduGAIN Connectivity Check 2 service results
fedstats

Returns all the federation statistics collected by the eduGAIN Connectivity Check 2 service.


The table below, instead, describes the JSON parameters that actions can use:

https://technical-test.edugain.org/eccs2/api/##ACTION##?##PARAMETER##=<value>

Action Name (JSON)Parameter Name (JSON)Parameter DescriptionExample
  • eccsresults
  • fedstats
date
Returns all the eduGAIN Connectivity Check service results for a specific date.
date=2020-02-20
  • eccsresults
  • fedstats
reg_auth
Returns all the eduGAIN Connectivity Check service results for a specific Registration Authority.
reg_auth=https://reg.auth.example.org
  • eccsresults
idp
Return the eduGAIN Connectivity Check service result for a specific IdP by its entityID.
idp=https://idp.example.org/idp/shibboleth
  • eccsresults
status

Returns all the eduGAIN Connectivity Check service results for a specific Status:

  • OK
  • ERROR
  • DISABLED
status=ERROR


Example URL:

GIT repository

https://gitlab.geant.org/marco.malavolti/eccs2

Presentations






  • No labels