Security in JavaEE applications: introduction
Le 10 vulnerabilità più critiche delle applicazioni web J2EE
Introduzione
Questo articolo descrive le 10 vulnerabilità più comuni e più critiche delle applicazioni web scritte in ambiente j2ee con le tecnologie più comuni: servlet, jsp, struts, jsf, hibernate analizzando le varie debolezze che si possono avere e cercando di fornire una possibile soluzione al problema.
Le 10 vulnerabilità più critiche per le applicazioni web J2EE sono:
- Cross site scripting XSS
- Injection flaws
- Malicious file execution
- Insecure Direct Object Reference
- Cross site request forgery
- Information Leakage and Improper Error Handling
- Broken Authentication and Session Management
- Insecure Cryptographic Storage
- Insecure Communications
- Failure to Restrict URL Access
ESRI and Supported OGC Specifications
In questo breve articolo elencherò brevemente il supporto di alcuni prodotti ESRI (quelli che uso) alle specifiche OGC.
OGC specifications supportati
|
standard |
descrizione |
provider |
consumer |
|
WMS 1.1.1 |
Fornisce mappe |
Arcims, arcgisserver 9.x |
Arcgisdesktop 9.x webadf 9.x openlayers |
|
WMS 1.3 |
Fornisce mappe |
Arcims arcgisserver 9.x |
Arcgisdesktop 9.x webadf 9.x Openlayers |
|
WFS 1.0 |
Fornisce feature |
Arcims 9.x |
Arcgisdesktop 9.x con interoperability |
|
WFS 1.1 |
Fornisce feature |
Arcims 9.3 arcgisserver 9.3 |
Arcgisdesktop 9.3 con interoperability Openlayers |
|
WFS-T 1.1 |
Gestisce anche in editing feature |
Arcgisserver 9.3 |
Openlayers |
|
WCS 1.0 |
Fornisce dati raster |
Argcisserver 9.3 |
Arcgisdektop 9.3 Openlayers |
|
WCS 1.1.1 |
Fornisce dati raster |
Arcgisserver 9.3 |
Arcgisdesktop 9.3 openlayers |
|
KML 2.1 |
Google earth |
Arcgiserver 9.x |
Arcgisexplorer |
|
KML 2.2 OGC |
Google earth |
Arcgisserver 9.3 |
Arcgisexplorer |
Note su cosa è in grado di fare ARCIMS rispetto agli standard.
Arcims java connector ha degli oggetti capaci di dialogare in maniera primitiva con server WMS ma non WFS.
ARCIMS non è un client WMS o WFS nè tantomento WCS. Questo significa che non sa consumare layer di questo tipo tramite AXL. È possibile aggiungere wms e wfs (se esiste estensione data interoperability in arcgis desktop) in un mxd e creare un arcims map service ma ci sono alcune differenze minimali rispetto agli image server.
Esistono librerie di terze parti javascript per aprire mappe wms / wfs.
Addirittura con openlayers si possono fare query di modifica in wfs-t. Peccato che dei server più conosciuti solo Geoserver lo supporti.
Riguardo le diverse possibiltà che ARCIMS offre in termini di comunicabilità con altre sorgenti dati ovvero in che modo ARCIMS riesce ad aggiungere layer alle sue mappa vi posso dire che esistono 3 diversi tipi di file di configurazione che a volte possono generare ambiguità:
Map configuration Files, Viewer Configuration Files e Default AXL.
Map Configuration Files
Per quanto riguarda il primo esso è il file AXL classico che si deve compilare per configurare ARCIMS. In questo file bisogna fornire l’insieme di istruzioni per le proprietà della mappa e il rendering. le varie richieste al server ARCIMS (XML REquest) possono modificare alcune proprietà specificate nell’AXL come aggiungere nuovi layer, modificare l’aspetto etc… Possiamo dire che l’AXL fornisce il comportamento di default della mappa.
l’ attributo più importante, in questo articolo è WORKSPACES
esso specifica la location di tutti i dati usati nella mappa. nel map configuration files ci sono solo 3 tipi di workstation validi: shapeworkspace (usato per referenziare shapefile), imageworkspace (usato per referenziare directory con immagini), sdeworkspace (usato per referenziare layers in ArcSDE di tipo raster o vettoriale).
Il file di configurazione si trova sul server. I dati che possono essere caricati appartengono alla rete locale.
Viewer Configuration Files
Questo file di configurazione è l’output del salvataggio tramite ArcExplorer o l’ARCIMS Java Viewers e risiede nella macchina locale.
La struttura di questo tipo di file è molto simile a quella del Map Configuration File. Una differenza importante viene rappresentata da elementi aggiuntivi nel tag WORKSPACES.
ImageServerworkspace che permette di puntare ad un imageserver.
featureserverworkspace che permette di puntare ad un arcims feature server.
I dati che possono essere caricati sono servizi ARCIMS e dati presenti nella rete locale.
Default.axl: A Special Viewer Configuration File
il default.axl è un file di configurazione speciale che è l’output del ARCIMS Designer quando un arcims java viewer viene creato.
Viene usato per caricare i servizi ARCIMS in un ARCIMS Java Viewer.
la struttura è molto simile a quella di un viewer configuration file. importante è notare che quando arcims designer crea default.axl e un feature service è incluso, un layer viene incluso in default.axl per ogni layer nel feature service. bisogna stare attenti quando si aggiungono o cancellano layers nei feature service. se un layer viene aggiunto nel servizio ma non nel default.axl l’arcims java viewer non visualizza il nuovo layer. Se un layer viene cancellato nel servizio viene mostrato un messaggio di layer no trovato.
Questo file di configurazione si trova sul server.
I dati che possono essere caricati sono solo Arcims services.
Differenze tra le modalità di interrogazione di ImageService e MapService
Sostanzialmente i due tipi di servizi (uno caricato tramite AXL e l’altro tramite MXD) possono essere interrogati in maniera similare. ci sono alcune differenza
inoltre si possono interrogare servizi imageserver e mapserver quasi allo stesso modo nel senso che in qualcuni casi ci sono indicate le differenze nella sintassi in altri casi non c’è scritto niente
Per esempio per get_features le queries sui layer dinamici possono essere fatte solo su image services, workspace è valido solo per image services mentre dataframe è valido solo per mapservices.
per get_image gli unici valori per workspace sono imageworkspace, shapeworkspace e sdeworkspace.
per get_extract solo i dati vettoriali vengono estratti, le immagini e i layers acetati non vengono estratti. vale solo per image server.
Standard WMS, WFS and WCS: a short introduction
WMS: permette di creare mappe a partire da dati grezzi, interrogare dati e legende quindi come output si creano: immagini, kml, svg, pdf
WFS: permette di descrivere, fornire e modificare dati vettoriali quindi come output abbiamo shapefile e file gml
Al contrario di WMS, si lavora a livello di dato, non di rappresentazione. Non ci sono associazioni o collegamenti
Sono l’equivalente di una tabella di base dati.
Descrivono esattamente la struttura della base dati cui sono collegati (nome colonna -> nome attributo)
WCS: permette di descrivere e fornire dati raster come output abbiamo geotiff
WFS-T
Permette di gestire in scrittura il dato geografico. La T sta per Transaction e le operazioni che si possono fare sono quelle classiche ACID (read, update, insert, delete)
Possibili client/consumer wfs-t:
udig, openlayers, mapbuilder, geoserver
Possibili client/consumer wms:
mapserver, deegree, chamaleon, openlayers
Possibili client/consumer wfs:
mapserver, geoserver, openlayers
Operatori disponibili
WMS (1.1.1)
- GetMap (disegno mappa)
- GetFeatureInfo (interrogazione dati)
- GetCapabilities (Catalogo layer, stili, funzionalità supportate)
WFS
- GetCapabilities (Catalogo layer, capacità del server)
- DescribeFeatureType (descrizione di ogni layer)
- GetFeature (Estrazione dati con filtri, selezione attributi, cambio proiezione)
WFS-T
- GetFeatureWithLock
- LockFeature
- Transaction
WCS
- GetCapabilities (Catalogo layer, capacità del server)
- DescribeCoverage (descrizione di ogni layer)
- GetCoverage (Estrazione per area geografica, banda, dimensione)
-
Archivi
- Dicembre 2008 (1)
- Luglio 2008 (3)
-
Categorie
-
RSS
Ingressi RSS
Commenti RSS
