Costruire uno Shibboleth IdP per IDEM

Documenti analoghi
Installazione di un Identity Provider

Installazione Shibboleth Service Provider su Debian-Linux

Configurazione di sicurezza di XAMPP

Installazione Shibboleth IDP per Linux. 28 Gennaio 2015

Configurazione di sicurezza di XAMPP

Infrastrutture di Autenticazione e Autorizzazione

Configurare un server LAMP con Ubuntu

Shibboleth SP installazione e configurazione di base per SSO

CNR - Istituto di studi sui sistemi intelligenti per l automazione. Tutorial Auditing. I convegno IDEM Marzo Speaker: Claudio Marotta

simplesamlphp Implementazione SP a livello applica1vo Marco Ferrante Università di Genova/CTS IDEM

Installazione di uno Shibboleth Service Provider 1.3 su Microsoft Windows 2003 Server

Rapporto Tecnico N. 2 Ottobre IBIM Drive. Alessandro Pensato

Informazioni sull'installazione della libreria e del plugin per Joomla! Spid for Joomla!

Agenda. Come è fa)a la sessione utente: gli a(ribu-! Come leggere i da5 di sessione. La sessione "passiva": lazy session

Shibboleth SP con Debian

Argomenti Percorso 7 Apache HTTP

Progettazione di un sistema Single SignOn che permette l'accesso tramite tipi diversi di credenziali

ICTARC ICT per i Beni Architettonici e Archeologici. BORSISTA: Arch. Maria Cristina Diamanti TUTOR: Dott.ssa Mirella Serlorenzi

Shibboleth SP installazione e configurazione di base per SSO

Utilizzare IDEM per controllare l'accesso wireless. Case Study: la rete wireless dell Università di Ferrara

CONFIGURAZIONE WAMP SERVER + SSL (HTTPS)

Overview. SSL, TLS e OpenSSL TCP/IP. Corso di Sicurezza su reti PARTE I: Il protocollo SSL

Programmazione Web. Lezione del 30 Aprile Docente: Novella Bartolini

Server Web MultiHost. RaspBerry PI

CONFIGURAZIONE XAMPP + SSL (HTTPS)

Primi passi con Apache Tomcat. L application server dell Apache group

Apache e Tomcat su GNU/Linux

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso

HOWTO Install Raptor ICA on Debian Linux

Node.js + Drupal. Luca Lusso. giovedì 1 dicembre 11

Nunzio Napolitano CTS Marco Malavolti - GARR. Roma, Febbraio 2013 Giornate IDEM 2013

Configurazione avanzata di XAMPP

Guida all'installazione dello Shibboleth Embedded Discovery Service v1.1.0 su Debian-Linux

Installazione SimpleSAMLphp Identity Provider su Debian-Linux + Upgrade

Installazione Shibboleth IDP per Linux

SHAREPOINT CONNECTOR PLUG-IN - short guide-

Rinnovare l'identity Management con Shibboleth e Esse3

Integrazione Gateway Enti Locali (GEL) tramite Shibboleth

Nunzio Napolitano (Università degli Studi di Napoli PARTHENOPE ) IdP configurazione base Connessione con un SP

CONFIGURAZIONE DEI SERVIZI (seconda parte)

Shibboleth SP: configurazione avanzata

Download ed Installazione del Software di Firma Digitale

Shibboleth enabling a web service: Nilde s case study

Elaborato Shell. Elementi di architettura e sistemi operativi 2016/2017

Download, configurazione ed installazione di apache

Guida alla configurazione di apparati Zyxel per l uso in abbinamento a piattaforme Wi-Fi Hotel e WiFinity

Corso di Laurea in Informatica Reti e Sicurezza Informatica

Esercitazione 2 Certificati

Scritto da Administrator Martedì 21 Ottobre :47 - Ultimo aggiornamento Lunedì 03 Ottobre :56

Firma digitale di documenti con certificato personale

Web Server. Corso di Applicazioni Telematiche. A.A Lezione n.5 Prof. Roberto Canonico

NEXT-GEN USG: Filtri Web

TS-CNS Manuale Installazione Linux 2013

Dipartimento Affari Interni e Territoriali Direzione Centrale per i Servizi Demografici INA-SAIA. SSLProxy. Manuale Utente. versione 1.

Wi-Fi protetto da autenticazione Federata

IDEM eduroam. Infrastrutture di Autenticazione e Autorizzazione (Franco Tinarelli Coffee talk IRA 13 aprile 2012)

MAILSERVER CON IMAP E WEBMAIL (Debian Etch)

Workshop GARR Calcolo e storage distribuito

Alcune info sugli IDP

WP5. 9 Settembre Paolo Veronesi (INFN CNAF)

Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi

GARR Certificate Service & Federazione IDEM. Simona Venuti - GARR

SPID nella Community Developers Italia

PRIMO MODULO. DURATA: 80 ore CONTENUTI

Terena Certificate Service

Apache e la Sicurezza

Progetto Remote Access

Secure Socket Layer (SSL) Transport Layer Security (TLS)

GovPay 2.0. Manuale Installazione Sorgenti

MANUALE D UTILIZZO DI IDEM

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

I Servizi dedicati agli utenti e alle risorse della rete GARR. Gabriella Paolini III Convegno SITAR SSBAR - Roma 23 Maggio 2013

Il progetto IDEM. Roberto Cecchini. Workshop GARR 08 Milano, 3 Aprile 2008

Guida all'installazione di Ubuntu 10.10

ORA1144 Oracle WebLogic Server 12c: Administration I

Cos è OpenSSL? Comandi OpenSSL. Cos è OpenSSL? Sicurezza nei Sistemi Informativi. Alcune note su OpenSSL.

Guida alla Configurazione del Client di posta Microsoft XP Outlook 2006

Presentazione del software Grouper per la gestione dei privilegi di gruppo in un contesto di Single Sign On, a cura del Gruppo di lavoro VOs del CTS

Implementazione di un repository locale e possibili sviluppi futury. Marcello Casalena. Seminari

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. ATOS su Windows 32 bit e 65 bit

Anno Accademico Laboratorio di Tecnologie Web Uso di Firebug

Carta Regionale dei Servizi MANUALE DI INSTALLAZIONE E CONFIGURAZIONE SOFTWARE CRS PER LINUX

IDENTITY MANAGEMENT AND GOVERNANCE

HTTPD - Server web Apache2

NetWare 6. Novell. Installazione e upgrade. GUIDA RAPIDA

Configurazione di Openvpn su Linux

Samsung Universal Print Driver Guida dell utente

L accesso alla rete wireless di UniFe e la sua integrazione con la federazione IDEM. Relatore: Michele Lugli

Pagina 1 di 6. Client SOAP di test per i servizi del Sistema di Interscambio. Indice

ATTIVAZIONE SERVIZIO NOTIFICHE SMS

Symantec IT Management Suite 8.0 powered by Altiris technology

Il tuo manuale d'uso. SAMSUNG SCX-4623FW

Servizi della biblioteca. Accedere alle risorse elettroniche da fuori rete Unimore

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. OBERTHUR su Windows 32 bit e 65 bit

Due applicazioni pratiche: l'autenticazione tramite Smart Card e la firma digitale massiva

Apache è un server HTTP freeware (completo di sorgenti C), sviluppato da un certo numero di programmatori. Un Web Server per il protocollo HTTP

Versione 1.7. Manuale per Creatori Corsi. Parte I: Accesso e Creare Risorse

Tomcat. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2006/07-1

Scritta da Andrea Cappa COME INSTALLARE LINUX IN UN HOST VIRTUALE

L ABC per capire IDEM

Transcript:

Ce.S.I.A. Università di Modena e Reggio nell Emilia 1 aprile 2008

Introduzione Lo scopo di questo tutorial è: installare un Shibboleth IdP su Debian Etch; configurare Shibboleth per partecipare alla federazione IDEM. La scelta di Debian/Etch come IdP non è l unica possibile: Shibboleth-IdP si installa con un script ant cross-platform. Esistono alternative anche per l uso di Apache2/Tomcat5.5. Questa configurazione resta però la più rodata e meglio documentata.

Alcune questioni che non saranno trattate È al di fuori delle finalità di questa trattazione (prerequisiti): Identity management (come raccogliere, gestire e mantenere aggiornate le identità degli utenti); LDAP (configurazione e connessione sicura LDAPS o StartTLS); Certificati digitali (come ottenere i certificati SCS è spiegato a: http://ca.garr.it/scs/istruzioni.php).

Prima di ogni altra cosa Ottenere un certificato SCS per il proprio IdP. Il certificato deve essere SCS, perché solo SCS è la CA accettata da IDEM. Suggerimenti: http://ca.garr.it/

Pacchetti da installare. openssl; ntp; apache2; sun-java5-jdk; tomcat5.5.

Attivare proxy_ajp Creare /etc/apache2/mods-available/proxy_ajp.conf <Location /shibboleth-idp> ProxyPass ajp://idp.uniprova.it:8009/shibboleth-idp ProxyPassReverse ajp://idp.uniprova.it:8009/shibboleth-idp </Location> Modificare: /etc/apache2/mods-enable/proxy.conf <Proxy *> AddDefaultCharset off Order deny,allow </Proxy> Cioé commentare le righe di deny e lasciare invariato il resto.

Attivare StartTLS con LDAP Modificare: /etc/apache2/mods-available/authnz_ldap.conf 1 LDAPTrustedMode TLS LDAPTrustedGlobalCert CA_BASE64 /etc/ssl/certs/scs-chain.pem in cui scs-chain.pem sono i certificati: GTE CyberTrust Global Root Cybertrust Educational CA uno accodato all altro. http://ca.garr.it/scs/istruzioni.php 1 NB: Se il server LDAP ha un certificato sotto una CA diversa da SCS, sostituire a scs-chain.pem i certificati di questa CA; se la comunicazione avviene senza cifratura, saltare questa slide.

Creare il sito idp in apache 1 Creare il file: /etc/apache2/sites-available/idp <VirtualHost _default_:443> DocumentRoot "/var/www/" ServerName idp.unitest.it:443 ServerAdmin root@localhost ErrorLog /var/log/apache2/ssl_error.log TransferLog /var/log/apache2/ssl_access.log SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLCertificateFile /etc/ssl/certs/idp.pem SSLCertificateKeyFile /etc/ssl/private/idp.key SSLCertificateChainFile /etc/ssl/certs/scs-chain.pem SSLCACertificateFile /etc/ssl/certs/scs-chain.pem <Location /shibboleth-idp/sso> AuthName "Autenticazione su LDAP/StartTLS" AuthType Basic AuthBasicProvider ldap AuthLDAPURL ldap://ldap1.unitest.it/ou=people,dc=unitest,dc=it?uid?sub?(uid=*) TLS AuthzLDAPAuthoritative Off require valid-user </Location> </VirtualHost>

Creare il sito idp in apache 2 continua /etc/apache2/sites-available/idp # workaround for apache2 POST bug <VirtualHost _default_:8443> SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA: \\ +HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLVerifyClient require SSLVerifyDepth 10 SSLOptions +StdEnvVars +ExportCertData SSLCertificateFile /etc/ssl/certs/idp.pem SSLCertificateKeyFile /etc/ssl/private/idp.key SSLCertificateChainFile /etc/ssl/certs/scs-chain.pem SSLCACertificateFile /etc/ssl/certs/scs-chain.pem ErrorLog /var/log/apache2/ssl_error.log TransferLog /var/log/apache2/ssl_access.log </VirtualHost>

Rendere attive le modifiche in Apache Modificare il file /etc/apache2/sites-enabled/000-default: NameVirtualHost *:80 <VirtualHost *:80> Aggiungere in /etc/apache2/ports: Listen 80 Listen 443 Listen 8443 Eseguire: a2enmod ssl a2enmod proxy_ajp a2enmod authnz_ldap a2ensite idp /etc/init.d/apache2 force-reload

Tomcat Configurazione connector AJP con Apache nel file: /etc/tomcat5.5/server.xml <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" address="qui_lo_ip_dell_host" enablelookups="false" redirectport="8443" protocol="ajp/1.3" tomcatauthentication="false" /> Aggiungere in /etc/default/tomcat5 TOMCAT5_SECURITY=no Copyright Giacomo Tenaglia, CNR Bologna.

Provare quanto fatto finora - Installare (poi cancellare) il pacchetto tomcat5.5-webapps; - aggiungere (poi rimuovere) a proxy_ajp.conf: <Location /jsp-examples> ProxyPass ajp://idp.unimore.it:8009/jsp-examples ProxyPassReverse ajp://idp.unimore.it:8009/jsp-examples </Location> - riavviare apache. https://idp.uniprova.it: pagina di benvenuto di Apache, certificato valido; https://idp.uniprova.it:8443: richiesta di certificato utente oppure errorcode -122227 (Firefox); https://idp.uniprova.it/shibboleth-idp/sso: appare popup di autenticazione. Dopo l autenticazione errore; 2 http://idp.uniprova.it:8180: pagina di benvenuto di Apache Tomcat/5.5; https://idp.uniprova.it/jsp-examples/: pagina di benvenuto di Apache Tomcat/5.5; 2 Anche dopo l installazione di Shibboleth l accesso diretto allo SSO darà errore tipo: Invalid data from Service Provider: no target URL received.

Installazione Implementazione ufficiale di Internet2: wget http://shibboleth.internet2.edu/downloads \ /shibboleth-idp-1.3.3.tar.gz tar xzvf shibboleth-idp-1.3.3.tar.gz cd shibboleth-1.3.3-install/ Sovrascrittura classi obsolete: cp./endorsed/*.jar /usr/share/tomcat5.5/common/endorsed/ Installazione usando ant: export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun export CATALINA_HOME=/var/lib/tomcat5.5./ant chown tomcat55:nogroup /usr/local/shibboleth-idp/logs/ chmod 755 /usr/local/shibboleth-idp/bin/* chown tomcat55:nogroup /var/lib/tomcat5.5/webapps/shibboleth-idp.war Copyright Giacomo Tenaglia, CNR Bologna.

Configurazione panoramica I file di configurazione rilevanti per lo IdP sono: idp.xml File di configurazione generale: modificare gli indirizzi del server, i certificati digitali, il nome del file con i metadata; resolver.xml Risoluzione degli attributi: definizione del servizio a cui richiederli (LDAP, db con driver jdbc), definizione degli attributi da estrarre e loro denominazione; arps.site.xml Poliche di rilascio degli attributi: definisce quali attributi rilasciare a quali SP; idem-metadata.xml Definizione dei partecipanti alla Federazione: elenca tutti gli IdP e gli SP con i rispettivi nomi DNS e i percorsi degli indirizzi per lo scambio degli attributi e il Single Sign On. Contiene anche i certificati digitali della CA.

Configurazione i file Un esempio dei file di configurazione dello IdP: idp.xml http://www.idem.garr.it/docs/conf/ idp.reference.xml resolver.xml http://www.idem.garr.it/docs/conf/ resolver.reference.xml arps.site.xml http://www.idem.garr.it/docs/conf/ arp.site.reference.xml idem-metadata.xml http://www.idem.garr.it/docs/ conf/idem-metadata.xml

Il passaggio degli attributi Creazione keystore con certificato della CA e del server LDAP: cd /usr/local/shibboleth-idp/etc/ keytool -import -keystore./keystore.jks -alias ca -file scs-chain.pem keytool -import -keystore./keystore.jks -alias idp-ldap -file europki.pem Modificare di resolvertest per usare il keystore appena creato, aggiungere all ultima riga: -Djavax.net.ssl.trustStore=/usr/local/shibboleth-idp/etc/keystore.jks Uso del keystore da Tomcat: /etc/default/tomcat5.5 CATALINA_OPTS="-Djavax.net.ssl.trustStore=/usr/local/shibboleth-idp/etc/keystore.jks" Test: $IDP_HOME/bin/resolvertest --user=malvezzi \\ --idpxml=file:///$idp_home/etc/idp.xml \\ --requester=https://www.dispense.unimore.it Copyright Giacomo Tenaglia, CNR Bologna.

Aderire ad IDEM Inserire i dati dello IdP nel idem-metadata.xml; nel WAYF. Istruzioni: http://www.idem.garr.it/ Contatto: Barbara Monticini (monticini@fi.infn.it).

Provare subito SP di prova GARR https://sp-test.garr.it/secure SP di prova UniMORE https://omissis.unimore.it/secure

Java-based User Authentication Panoramica: Invece dell apparizione del popup di autenticazione inviato da Apache, si potrebbe avere piacere a mostrare una form di login. Vantaggi: personalizzare la pagina secondo le esigenze della propria azienda; aggiungere delle istruzioni. N.B.: Facoltativo!

Passi da compiere Passi di svolgere: Disattivare la protezione dell handler di SSO da Apache (commentare la sezione <Location /shibboleth-idp/sso> in /etc/apache2/sites-available/idp); Aggiungere al file /etc/tomcat5.5/server.xml la configurazione del proprio server LDAP per permettere l autenticazione; Modificare al file di deploy di shibboleth (web.xml) per fare apparire i file della form di login.

server.xml Aggiungere al file /etc/tomcat5.5/server.xml: <Realm classname="org.apache.catalina.realm.jndirealm" connectionurl="ldaps://ldap1.unitest.it" connectionname="cn=adminshib,dc=unitest,dc=it" connectionpassword="test" userbase="dc=unitest,dc=it" usersubtree="true" usersearch="(uid={0})" userrolename="objectclass" debug="99" /> usersearch="(uid=0)" nel caso che gli utenti usino come username lo uid; ConnectionName e ConnectionPassword devono essere presenti; userrolename="objectclass" associa ad ogni utente il ruolo "person" (presente come objectclass).

web.xml 1 Aggiungere al file /var/lib/tomcat5.5/webapps/shibboleth-idp/web-inf/web.xml, nel blocco <web-app> <!-- Define a security constraint on this application --> <security-constraint> <!-- the list of URL patterns that needs to be protected --> <web-resource-collection> <web-resource-name>sso servlet</web-resource-name> <url-pattern>/sso</url-pattern> </web-resource-collection> <auth-constraint> <!-- allow all roles, a role has to be specified from Tomcat v5.5.15 and higher --> <role-name>*</role-name> </auth-constraint> <!-- force all data to use SSL for transport --> <user-data-constraint> <transport-guarantee>confidential</transport-guarantee> </user-data-constraint> </security-constraint>

web.xml 2 File: /var/lib/tomcat5.5/webapps/shibboleth-idp/web-inf/web.xml <!-- Login configuration using form-based authentication --> <login-config> <auth-method>form</auth-method> <realm-name>shibboleth form-based authentication</realm-name> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/login-error.jsp</form-error-page> </form-login-config> </login-config> <!-- Security roles referenced by this web application --> <security-role> <description>all Users</description> <role-name>person</role-name> </security-role>

Riferimenti https://spaces.internet2.edu/display/shib/ InstallingShibboleth tutorial di Giacomo Tenaglia, 2 aprile 2007 (http://www. garr.it/meeting_aai/slide_sem/2idp.pdf) Seminario su Shibboleth 28-29/11/07 di Giacomo Tenaglia ad UniPD http: //dreams.stat.unipd.it/?gruppi_di_lavoro: Seminario_su_Shibboleth_28-29%2F11%2F07 https://spaces.internet2.edu/display/shib/ IdPUserAuthnConfig