SlideShare uma empresa Scribd logo
1 de 44
PROGETTO ICARTask inf-3L’impatto dei Servizi Applicativi  Michele Manzotti Fausto Marcantoni Barbara Re  Università di Camerino
2 Agenda Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR Sviluppi Futuri Autenticazione tramite SmartCard Autenticazione tramite Google
3 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
4 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
5 Shibboleth 3 4 5 7 2 1 10 6 9 8 Handle 13 Handle 11 8 Attributi 12 Attributi 10
6 Installare l’IdP Debian (netinst 5.03) Sistema minimale senza interfaccia grafica Packages Openssl – Pacchetto per la generazione delle chiavi per i certificati Ntp – Network Time Protocol per sincronizzare le macchine Apache2 – Server web Sun-java6-jdk – Kit e dipendenze per l’ambiente di sviluppo Java Tomcat5.5 – Web container per le applicazioni Curl -  Pacchetto per effettuare richieste http da riga di comando
7 Installare l’IdP Shibboleth IdP versione 2.1.2Pacchetto per la creazione di un Identity Provider
8 Organizzazzione dei file
9 Organizzazzione dei file
10 Organizzazzione dei file
11 Organizzazzione dei file
12 Organizzazzione dei file
13 Organizzazzione dei file
14 Organizzazzione dei file
15 Configurare l’IdP Editare: /etc/apache2/sites-available/default-ssl <Location /idp>ProxyPass ajp://localhost:8009/idpProxyPassReverse ajp://localhost:8009/idp</Location> /etc/apache2/mods-enabled/proxy.conf<Proxy *>AddDefaultCharset offOrder deny,allow</Proxy>
16 Configurare l’IdP Editare: /etc/apache2/ports.conf <IfModule mod_ssl.c>Listen 8443</IfModule> /etc/tomcat5.5/server.xml <!-- Define an AJP 1.3 Connector on port 8009 --><Connector port="8009" address= " 127.0.0.1 " enableLookups="false" redirectPort= " 443 " protocol="AJP/1.3" tomcatAuthentication="false" />
17 Configurare l’IdP Editare: /etc/default/tomcat5.5 JAVA_OPTS="-Djava.awt.headless=true -Xmx512M -XX:MaxPermSize=512M”TOMCAT5_SECURITY=no chown tomcat55:nogroup /opt/shibboleth-idp/logs/chown tomcat55:nogroup /opt/shibboleth-idp/metadata/chown tomcat55:nogroup /opt/shibboleth-idp/credentials/ /var/lib/tomcat5.5/conf/Catalina/localhost/idp.xml<Context docBase="/opt/shibboleth-idp/war/idp.war“privileged="true" antiResourceLocking="false" antiJARLocking="false" unpackWAR="false" swallowOutput="true" />
18 Configurare l’IdP Eseguire: a2enmod ssl – Attivazione del modulo ssl a2enmod proxy_ajp – Attivazione del modulo proxy_ajp a2ensite default-ssl – Attivazione delle configurazione fatte sul default-ssl /etc/init.d/apache2 force-reload – Riavvio di apache Test: https://idp.e-lios.eu/idp/profile/Status -  deve uscire ok https://sp.testshib.org/ - per il passaggio degli attributi
19 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
20 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
21 Installare l’SP Debian (netinst 5.03) Sistema minimale senza interfaccia grafica Packages mysql-server – Server database Phpmyadmin – Client web per il database openssh-server – Server per l’accesso remoto alla macchina apache2.2 -  Server web Php5 – Linguaggio di scripting per il web php5-ldap – Modulo di php per l’openldap libapache2-mod-shib2 – Modulo di Apache per il Service Provider di Shibboleth
22 Configurare l’SP Editare /etc/apache2/sites-available/default <Location /secure>AuthType shibbolethShibRequireSession Onrequire valid-user</Location>
23 Panoramica sui conf dell’SP /etc/shibboleth shibboleth2.xmlimpostazioni generali del servizio attribute-map.xmldefinisce la conversione tra gli attributi ricevuti dallo IdP e le variabili server Attribute-policy.xmldefinisce l’accettabilità degli attributi a partire dal loro formato
24 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
25 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
26 Installare l’infrastruttura ICAR Debian (netinst 5.03) Sistema minimale senza interfaccia grafica Packages sun-java6-jdk libbcprov-java – Librerie Java libbcprov-java-gcj – Librerie Java mysql-server phpmyadmin Porte aperte per le connessioni 3443, 4443, 5443, 6443, 8006, 8080 e 9443
27 Installare l’infrastruttura ICAR Copiare icar-inf3-release-0.9.5 in /root /root/icar-inf3-release-0.9.5/catalina_base/common/endorsed/* in/usr/share/tomcat5.5/common/endorsed catalina_base/*  in /usr/share/tomcat5.5 catalina_base/conf/*  in /usr/share/tomcat5.5/conf
28 Test dell’infrastruttura ICAR Modificare il file hosts 127.0.0.1  lp.icar.it idp.icar.it ar.icar.it aa.icar.it pa.icar.it sp.icar.itutile per fare la simulazione locale Collegarsi http://sp.icar.it:8080/icar-sp-test
29 Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR
30 Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR
31 Integrazione IdP e SP Nell’IdP Modificare il relayparty.xml <MetadataProvider id="URLMD" xsi:type="FileBackedHTTPMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" metadataURL="http://idp.xxx.eu/xxx-metadata.xml" backingFile="/opt/shibboleth-idp/metadata/elios-metadata.xml">  Nell’SP Modificare il shibboleth2.xml <SessionInitiator type="Chaining" Location="/Login" isDefault="true" id="Intranet" relayState="cookie" entityID="https://idp.e-xxx.eu/idp/shibboleth">
32 Integrazione IdP e SP Nell’SP Modificare il shibboleth2.xml <MetadataProvider type="XML" uri="http://idp.xxx.eu/xxx-metadata.xml" backingFilePath="elios-metadata.xml" reloadInterval="7200"> </MetadataProvider> <Host name="http://xxxx"> <Path name="secure" authType="shibboleth" requireSession="true" requireSessionWith="intranet"/> </Host> <ApplicationDefaults id="default" policyId="default" entityID="http://xxx/secure/" homeURL="http://xxx/secure/index.html" ….
33 Integrazione IdP e SP Nell’SP Modificare il shibboleth2.xml <!-- <SignatureMetadataFilter certificate="fedsigner.pem"/>  --> <CredentialResolver type="File" key="/etc/shibboleth/cert/server.key" certificate="/etc/shibboleth/cert/server.crt"/>  Generazione dei certificati openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
34 Integrazione IdP e SP Metadata Unire in un file i metadati dell’IdP e dell’SP file: /opt/shibboleth-idp/metadata/idp-metadata.xml  run time: http://SP/Shibboleth.sso/Metadata  <EntitiesDescription […]> … </EntitiesDescription> Renderli pubblici in modo da aggiornare un solo file ogni voltahttp://idp.xxxo.eu/xxx-metadata.xml  esempio: link
35 Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR
36 Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR
37 Integrazione con l’infrastruttura ICAR Ancora in fase di sviluppo Nel caso dell’IdP: Modifica del relaying-party.xml <RelayingParty> in modo che punti alla PA <MetadataProvider> in modo che punti alla PA Modifica dell’attribute-resolver.xml <resolver:AttributeDefinition> <resolver:DataConnector> Registrazione del nuovo IdP all’interno dell’ Authority Registry Recupero dinamico dei metadati
38 Integrazione con l’infrastruttura ICAR Nel caso dell’SP: Modifica del shibboleth2.xml <RequestMapper> in modo che punti al nuovo SP <ApplicationDefault> in modo che punti al nuovo SP <SessionInitiator> in modo che punti al metadata del LP <ApplicationOverride> in modo che punti ai singoli servizi offerti dall’SP Modifica dell’attribute-map.xml <Attribute name=“…”> per la lettura degli attributi
39 Sviluppi Futuri Autenticazione tramite SmartCard Autenticazione tramite Google
40 Autenticazione tramite Google Accesso tramite Shibbolth a tutti i servizi di Google Google è il nostro SP Necessario un accountEducation Edition (pagamento) https://shibboleth.usc.edu/docs/google-apps/
41 Autenticazione tramite SmartCard Ci sono diverse estensioni su Shibboleth che permettono l’autenticazione attraverso la SmartCard http://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Smartcard_Configuration_Examples Working in progress con Carta Raffaello
42 Conclusioni Configurazioni non sono troppo banali Necessario un minimo di skill di base Shibboleth è un software con ampi margini di miglioramento senza dimenticare che è opensource Numerose estensioni che supportano l’autenticazione tramite shibboleth Drupal Joomla Google simpleSAMLphp Tutorial Video Numerosi vantaggi derivanti dall’accesso federato
43 Riferimenti Debian - http://www.debian.org/distrib/ Shibboleth IdP http://shibboleth.internet2.edu/downloads/shibboleth/idp/2.1.2/shibboleth-identityprovider-2.1.2-bin.zip https://www.idem.garr.it/index.php/it/documenti/doc_download/21--costruire-uno-shibboleth-idp-20-per-idem Shibboleth SP http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/latest/shibboleth-sp-2.3.1.tar.gz https://www.idem.garr.it/index.php/it/documenti/doc_download/23-shibboleth-sp-20-per-idem-con-debian
44 Th@nk for your Attention! Michele Manzotti Scuola di Scienze e Tecnologie Università di Camerino Polo di informatica Via Madonna delle Carceri, 9  62032  - Camerino (Macerata) – ITALY eMail: michele.manzotti@studenti.unicam.it http://conferences.cs.unicam.it/icarplusformazione 44

Mais conteúdo relacionado

Semelhante a L'impatto dei Servizi Applicativi

SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDLuca Masini
 
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Andrea Tosato
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality CodeDaniele Mondello
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte
 
Kubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalKubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalGiuliano Latini
 
Modernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesGiulio Roggero
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
 
Programma il futuro: una scelta open source
Programma il futuro: una scelta open sourceProgramma il futuro: una scelta open source
Programma il futuro: una scelta open sourceMarco Ferrigno
 
Infrastructure as Code e metodologia DevOps
Infrastructure as Code e metodologia DevOpsInfrastructure as Code e metodologia DevOps
Infrastructure as Code e metodologia DevOpsPietro Ciotola
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsIgor Antonacci
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...azuredayit
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012Andrea Dottor
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1dotnetcode
 
September 2010 - Gatein
September 2010 - GateinSeptember 2010 - Gatein
September 2010 - GateinJBug Italy
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingfrancesco pesare
 
Node.js - Server Side Javascript
Node.js - Server Side JavascriptNode.js - Server Side Javascript
Node.js - Server Side JavascriptMatteo Napolitano
 

Semelhante a L'impatto dei Servizi Applicativi (20)

SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Idp, passo dopo passo!
Idp, passo dopo passo!Idp, passo dopo passo!
Idp, passo dopo passo!
 
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality Code
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
 
Kubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalKubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposal
 
Modernize Legacy Systems with Kubernetes
Modernize Legacy Systems with KubernetesModernize Legacy Systems with Kubernetes
Modernize Legacy Systems with Kubernetes
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
 
Programma il futuro: una scelta open source
Programma il futuro: una scelta open sourceProgramma il futuro: una scelta open source
Programma il futuro: una scelta open source
 
Infrastructure as Code e metodologia DevOps
Infrastructure as Code e metodologia DevOpsInfrastructure as Code e metodologia DevOps
Infrastructure as Code e metodologia DevOps
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Mfa.intro
Mfa.introMfa.intro
Mfa.intro
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
 
September 2010 - Gatein
September 2010 - GateinSeptember 2010 - Gatein
September 2010 - Gatein
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computing
 
Node.js - Server Side Javascript
Node.js - Server Side JavascriptNode.js - Server Side Javascript
Node.js - Server Side Javascript
 

Mais de michelemanzotti

Attacking IPv6 Implementation Using Fragmentation
Attacking IPv6 Implementation Using FragmentationAttacking IPv6 Implementation Using Fragmentation
Attacking IPv6 Implementation Using Fragmentationmichelemanzotti
 
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...michelemanzotti
 
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web InterfacesThey Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfacesmichelemanzotti
 
GDI Font Fuzzing in Windows Kernel For Fun
GDI Font Fuzzing in Windows Kernel For Fun GDI Font Fuzzing in Windows Kernel For Fun
GDI Font Fuzzing in Windows Kernel For Fun michelemanzotti
 
Lotus Domino: Penetration Through the Controller
Lotus Domino: Penetration Through the ControllerLotus Domino: Penetration Through the Controller
Lotus Domino: Penetration Through the Controllermichelemanzotti
 
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?michelemanzotti
 
Federate Identity and Access Management
Federate Identity and Access ManagementFederate Identity and Access Management
Federate Identity and Access Managementmichelemanzotti
 
Simple Network Management Protocol
Simple Network Management ProtocolSimple Network Management Protocol
Simple Network Management Protocolmichelemanzotti
 
Sistema Federato Interregionale di Autenticazione
Sistema Federato Interregionale di AutenticazioneSistema Federato Interregionale di Autenticazione
Sistema Federato Interregionale di Autenticazionemichelemanzotti
 

Mais de michelemanzotti (10)

Attacking IPv6 Implementation Using Fragmentation
Attacking IPv6 Implementation Using FragmentationAttacking IPv6 Implementation Using Fragmentation
Attacking IPv6 Implementation Using Fragmentation
 
Hacking XPATH 2.0
Hacking XPATH 2.0Hacking XPATH 2.0
Hacking XPATH 2.0
 
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
 
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web InterfacesThey Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
 
GDI Font Fuzzing in Windows Kernel For Fun
GDI Font Fuzzing in Windows Kernel For Fun GDI Font Fuzzing in Windows Kernel For Fun
GDI Font Fuzzing in Windows Kernel For Fun
 
Lotus Domino: Penetration Through the Controller
Lotus Domino: Penetration Through the ControllerLotus Domino: Penetration Through the Controller
Lotus Domino: Penetration Through the Controller
 
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
 
Federate Identity and Access Management
Federate Identity and Access ManagementFederate Identity and Access Management
Federate Identity and Access Management
 
Simple Network Management Protocol
Simple Network Management ProtocolSimple Network Management Protocol
Simple Network Management Protocol
 
Sistema Federato Interregionale di Autenticazione
Sistema Federato Interregionale di AutenticazioneSistema Federato Interregionale di Autenticazione
Sistema Federato Interregionale di Autenticazione
 

L'impatto dei Servizi Applicativi

  • 1. PROGETTO ICARTask inf-3L’impatto dei Servizi Applicativi Michele Manzotti Fausto Marcantoni Barbara Re Università di Camerino
  • 2. 2 Agenda Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR Sviluppi Futuri Autenticazione tramite SmartCard Autenticazione tramite Google
  • 3. 3 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
  • 4. 4 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
  • 5. 5 Shibboleth 3 4 5 7 2 1 10 6 9 8 Handle 13 Handle 11 8 Attributi 12 Attributi 10
  • 6. 6 Installare l’IdP Debian (netinst 5.03) Sistema minimale senza interfaccia grafica Packages Openssl – Pacchetto per la generazione delle chiavi per i certificati Ntp – Network Time Protocol per sincronizzare le macchine Apache2 – Server web Sun-java6-jdk – Kit e dipendenze per l’ambiente di sviluppo Java Tomcat5.5 – Web container per le applicazioni Curl - Pacchetto per effettuare richieste http da riga di comando
  • 7. 7 Installare l’IdP Shibboleth IdP versione 2.1.2Pacchetto per la creazione di un Identity Provider
  • 15. 15 Configurare l’IdP Editare: /etc/apache2/sites-available/default-ssl <Location /idp>ProxyPass ajp://localhost:8009/idpProxyPassReverse ajp://localhost:8009/idp</Location> /etc/apache2/mods-enabled/proxy.conf<Proxy *>AddDefaultCharset offOrder deny,allow</Proxy>
  • 16. 16 Configurare l’IdP Editare: /etc/apache2/ports.conf <IfModule mod_ssl.c>Listen 8443</IfModule> /etc/tomcat5.5/server.xml <!-- Define an AJP 1.3 Connector on port 8009 --><Connector port="8009" address= " 127.0.0.1 " enableLookups="false" redirectPort= " 443 " protocol="AJP/1.3" tomcatAuthentication="false" />
  • 17. 17 Configurare l’IdP Editare: /etc/default/tomcat5.5 JAVA_OPTS="-Djava.awt.headless=true -Xmx512M -XX:MaxPermSize=512M”TOMCAT5_SECURITY=no chown tomcat55:nogroup /opt/shibboleth-idp/logs/chown tomcat55:nogroup /opt/shibboleth-idp/metadata/chown tomcat55:nogroup /opt/shibboleth-idp/credentials/ /var/lib/tomcat5.5/conf/Catalina/localhost/idp.xml<Context docBase="/opt/shibboleth-idp/war/idp.war“privileged="true" antiResourceLocking="false" antiJARLocking="false" unpackWAR="false" swallowOutput="true" />
  • 18. 18 Configurare l’IdP Eseguire: a2enmod ssl – Attivazione del modulo ssl a2enmod proxy_ajp – Attivazione del modulo proxy_ajp a2ensite default-ssl – Attivazione delle configurazione fatte sul default-ssl /etc/init.d/apache2 force-reload – Riavvio di apache Test: https://idp.e-lios.eu/idp/profile/Status - deve uscire ok https://sp.testshib.org/ - per il passaggio degli attributi
  • 19. 19 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
  • 20. 20 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
  • 21. 21 Installare l’SP Debian (netinst 5.03) Sistema minimale senza interfaccia grafica Packages mysql-server – Server database Phpmyadmin – Client web per il database openssh-server – Server per l’accesso remoto alla macchina apache2.2 - Server web Php5 – Linguaggio di scripting per il web php5-ldap – Modulo di php per l’openldap libapache2-mod-shib2 – Modulo di Apache per il Service Provider di Shibboleth
  • 22. 22 Configurare l’SP Editare /etc/apache2/sites-available/default <Location /secure>AuthType shibbolethShibRequireSession Onrequire valid-user</Location>
  • 23. 23 Panoramica sui conf dell’SP /etc/shibboleth shibboleth2.xmlimpostazioni generali del servizio attribute-map.xmldefinisce la conversione tra gli attributi ricevuti dallo IdP e le variabili server Attribute-policy.xmldefinisce l’accettabilità degli attributi a partire dal loro formato
  • 24. 24 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
  • 25. 25 Scenari Applicativi in fase di test Installazione di un IdP Installazione di un Sp Installare l’infrastruttura ICAR
  • 26. 26 Installare l’infrastruttura ICAR Debian (netinst 5.03) Sistema minimale senza interfaccia grafica Packages sun-java6-jdk libbcprov-java – Librerie Java libbcprov-java-gcj – Librerie Java mysql-server phpmyadmin Porte aperte per le connessioni 3443, 4443, 5443, 6443, 8006, 8080 e 9443
  • 27. 27 Installare l’infrastruttura ICAR Copiare icar-inf3-release-0.9.5 in /root /root/icar-inf3-release-0.9.5/catalina_base/common/endorsed/* in/usr/share/tomcat5.5/common/endorsed catalina_base/* in /usr/share/tomcat5.5 catalina_base/conf/* in /usr/share/tomcat5.5/conf
  • 28. 28 Test dell’infrastruttura ICAR Modificare il file hosts 127.0.0.1 lp.icar.it idp.icar.it ar.icar.it aa.icar.it pa.icar.it sp.icar.itutile per fare la simulazione locale Collegarsi http://sp.icar.it:8080/icar-sp-test
  • 29. 29 Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR
  • 30. 30 Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR
  • 31. 31 Integrazione IdP e SP Nell’IdP Modificare il relayparty.xml <MetadataProvider id="URLMD" xsi:type="FileBackedHTTPMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" metadataURL="http://idp.xxx.eu/xxx-metadata.xml" backingFile="/opt/shibboleth-idp/metadata/elios-metadata.xml"> Nell’SP Modificare il shibboleth2.xml <SessionInitiator type="Chaining" Location="/Login" isDefault="true" id="Intranet" relayState="cookie" entityID="https://idp.e-xxx.eu/idp/shibboleth">
  • 32. 32 Integrazione IdP e SP Nell’SP Modificare il shibboleth2.xml <MetadataProvider type="XML" uri="http://idp.xxx.eu/xxx-metadata.xml" backingFilePath="elios-metadata.xml" reloadInterval="7200"> </MetadataProvider> <Host name="http://xxxx"> <Path name="secure" authType="shibboleth" requireSession="true" requireSessionWith="intranet"/> </Host> <ApplicationDefaults id="default" policyId="default" entityID="http://xxx/secure/" homeURL="http://xxx/secure/index.html" ….
  • 33. 33 Integrazione IdP e SP Nell’SP Modificare il shibboleth2.xml <!-- <SignatureMetadataFilter certificate="fedsigner.pem"/> --> <CredentialResolver type="File" key="/etc/shibboleth/cert/server.key" certificate="/etc/shibboleth/cert/server.crt"/> Generazione dei certificati openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  • 34. 34 Integrazione IdP e SP Metadata Unire in un file i metadati dell’IdP e dell’SP file: /opt/shibboleth-idp/metadata/idp-metadata.xml run time: http://SP/Shibboleth.sso/Metadata <EntitiesDescription […]> … </EntitiesDescription> Renderli pubblici in modo da aggiornare un solo file ogni voltahttp://idp.xxxo.eu/xxx-metadata.xml esempio: link
  • 35. 35 Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR
  • 36. 36 Integrazione dei sistemi Integrazione IdP e Sp Integrazione con l’infrastruttura ICAR
  • 37. 37 Integrazione con l’infrastruttura ICAR Ancora in fase di sviluppo Nel caso dell’IdP: Modifica del relaying-party.xml <RelayingParty> in modo che punti alla PA <MetadataProvider> in modo che punti alla PA Modifica dell’attribute-resolver.xml <resolver:AttributeDefinition> <resolver:DataConnector> Registrazione del nuovo IdP all’interno dell’ Authority Registry Recupero dinamico dei metadati
  • 38. 38 Integrazione con l’infrastruttura ICAR Nel caso dell’SP: Modifica del shibboleth2.xml <RequestMapper> in modo che punti al nuovo SP <ApplicationDefault> in modo che punti al nuovo SP <SessionInitiator> in modo che punti al metadata del LP <ApplicationOverride> in modo che punti ai singoli servizi offerti dall’SP Modifica dell’attribute-map.xml <Attribute name=“…”> per la lettura degli attributi
  • 39. 39 Sviluppi Futuri Autenticazione tramite SmartCard Autenticazione tramite Google
  • 40. 40 Autenticazione tramite Google Accesso tramite Shibbolth a tutti i servizi di Google Google è il nostro SP Necessario un accountEducation Edition (pagamento) https://shibboleth.usc.edu/docs/google-apps/
  • 41. 41 Autenticazione tramite SmartCard Ci sono diverse estensioni su Shibboleth che permettono l’autenticazione attraverso la SmartCard http://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Smartcard_Configuration_Examples Working in progress con Carta Raffaello
  • 42. 42 Conclusioni Configurazioni non sono troppo banali Necessario un minimo di skill di base Shibboleth è un software con ampi margini di miglioramento senza dimenticare che è opensource Numerose estensioni che supportano l’autenticazione tramite shibboleth Drupal Joomla Google simpleSAMLphp Tutorial Video Numerosi vantaggi derivanti dall’accesso federato
  • 43. 43 Riferimenti Debian - http://www.debian.org/distrib/ Shibboleth IdP http://shibboleth.internet2.edu/downloads/shibboleth/idp/2.1.2/shibboleth-identityprovider-2.1.2-bin.zip https://www.idem.garr.it/index.php/it/documenti/doc_download/21--costruire-uno-shibboleth-idp-20-per-idem Shibboleth SP http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/latest/shibboleth-sp-2.3.1.tar.gz https://www.idem.garr.it/index.php/it/documenti/doc_download/23-shibboleth-sp-20-per-idem-con-debian
  • 44. 44 Th@nk for your Attention! Michele Manzotti Scuola di Scienze e Tecnologie Università di Camerino Polo di informatica Via Madonna delle Carceri, 9 62032 - Camerino (Macerata) – ITALY eMail: michele.manzotti@studenti.unicam.it http://conferences.cs.unicam.it/icarplusformazione 44