Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Dario Intelisano
Matricola: A40/000104
INDICE
INTRODUZIONE
1. ORACLE
1.1
Caratteristiche di Oracle
1.2
Livelli di Protezione
2. MECCANISMI DI AUTENTICAZIONE
2.1
2.2
Kerberos
2.3
Smart Card
2.4
Biometric
2.5
Password
3. AUTORIZZAZIONE
4. AUDITING
4.1
Auditing
4.2
Perch lAuditing?
4.3
Risultato
5. BACKUP
5.1
Frequenza di Backup
5.2
Archivelog
5.3
Forme di backup
Cosa significa
7. SECURITY CHECK-LIST
7.1
7.2
7.3
7.4
7.5
Privilegi e ruoli
7.6
7.7
Auditing
7.8
Backup
7.9
8. CONCLUSIONE
9. BIBLIOGRAFIA
INTRODUZIONE
I dati e le informazioni sono indubbiamente il bene pi prezioso per ciascuna azienda
pertanto la loro salvaguardia di vitale importanza. La maggior parte dei sistemi
informativi odierni utilizza una base dati o database1 per la registrazione ed
elaborazione di queste informazioni. I moderni database costituiscono pertanto
lelemento portante di ogni sistema di business ed altre attivit di natura differente.
Molti dei dati in essi conservati sono di natura confidenziale (numeri di carte di
credito, dati finanziari, ecc ) e/o critici per il corretto funzionamento dellazienda
stessa. Per questi motivi necessario provvedere ad analizzare potenziali rischi e
predisporre opportune misure di sicurezza.
Lobiettivo principale di questo progetto quello di porre laccento sulle possibili
vulnerabilit del database Oracle e le misure di sicurezza adottate per evitare che
un malintenzionato prenda il pieno controllo del sistema. Ho scelto Oracle come caso
studio in quanto a livello aziendale appare essere una delle base dati maggiormente
utilizzata. Possiamo associare alla parola sicurezza il significato di tutte quelle
procedure sia tecniche sia personali che dovrebbero permettere di assicurare che
persone non autorizzate non accedano ad informazioni private e che persone
autorizzate non mettano a repentaglio il sistema e i dati. Naturalmente opportuno
ricordarsi che la creazione di un ambiente sicuro non si esprime in qualcosa di
statico, ma unoperazione continua nel tempo spesso in funzione di nuove tecnologie
disponibili.
1 ORACLE
1.1 Caratteristiche di Oracle
Oracle uno tra i pi famosi database management system (DBMS), cio sistema di
gestione di basi di dati. Esso fa parte dei cosiddetti RDBMS (Relational DataBase
Management System) ovvero di sistemi di database basati sul Modello relazionale che
si affermato come lo standard dei database dell'ultimo decennio. Una base di dati
Oracle comprende istanze e dati memorizzati. Un'istanza costituita da un set di
3
Un compito importante svolto dal System Global Area (SGA), una regione di
memoria condivisa che contiene dati ed informazioni per il controllo di una istanza
Oracle. L'SGA si occupa della cache, i dati bufferizzati, i comandi SQL e informazioni
sull'utente.
Gli elementi fondamentali sono:
control
files:
qui
sono
memorizzate
informazioni
essenziali
al
corretto
Oracle memorizza i dati sia logicamente, sotto forma di tablespace, sia fisicamente,
sotto forma di file (datafile). Un tablespace, formato da uno o pi datafile, contiene
vari tipi di segment; ogni segment a sua volta si suddivide in uno o pi extent. Ogni
extent comprende gruppi contigui di blocchi di dati (data block), quest'ultimi sono la
pi piccola informazione memorizzabile da Oracle.
4
Oracle tiene traccia dei dati memorizzati tramite l'aiuto di informazioni presenti
nelle tabelle di sistema. Esse contengono il dizionario dei dati e se presenti indici e
cluster. Un dizionario dei dati consiste di una collezione di tabelle che contengono
informazioni riguardo tutti gli oggetti utente del database.
sicurezza
dei
database
assume
almeno
questi
tre
livelli
di
protezione:
nella
verifica
della
validit
della
password
associata.
2. AUTENTICAZIONE
Lautenticazione degli utenti di fondamentale importanza per la sicurezza del
database, soprattutto in un ambiente distribuito. indispensabile identificare gli
utenti prima di poter determinare i privilegi e i diritti di accesso. Il pi comune
metodo di autenticazione la password (discusso in maggiore dettaglio nel paragrafo
successivo) ma non il solo. Oracle Advanced Security una Suite Oracle che fornisce
il software per la crittografia, lautenticazione e i protocolli di sicurezza e fornisce
anche diversi sistemi di autenticazione (di terze parti) e luso di SSL e certificati
digitali.
Oracle Advanced Security offre i seguenti metodi:
2.2. Kerberos
Il sistema Kerberos (Miller, Neuman, Schiller & Saltzer, 1987) trae origine dal
protocollo di (Needham & Schroeder, 1978), di key transport autenticazione di
utenti a servizi in un sistema distribuito, fornita da un server centrale di
autenticazione (KAS) che agisce da centro di distribuzione di chiavi di sessione (KDC)
il KAS condivide con ciascun utente A o servizio B un chiave segreta di lungo
termine, risp. Kas, Kbs, ha un database che associa le identit di utenti e servizi a tali
chiavi, e genera una chiave di sessione Kab di durata limitata L per ciascuna sessione
di A con B, alla quale associa un ticket tB = eKbs (Kab,A,L)
A, B, na
S A:
eKas (Kab,na,L,B), tB
A B:
B A:
eKab (Ta)
integrate nello stesso circuito elettrico per formare un microchip che il "cuore" della
smart card
La smart card costituita da un supporto di plastica nel quale incastonato un
microchip connesso ad un'interfaccia di collegamento che pu essere una contattiera
o un'antenna. Il microchip fornisce funzionalit di calcolo e memorizzazione dati; la
contattiera o l'antenna consentono al microchip di dialogare con uno speciale
terminale di lettura collegato solitamente ad un computer mediante porta seriale,
parallela, USB, ecc.
La smart card a microprocessore, grazie alle caratteristiche di protezione dei dati
intrinseci del microchip e alla presenza di un coprocessore crittografico che gli
consente di eseguire le principali funzioni crittografiche on-board, si propone come il
mezzo adeguato a proteggere le chiavi private rilanciando la crittografia come
supporto tecnologico
di base
per lo
sviluppo
di
sistemi
informatici
sicuri
10
3. AUTORIZZAZIONE
Nella sua forma pi elementare, unautorizzazione di accesso coinvolge tre entit: il
soggetto a cui viene conferita, loggetto a cui riferito laccesso, loperazione di
accesso del soggetto alloggetto. Una classica rappresentazione delle autorizzazioni
definite in un dato stato del sistema la matrice di Lampson, in cui si dispongono i
soggetti in una dimensione e gli oggetti nellaltra: in ciascun elemento della matrice si
elencano le operazioni su un dato oggetto che un dato soggetto autorizzato a
compiere in quello stato del sistema. Tradizionalmente possono seguirsi due vie per
decomporre la matrice di Lampson in strutture pi`u ridotte:
fissare loggetto, per ottenere la lista di controllo di accesso (ingl. ACL: Access
Control List) alloggetto stesso da parte di qualsiasi soggetto.
Le due definizioni sono molto simili, ma non del tutto identiche; alla piccola
differenza fra esse corrisponde una notevole differenza del significato intuitivo e degli
usi pratici di tali concetti. Esaminiamo questa differenza: essa consiste nel fatto che il
requisito di univocit della designazione
1. per i tipi di diritti di accesso, locale a ciascuna classe di oggetti, dunque uno
stesso tipo di diritti di accesso pu designare insiemi diversi di operazioni su
oggetti diversi solo se questi sono di classi diverse; mentre
11
2. per i ruoli, locale a ciascun oggetto: uno stesso ruolo pu designare insiemi
diversi di operazioni su oggetti diversi anche se della stessa classe.
4. AUDITING
Questo capitolo vuole approfondire il concetto di auditing gi espresso nel capitolo 1.
Come gi precisato la sicurezza un processo dinamico che si sviluppa nel tempo ed
pertanto opportuno che lamministratore o il semplice utente che accede al database
abbia una visione globale del sistema e conosca come proteggere le proprie risorse e/o
oggetti.
4.1 Auditing
Oracle stesso fornisce alcune funzioni di controllo della sicurezza del sistema. Tra
queste consideriamo la funzione di AUDIT TRAIL che permette la registrazione di
qualsiasi attivit, di nostro particolare interesse, svolta allinterno del database.
Possiamo infatti definire con auditing quel processo che offre la possibilit di
monitorare e registrare le attivit allinterno del database. Alcune azioni che possono
ad esempio essere monitorate sono le seguenti:
Esecuzione di programmi.
12
13
5. BACKUP
Oramai chiaro quanto i dati siano di notevole importanza per ciascuno di noi. Tutto
ruota attorno alle informazioni memorizzate nel database. Perdere dei dati potrebbe
ripercuotersi negativamente allinterno di unazienda. Per questo motivo opportuno
definire una strategia di backup e di recupero funzionale che permetta di recuperare
in breve tempo la disponibilit dei dati e cos perdere il numero minore di
transazioni non completate. Quando gestiamo un database buona regola ricordarsi
che software e hardware possono essere sostituiti ma i dati, in assenza di copie, non
possono essere ripristinati o quanto meno non completamente.
in
un
file
binario.
Generalmente
quindi
backup
logici
sono
14
5.2 Archivelog
Ogni volta che occorre un cambiamento nel database, Oracle genera un record
(cambiamento) in un redo log. Vengono memorizzati tutti i cambiamenti, quindi
sia quelli che hanno avuto effetto sia quelli che non hanno avuto esito positivo. Oracle
costantemente registra i redo log negli online redo log che sono sul disco. Attivando
la modalit archivelog, il sistema pu memorizzare queste informazioni copiando gli
online redo log in altre destinazioni sul disco.
15
16
mediante
diversi
sistemi
di
autenticazione,
ruoli,
privilegi
ed
altre
caratteristiche descritte nei precedenti capitoli, si possano gestire gli utenti e le azioni
che essi possono compiere allinterno del database. In tutte le versioni di Oracle
sempre stato possibile concedere oppure negare laccesso a particolari oggetti del
database, purtroppo questi privilegi sono definiti al livello di oggetto, per unintera
tabella, non per una o pi`u specifiche righe di una tabella. In alcuni casi pu essere
sufficiente questo tipo di approccio, in altre circostanze opportuno un maggiore
controllo. Row Level Security una caratteristica di Oracle, introdotta con la
versione Oracle 8i, che permette di restringere laccesso a sole specifiche righe di una
tabella in base ai privilegi sulla tabella stessa. Questa funzionalit stata anche spesso
descritta come fine grained access control o virtual private databases.
7 SECURITY CHECK-LIST
Obiettivo di questa sezione quello di mettere in evidenza alcune linee guida che un
amministratore (soprattutto uno alle prime armi) dovrebbe seguire per rendere il
sistema il pi`u sicuro possibile. I punti a seguire possono essere pertanto un primo
aiuto alla configurazione post-installazione:
SYS,
SYSTEM,
SCOTT,
DBSNMP,
OUTLN,
3utenti
JSERV
(vedi
7.7 Auditing
Attivare lauditing per favorire un controllo pi`u agevole della sicurezza del sistema
specialmente quando notevole l'importanza dei dati conservati nel database. Come
gi
detto
precedentemente
pu
essere
19
notevole
l'impatto
sulle
prestazioni
7.8 Backup
Definire, usare e verificare una completa strategia di backup.
8 CONCLUSIONI
La conoscenza e la consapevolezza sono alla base della sicurezza. Garantire la
sicurezza assoluta del sistema e dei dati che conserviamo nel nostro database pu
cadere nellipocrisia. Nonostante ci nostro dovere fare in modo che i problemi di
sicurezza possano, nel limite del possibile, essere sempre rilevati e risolti. ormai
chiaro come siano pi di una le operazioni indispensabili per rendere un sistema
sicuro e come sia importante non tralasciare nessun dettaglio. Oracle richiede una
configurazione (orientata alla sicurezza) sin dalla fase iniziale di installazione (ad es.
cambiare le password e/o bloccare gli utenti non autorizzati). Successivamente
necessario monitorare con continuit`a le azioni che compiono gli utenti (ruoli,
privilegi, auditing, ...ecc) e configurare una comunicazione sicura in rete. Inoltre
opportuno (quasi obbligatorio) prevenire, mediante strategie di backup, perdite
accidentali dei dati.
Infine
responsabilit
dellamministratore
restare
al
passo
con
eventuali
20
9 BIBLIOGRAFIA
http://it.wikipedia.org/wiki/Oracle
http://www.oracle.com/global/it/index.html
http://www.oracle.com/lang/it/database/index.html
http://www.kosmous.com/risorse/articolo.php?id=15
http://www.ippari.unict.it/~scollo/slidy/s1-2007/gss1/it/gss1.html#(1)
http://it.wikipedia.org/wiki/Smart_card
http://it.wikipedia.org/wiki/Transport_Layer_Security
http://www.dia.unisa.it/~ads/corso-security/www/CORSO9900/oracle/modello.htm
http://www.xml-dev.com/xml/images/Kerberos.png
21