1. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 1
XIII Meeting
GRASS e GFOSS
GeoShield project
Gestione dei permessi e dell'autenticazione verso servizi OGC
Presentazione del plug-in per il Resource Access Manager di GeoServer e
della protezione dei servizi Sensor Observation service
Milan P. Antonovic, Institute of Earth science - SUPSI
Massimiliano Cannata , Institute of Earth science - SUPSI
16 Febbraio 2012
2. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 2
Indice
• Introduzione dell’Istituto Scienze della Terra – SUPSI
– Le implementazione OGC usate
– La necessità di proteggere I dati
• Presentazione di GeoShield
– Le strategie di protezione di GeoShield
– L’interfaccia Web di amministrazione
– I servizi OGC protetti
– La protezione del Sensor Observation Service
– Il plug-in per il Resource Access Manager di GeoServer
• Gestione degli accessi
• Applicazione dei permessi di accesso
– Demo del GeoShield plug-in
– Prossimi miglioramenti
16 Febbraio 2012
3. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 3
Introduzione dell’Istituto Scienze della Terra – SUPSI
Campi di attività : Incentrati su:
• Pianificazione territoriale • Mandati governativi
• Idrogeologia – Mantenimento di geo-database
• Idrologia – Applicazione Web di supporto alle
• Geologia decisioni:
• Geomatica • Pericoli naturali
• Protezione dell’acqua
• Pozzi, sorgenti e sondaggi
• Monitoraggio rete indrologica
• Progetti interregionali (EU, World Bank)
• Corsi di aggiornamento
• Progetti di ricerca
16 Febbraio 2012
4. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 4
Le implementazione OGC usate
Distribuzione di
Dati geografici
Monitoraggio
Processamento
16 Febbraio 2012
5. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 5
La necessità di proteggere I dati
Come proteggere in maniera
centralizzata tutti i servizi??
Applicazioni Web
WMS
Web
Dati sensibili SOS
Dati misti
Dati pubblici WFS
WPS
16 Febbraio 2012
6. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 6
Presentazione di GeoShield
• GeoShield è una soluzione Open Source • Interfaccia amministrativa Web
per la gestione dell’autenticazione e • Sencha - Ext JS
dell’autorizzazione verso servizi OGC
• OGC standards protected
• Sviluppato in Java • WMS
• WFS
• Librerie di supporto: • SOS
• Apache Commons
• GeoTools • Plug-in per il Resource Access
• EclipseLink [Persistence API] Manager di GeoServer
• PostgreSQL
• JSON parser
16 Febbraio 2012
7. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 7
Le strategie di protezione di GeoShield
HTTP basic
authentication
HTTPS Web
GeoShield
Security Proxy
Compatibilità con:
• Navigatori Web
• Applicazioni Desktop
• Udig, QGIS, ArcGIS
16 Febbraio 2012 Web administration interface
8. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 8
Pre-processamento della richiesta
User GeoShield WFS service
GetFeature (WFS)
Caricamento permessi
CQL per ogni layer
GetFeature + Filtri OGC
Il dato finale Inoltro dei dati
9. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 9
Post-processamento della richiesta
User GeoShield OGC service
GetCapabilities GetCapabilities
Capabilities document
1. Parsing response
2. Adapt response
according to user
Capabilities document filter
10. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 10
L’interfaccia Web di amministrazione
• Accesso riservato
• Interfaccia amichevole (Desktop-like GUI)
• Gestione delle autorizzazioni per:
– Utenti
– Gruppi
– Servizi (OGC)
– Permessi (per layer)
– Richieste (OGC)
16 Febbraio 2012
11. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 11
I servizi OGC protetti
Web Map Service 1.1.1:
Protocollo standard per la diffusione di immagini di mappe georeferenziate sul Web
• GeoServer (testato): grazie alla capacità di applicare filtri OGC su WMS
– CQL completo (Common Query Language)
• Others (not tested):
– INCLUDE/EXCLUDE
• Richieste:
– GetCapabilities
– GetMap
– GetFeatureInfo
– GetLegendGraphic
16 Febbraio 2012
12. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 12
I servizi OGC protetti
Web Feature Service 1.1.0:
Protocollo standard per la diffusione di dati vettoriali sul Web
• Definizione dei permessi:
– CQL completo (Common Query Language)
• Richieste (Basic profile):
– GetCapabilities
– DescribeFeatureType
– GetFeature
• Formato output: GML
16 Febbraio 2012
13. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 13
I servizi OGC protetti
Sensor Observation Service 1.0.0:
Protocollo standard che difinisce le richieste di raccolta e inserimento di dati
provenienti da sensori
• Tipologia di permessi:
– Inclusione / Esclusione degli Offerings
• Richieste gestite (Basic profile):
– GetCapabilities
– GetObservation
– DescribeSensor
• Formato di risposta:
– text/xml;subtype='sensorML/1.0.0'
16 Febbraio 2012
14. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 14
La protezione del Sensor Observation Service
• I permessi si basano sull’applicazione di permessi Vedi/Nascondi a livello dei
raggruppamenti sos:ObservationOffering a livello del documento
sos:Capabilities, GeoShield pùo così escludere l’accesso a diversi gruppi di
utenti:
• Features
• Procedures
• ObservedProperties
16 Febbraio 2012
16. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 16
GeoShield’s Sensor Observation Service protection strategy
ObservationOffering 1:
• Sensor 1 S1
• Sensor 2 S2
ObservationOffering 2:
Group 1 S5
• Sensor 3
S4
• Sensor 4 (private)
• Sensor 5 S3
ObservationOffering 3:
S6
• Sensor 1
• Sensor 2
Group 2
• Sensor 5
• Sensor 6
17. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 17
GeoServer Resource Access Manager plug-in
• Con la versione 2.1.x il Team di sviluppatori GeoServer ha introdotto un
migliorato framwork di sicurezza (Resourse Access Manager) con capacità di
applicare dei filtri sui dati geografici:
– La caratteristica principale è quella di permetterne l’estensione con il
sistema attuale di plug-in
• Benefici:
– Non più permessi limitati (definizioni Sì/No) per ogni layer
– Maggiori possibilità di implementare regole di accesso granulari
• Filtri basati su funzioni geografiche (BBOX, INTERSETC…)
• Filtri basati su attributi
• Filtri Include / Exclude
• Applicazione di permessi sui workspace
– Integrazione con database esterni
– Maggiore affidabilità e robustezza a livello dei dati
16 Febbraio 2012
18. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 18
Access rule application process
User GeoServer GeoShield
1. GetMap
2. Autenticazione
3. Authorization object
5. Error 401 - Unauthorized 4. L’utente è
autorizzato?
User: foo.bar 5. Caching
Password: xxxxxxx 6. Get Access Rule
Ok Cancel
7. Rule Object
9. Map 8. Apply rule / Caching rule
19. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 19
Access rule application process
Aggiornamento asincrono
User GeoServer dei permessi GeoShield
1. GetMap
2. L’utente è
autorizzato?
3. Error 401 - Unauthorized
User: foo.bar
Password: xxxxxxx
Ok Cancel
3. Apply rule
4. Map
20. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 20
Benchmarking di richieste WMS GetMap
• I test sono stati svolti con JMeter sulla postazione di sviluppo:
– Ubuntu 10.04 32bit, Intel Core Duo 2.4 GHz E4600, 4Gb RAM
• Utilizzando una progressione di 1, 2, 4, 8, and 16 threads, ogni gruppo di thread
eseguendo 100, 200, 200, 400, 400 richieste rispettivamente.
• Layer: topp:tasmania_water_bodies
threads/requests 1/100 2/200 4/200 8/400 16/400
GeoServer* 79 71 79 102 316
GeoShield
291 315 653 3346 7837
(PROXY)
GeoServer
134 151 190 332 1320
(PLUGIN)
* Senza autenticazione
16 Febbraio 2012
21. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 21
Installing the plug-in
Con GeoShield e GeoServer già installati, l’aggiunta del plug-in e relativamente
semplice:
1. Copiare il file geoshield-1.0.jar nella cartella WEB-INF/lib directory di
GeoServer
2. Piccola modifica nel file web.xml di GeoServer
3. Bisogna crear un utente GEOSHIELD_USER in GeoServer
4. Configurare i permessi di accesso con GeoShield
16 Febbraio 2012
22. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 22
GeoServer PLUG-IN
DEMO
16 Febbraio 2012
23. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield 23
Prossimi miglioramenti
È attualmente in corso lo sviluppo
della version 1.0 stabile.
• Estensione della sicurazza a:
– WPS - Web Processing Service
– Test di compatibilità WMS
• Web administration interface
– Re-design utilizzando ExtJS 4
– Integrazione con OpenLayers (Test in tempo reale dei permessi)
• GeoShield core:
– Apache Maven building automation
– Refactoring del codice
– Incremento delle prestazioni
16 Febbraio 2012
24. DACD / IST / Gestione dei permessi e dell'autenticazione verso servizi OGC con GeoShield
XIII Meeting
GRASS e GFOSS
Grazie
Istituto Scienze della Terra
http://www.ist.supsi.ch
GeoShield Project
http://sites.google.com/site/geoshieldproject
Milan P. Antonovic, Istituto Scienze della Terra - SUPSI
Massimiliano Cannata, Istituto Scienze della Terra - SUPSI
16 Febbraio 2012 Questa presentazione è distribuica con licenza
Creative Commons Attribution-ShareAlike 3.0 Unported License