SURFconext vereist dat alle endpoint URL's die Identity Providers of Service Providers gebruiken via HTTPS lopen. Dat betekent dat de server die gekoppeld moet worden, voorzien moet zijn van correct geïnstalleerde servercertificaten (SSL/TLS), uitgegeven door een gangbare Certification Authority (CA). Dit is belangrijk omdat de browser van de gebruiker veilig moet kunnen communiceren met Identity Providers (daarheen worden immers wachtwoorden gestuurd) en Service Providers (daarheen worden immers persoonsgegevens gestuurd). HTTPS zorgt voor het versleutelen van de communicatie tussen browser en server en voor het authenticeren van de server.

Let wel dat gebruikers gevraagd gaat worden hun gebruikersnaam en wachtwoord in te geven op je Identity Provider. Daarom dient de TLS-configuratie zo goed mogelijk te zijn en hen het vertrouwen te geven dat het goed zit.

Je moet hierbij de onderstaande opmerkingen in acht nemen:

  • Gangbaar betekent hier dat het root-certificaat van de CA geïnstalleerd moet zijn in alle populaire browsers (Internet Explorer, Firefox, Chrome, Safari, enzovoort).
  • Een voorbeeld van een degelijke CA is de TERENA Certificate Service (TCS). SURFnet-klanten die gebruikmaken van de dienst SURFcertificaten kunnen contact opnemen met de TCS-gemachtigden van hun instelling via de e-mail-alias scs-ra@<instelling.nl>
  • Andere organisaties kunnen bij een commerciële provider een servercertificaat afnemen, bijv: https://www.sslcertificaten.nl/
  • Let erop dat je het certificaat correct hebt geïnstalleerd (zie hieronder).

Als vuistregel kan gehanteerd worden dat een IdPs minstens een "B" rating op SSLLabs.com moeten hebben om aangesloten te worden (zie hieronder), maar liever natuurlijk nog beter. Normaliter is een "A"-rating uitstekend haalbaar zonder significant verlies aan client support. Een uitgebreide checklist van waar de SSL/TLS-configuratie aan dient te voldoen kun je vinden op onze 'SSL/TLS server configuration' pagina.

Configuratietips

Met de Qualsys SSL labs SSL server test kun je testen of het certificaat correct is geïnstalleerd en of de rating volstaat. Om aan te sluiten op SURFconext moet de rating minimaal 'B' zijn.


Je kunt ook de command-line tools van OpenSSL gebruiken om te verifiëren of het certificaat correct is geïnstalleerd:

openssl s_client \-connect wayf.surfnet.nl:443

De meest gebruikte configuratiefout is het ontbreken van de certificate chain, zie ook de hierboven genoemde SSL/TLS server configuration pagina. In het voorbeeld van 'wayf.surfnet.nl'  wordt de certificate chain als volgt getoond:

...
---
Certificate chain
 0 s:/C=NL/O=SURFnet B.V./OU=Services/CN=wayf.surfnet.nl
   i:/C=NL/O=TERENA/CN=TERENA SSL CA
 1 s:/C=NL/O=TERENA/CN=TERENA SSL CA
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
 2 s:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 3 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
---
...

Bovenstaand certificaat (AddTrust External CA Root) is een root CA-certificaat dat in alle browsers is geïnstalleerd.

In Apache kan de chain worden geïnstalleerd met het SSLCACertificateFile directive:

SSLCertificateChainFile /path/to/chainfile.pem