Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei...

44
Policy per la sicurezza dei Database Danilo Massa IT Security Expertise Center Leader GIAC SSP-GHD, GWAS, GCIH, GREM, GCFA Certified Professional Sessione di studio AIEA - Torino, 3 luglio 2008

Transcript of Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei...

Page 1: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

1Policy per la sicurezza dei Database - Altran Italia S.p.A.

Policy per la sicurezza dei Database

Danilo MassaIT Security Expertise Center LeaderGIAC SSP-GHD, GWAS, GCIH, GREM, GCFA Certified Professional

Sessione di studio AIEA - Torino, 3 luglio 2008

Page 2: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

2Policy per la sicurezza dei Database - Altran Italia S.p.A.

Database – Policy, Sicurezza e Hardening

1. Sicurezza dei DB2. Elementi di Sicurezza comuni per i DB3. Elementi di Sicurezza Applicativa4. Elementi aggiuntivi di Sicurezza5. Procedure per l’Hardening dei DB

Page 3: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

3Policy per la sicurezza dei Database - Altran Italia S.p.A.

Sicurezza dei DB [1/3]

Oggigiorno, larghissima diffusione dei larghissima diffusione dei DatabaseDatabase …

… quasi il 100% delle applicazioni … quasi il 100% delle applicazioni Web e Client/Server si appoggia Web e Client/Server si appoggia

su un DB …su un DB …

Analizzeremo quindi le policy piùimportanti relative alla sicurezza delleBASI DATI, senza fare riferimento adapplicazioni/vendor specifici

Page 4: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

4Policy per la sicurezza dei Database - Altran Italia S.p.A.

Sicurezza dei DB [2/3]

Primo Primo stepstep FONDAMENTALE:FONDAMENTALE:

PENSARE IN SICUREZZAPENSARE IN SICUREZZA

già dal design del database …

scegliere un RDBMS che permetta una semplice ed efficace implementazione delle policy e delle componenti di sicurezza studiate a priori

++

Page 5: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

5Policy per la sicurezza dei Database - Altran Italia S.p.A.

Sicurezza dei DB [3/3]

Prima di poter applicare eventuali Prima di poter applicare eventuali policy di sicurezza per i DBpolicy di sicurezza per i DB, è necessario , è necessario che ogni singola che ogni singola applicazione che li utilizza sia catalogata e ben descrittaapplicazione che li utilizza sia catalogata e ben descritta

Utilizzo di Utilizzo di strumenti automaticistrumenti automatici per la gestione degli asset + per la gestione degli asset + raccolta informazioniraccolta informazioni

Lo scopo è catalogare:

•• LeLe procedureprocedure didi integrazioneintegrazione applicativaapplicativa (quale(quale basebase datidati èèutilizzatautilizzata dada unun certocerto applicationapplication server)server)

•• LaLa catalogazionecatalogazione delladella riservatezzariservatezza deidei datidati•• LeLe attivitàattività didi gestionegestione ordinariaordinaria ee straordinariastraordinaria deidei

sistemi/applicativisistemi/applicativi•• LeLe figurefigure cheche sonosono responsabiliresponsabili perper ilil correttocorretto funzionamentofunzionamento delledelle

applicazioniapplicazioni oo deidei sistemisistemi•• LeLe procedureprocedure perper lala gestionegestione deglidegli incidentiincidenti

Page 6: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

6Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [1/16]

AutenticazioneAutenticazione

I database forniscono solitamente un loro sistema di autenticazioneloro sistema di autenticazione, oppure sono in grado di appoggiarsi ad altri sistemi di autenticazione

esterna (es. Server LDAP, AD, token, smart card …)

In questo caso, le applicazioni possono applicazioni possono utilizzare uno dei seguenti metodi per utilizzare uno dei seguenti metodi per l’autenticazione delle utenzel’autenticazione delle utenze:

1.1. Utilizzo di un utente RDBMSUtilizzo di un utente RDBMS2.2. Utilizzo dell’autenticazione da sistema operativoUtilizzo dell’autenticazione da sistema operativo3.3. Utilizzo di una tabella autenticativa customUtilizzo di una tabella autenticativa custom

Page 7: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

7Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [2/16]

AutenticazioneAutenticazione

I I -- Utilizzo di un utente RDBMSUtilizzo di un utente RDBMS

• Le password degli utenti sono già memorizzate in modalità sicura• E’ possibile limitare gli utenti permettendo operazioni soltanto su

tabelle/viste ben definite• Eventuali vulnerabilità legate alla gestione degli utenti sono corrette

dal produttore e testate da un elevato numero di utilizzatori

PROPRO

CONSCONS • Alcuni RDBMS hanno il costo che è funzione diretta degli utentiregistrati sullo stesso

• Aumento della complessità applicativa per la gestione degli utentie dei ruoli

• Necessità di utenti specifici per l’esecuzione di attività di audit e/obatch

Page 8: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

8Policy per la sicurezza dei Database - Altran Italia S.p.A.

AutenticazioneAutenticazione

I I -- Utilizzo di un utente RDBMSUtilizzo di un utente RDBMSConsigli per la policyConsigli per la policy

Verificare l’utilizzo di utenti di databaseVerificare l’utilizzo di utenti di database

Verificare o definire una procedura automatica (es. via batch o meglio conun Identity Manager) per la verificaverifica delladella congruenzacongruenza tratra gligli utentiutenti censiticensitisulsul databasedatabase ee quelliquelli cheche debbonodebbono effettivamenteeffettivamente accederciaccederci (es. non visiano persone che si sono dimesse o che sono state trasferite ad altraunità lavorativa che non necessita accesso all’applicazione)

VerificareVerificare lala profilazioneprofilazione deglidegli utentiutenti in modo che i permessi di accessosiano limitati alle sole tabelle/viste necessarie e nonnon siasia possibilepossibile accedereaccedereadad altrialtri DBDB e/oe/o tabelletabelle didi sistemasistema

Elementi di Sicurezza comuni per i DB [3/16]

Page 9: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

9Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [4/16]

AutenticazioneAutenticazione

II II –– Autenticazione da Sistema OperativoAutenticazione da Sistema Operativo

• Tutti i vantaggi della soluzione precedente (utilizzo di un utenteRDBMS)

• Soluzione integrata nell’ambiente operativo: non richiede il transitosulla rete delle coppie login/password necessarie affinchél'autenticazione abbia luogo

PROPRO

CONSCONS

• Possibile aumento della complessità applicativa per la gestionedegli utenti e dei ruoli definiti per gli utenti nel sistema operativo, inrelazione all’utilizzo degli stessi all’interno del RDBMS

E’ la soluzione MIGLIOREE’ la soluzione MIGLIORE

Page 10: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

10Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [5/16]

AutenticazioneAutenticazione

II II –– Autenticazione da Sistema OperativoAutenticazione da Sistema OperativoConsigli per la policyConsigli per la policy

Verificare l’utilizzo di utenti di sistema operativoVerificare l’utilizzo di utenti di sistema operativo

Verificare o definire una procedura automatica (es. via batch o meglio conun Identity Manager) per la verificaverifica delladella congruenzacongruenza tratra gligli utentiutenti censiticensitisulsul databasedatabase ee quelliquelli cheche debbonodebbono effettivamenteeffettivamente accederciaccederci

VerificareVerificare lala profilazioneprofilazione deglidegli utentiutenti in modo che i permessi di accessosiano limitati alle sole tabelle/viste necessarie e nonnon siasia possibilepossibile accedereaccedereadad altrialtri DBDB e/oe/o tabelletabelle didi sistemasistema

VerificareVerificare lele modalitàmodalità didi autenticazioneautenticazione dada remotoremoto (cioè fuori dalla retelocale, se previste)

Page 11: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

11Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [6/16]

AutenticazioneAutenticazione

III III –– Uso di tabella autenticativa CustomUso di tabella autenticativa Custom

•• PasswordPassword deglidegli utentiutenti nonnon cifratecifrate nellanella tabellatabella didi autenticazioneautenticazione•• NonNon vivi possonopossono essereessere discriminazionidiscriminazioni agliagli accessiaccessi sullesulle tabelletabelle inin basebase agliagli

utentiutenti•• MoltoMolto spessospesso l’applicazionel’applicazione sisi autenticaautentica sullasulla basebase datidati utilizzandoutilizzando

credenzialicredenziali riservateriservate aiai DBADBA (es(es.. systemsystem perper Oracle,Oracle, sasa perper MSMS SQLSQL Server,Server,rootroot perper MySQL)MySQL)

•• GliGli accessiaccessi nonnon controllaticontrollati dall’applicazionedall’applicazione (es(es.. viavia ODBC)ODBC) avvengonoavvengono conconlele credenzialicredenziali dell’applicazionedell’applicazione ee quindiquindi concon possibilitàpossibilità elevateelevate didi causarecausaredannidanni

•• NelNel casocaso inin cuicui l’applicazionel’applicazione siasia vulnerabilevulnerabile aa qualchequalche tipotipo didi attaccoattacco (es(es..SQLSQL Injection)Injection) èè moltomolto semplicesemplice perper unun hackerhacker ottenereottenere l’elencol’elenco didi tuttitutti gligliutentiutenti ee lele loroloro passwordpassword

Problematiche ComuniProblematiche Comuni

E’ la soluzione più pericolosaE’ la soluzione più pericolosa Sicurezza delle credenziali in gestione Sicurezza delle credenziali in gestione agli sviluppatoriagli sviluppatori

Page 12: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

12Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [7/16]

AutenticazioneAutenticazione

III III –– Uso di tabella autenticativa CustomUso di tabella autenticativa Custom

Tale soluzione può essere utilizzata in casi particolari:Tale soluzione può essere utilizzata in casi particolari:

•• ApplicazioniApplicazioni didi terzeterze partiparti leaderleader didi mercatomercato o di rilevanza elevata per ilbusiness

•• ApplicazioniApplicazioni datatedatate per cui non è possibile eseguire delle modifiche

•• ApplicazioniApplicazioni perper cuicui siasia statastata effettuataeffettuata unauna completacompleta verificaverifica didi sicurezzasicurezzaapplicativaapplicativa e/oe/o unauna formaleformale codecode reviewreview

Page 13: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

13Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [8/16]

AutenticazioneAutenticazione

III III –– Uso di tabella Uso di tabella autenticativaautenticativa CustomCustomConsigli per la policyConsigli per la policy

Verificare l’utilizzo di password cifrate nella tabella che autentica gli utentiVerificare l’utilizzo di password cifrate nella tabella che autentica gli utenti

Verificare che l’applicazioneapplicazione nonnon utilizziutilizzi unun utenteutente amministratoreamministratore di basedati (es. system, sa, root) per operare

VerificareVerificare lala congruenzacongruenza tratra gligli utentiutenti censiticensiti sullasulla tabellatabella autenticativaautenticativa eequelliquelli cheche debbonodebbono effettivamenteeffettivamente accederciaccederci (es. non vi siano persone chesi sono dimesse o che sono state trasferite ad altra unità lavorativa chenon necessita accesso all’applicazione)

Eseguire una completacompleta analisianalisi didi sicurezzasicurezza sull’applicazionesull’applicazione con la verificadelle utenze definite

Page 14: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

14Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [9/16]

AutorizzazioneAutorizzazione

Consente la gestione dei privilegi assegnati agli utenti Consente la gestione dei privilegi assegnati agli utenti

La maggior parte dei prodotti di RDMBS permette di specificare per ogni specificare per ogni utente o profiloutente o profilo, quali sono i suoi privilegi CRUDprivilegi CRUD (create, read, update e

delete) in modalità molto fine (tabelle, viste etc)

Inoltre è anche possibile specificare i permessi di esecuzione delle specificare i permessi di esecuzione delle stored procedurestored procedure.

Viene specificata la “libertà” che l’utente ha Viene specificata la “libertà” che l’utente ha di spaziare all’interno del DBdi spaziare all’interno del DB

Page 15: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

15Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [10/16]

AutorizzazioneAutorizzazione 2 Diverse possibilità implementative:

Utilizzo delle funzionalità Utilizzo delle funzionalità native del RDBMSnative del RDBMS

Utilizzo di tabelle Utilizzo di tabelle autorizzative customautorizzative custom

Consigli per le policyConsigli per le policy

Verificare che ogni utente sia correttamente profilato con i minimi permessiminimi permessinecessari per l’esecuzione delle funzionalità applicative

Verificare che l’utente possa eseguireeseguire soltantosoltanto lele storedstored procedureprocedurenecessarienecessarie per il funzionamento dell’applicazione (non quelle di sistema)

Verificare la congruenza tra gli utenti censiti sulla tabella autorizzativa ed il congruenza tra gli utenti censiti sulla tabella autorizzativa ed il loro profilo da utilizzatoreloro profilo da utilizzatore

analisi di sicurezza sull’applicazioneanalisi di sicurezza sull’applicazione + code reviewcode review per verificare l’impossibilità di eseguire escalation dei privilegi

Page 16: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

16Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [11/16]

ConfidenzialitàConfidenzialità

RDBMS permettono: • Creazione di tabelle con contenuto crittato • Utilizzo di canali di comunicazione client/server cifrati

Per elevarne la sicurezza, alcuni permettono:

Crittazione del codice applicativo in esso contenuto (stored procedure)Crittazione del codice applicativo in esso contenuto (stored procedure)

E’ necessario utilizzare lafunzionalità di cifraturacifratura offertada un database soltantosoltanto ininalcunialcuni casicasi specificispecifici

Dati Segreti Dati Segreti

Informazioni Informazioni SensibiliSensibili

Perché ci sono alcuni inconvenienti …

Page 17: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

17Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [12/16]

ConfidenzialitàConfidenzialità

Aspetti negativi della cifratura:Aspetti negativi della cifratura:

•• DifficoltàDifficoltà didi debugdebug applicativoapplicativo (non è possibile verificare in modosemplice i dati letti o scritti dall’applicazione)

•• DifficoltàDifficoltà didi recoveryrecovery nel caso in cui non sia possibile recuperare idati persi da un backup

•• AumentoAumento delledelle risorserisorse macchinamacchina necessarienecessarie per la computazione(problemi di performance)

Consigli per la policyConsigli per la policy

VerificareVerificare cheche tuttitutti ii datidati ritenutiritenuti altamentealtamente riservati,riservati, segretisegreti,, oo sensibilisensibili sianosianomemorizzatimemorizzati inin modalitàmodalità cifratacifrata sullasulla basebase datidati

VerificareVerificare cheche lele storedstored procedureprocedure utilizzateutilizzate perper ilil trattamentotrattamento didi datidati altamentealtamenteriservati,riservati, segretisegreti oo sensibilisensibili sianosiano memorizzatememorizzate inin modalitàmodalità cifratacifrata sullasulla basebasedatidati

Page 18: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

18Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [13/16]

IntegritàIntegrità

Per rendere più sicura e “integra” una base dati, è opportuno fare uso delle funzioni di integrità referenzialeintegrità referenziale che … molto spesso non sono invece utilizzate …

E’ importante usare tali funzionalità per garantire l’integrità dei integrità dei dati presenti sul databasedati presenti sul database sia rispetto ad una singola

applicazione, sia nel caso in cui sulla stessa base dati insistano più applicazioni diverse.

Integrità ReferenzialeIntegrità Referenziale: NUMEROSI VANTAGGI !!!!: NUMEROSI VANTAGGI !!!!

Un solo svantaggio:aumento della complessità in fase di progettazione e sviluppo aumento della complessità in fase di progettazione e sviluppo

Page 19: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

19Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [14/16]

IntegritàIntegrità

Consigli per le policyConsigli per le policy

Verificare l’utilizzo dei sistemi di integrità referenziale della base dati

Verificare che l’applicazione gestisca correttamente le transazioni sullabase dati e non vi siano dati inconsistenti

Page 20: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

20Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [15/16]

AuditAudit

Diversi RDBMS permettono di attivare funzionalitàfunzionalità didi auditaudit perl’esecuzione di operazioni specifiche o privilegiate, registrandoall’interno di un apposito file di log tali attività

Logging abilitato almeno negli ambienti di PRODUZIONE e TESTLogging abilitato almeno negli ambienti di PRODUZIONE e TEST

+

Backup dei file di LOGBackup dei file di LOG

Utile per la sicurezza Utile per la sicurezza ++

per il per il debugdebug applicativoapplicativo++

per effettuare l’hardening di una base per effettuare l’hardening di una base dati già in produzionedati già in produzione

Page 21: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

21Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza comuni per i DB [16/16]

Consigli per le policyConsigli per le policy

Verificare la sincronizzazionesincronizzazione deldel sistemasistema operativooperativo concon unun timetime serverserver pereventuali correlazioni dei log di audit tra la base dati, l’application server edaltri componenti dell’architettura (es. firewall)

Verificare l’attivazione, il funzionamento ed il corretto backupbackup deldel loglog didi auditauditdelladella basebase datidati

Verificare l’attivazione, il funzionamento ed il corretto backupbackup deldel loglog didi auditauditdell’applicazionedell’applicazione

AuditAudit

Page 22: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

22Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza Applicativa [1/6]Gestione delle credenziali di accesso per Gestione delle credenziali di accesso per applicazioniapplicazioni

3 Metodologie e loro Sicurezza:

1.1. Richiesta delle credenziali all’’utente (uso di un utente RDBMS)Richiesta delle credenziali all’’utente (uso di un utente RDBMS)

2.2. Autenticazione da fileAutenticazione da file

3.3. Autenticazione da sistema operativoAutenticazione da sistema operativo

L’pplicazioneL’pplicazione richiederichiede lele credenzialicredenziali all’utenteall’utente ee lele usausa perper accedereaccedere allaalla basebase datidati.. LatoSecurity, è necessario solamente verificare che la coppia user e password transiti cifratasulla rete

L’applicazioneL’applicazione dovràdovrà utilizzareutilizzare unauna coppiacoppia useruser ee passwordpassword memorizzatamemorizzata dada qualchequalche parteparte..Lato Security, è necessario verificare:

• Le credenziali di accesso siano memorizzate cifrate con un algoritmo sicuro• Il file o il repository che contiene le credenziali non sia accedibile da persone non autorizzate • Le credenziali non siano memorizzate in chiaro in alcun tipo di file

Situazione Ottimale: direttamentedirettamente ilil databasedatabase aa richiedererichiedere lele credenzialicredenziali didi autenticazioneautenticazioneutenteutente alal sistemasistema operativooperativo.. Osservazione lato Security: coppia user password nontransita sulla rete.

Page 23: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

23Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza Applicativa [2/6]

Consigli per le policyConsigli per le policy

Verificare che le credenziali non siano passate in chiaro durante la connessione credenziali non siano passate in chiaro durante la connessione con la base dati con la base dati

Nel caso in cui risulti necessario memorizzare le credenziali di accessomemorizzare le credenziali di accesso alla base dati, verificare che queste siano cifrate nel file o repositorycifrate nel file o repository che le contiene e che non sia accedibile da personale non autorizzato

Verificare che nel codice applicativonel codice applicativo (compilato o meno) non compaiano le non compaiano le credenziali di accesso in chiaro credenziali di accesso in chiaro

Gestione delle credenziali di accesso per Gestione delle credenziali di accesso per applicazioniapplicazioni

Page 24: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

24Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza Applicativa [3/6]Protezione da attacchi di SQL InjectionProtezione da attacchi di SQL Injection

E’ una TECNICA COMUNE di attacco ai DBE’ una TECNICA COMUNE di attacco ai DB

SQLSQL InjectionInjection: consiste nel tentare l’esecuzioneesecuzione didi SQLSQL nonnon autorizzatoautorizzatoinserendoinserendo neinei campicampi dell’applicazionedell’applicazione stringhestringhe cheche alteranoalterano ilil codicecodice ininesecuzioneesecuzione

Scenario:Scenario: applicazione con due campi da compilare per eseguire l’accesso applicazione con due campi da compilare per eseguire l’accesso autenticato ad una tabella del DB: autenticato ad una tabella del DB:

$utente $password

admin’ -- xxxIl cracker inserisce:

Se il codice applicativo, per eseguire l’autenticazione, utilizza la query SQL:

SELECT id FROM tabella_utenti WHERE user=’$utente’ AND password=’$password’SELECT id FROM tabella_utenti WHERE user=’$utente’ AND password=’$password’

Inserendo Utenza e Password sopra definite, otterremmo la seguente query:

SELECT id FROM tabella_utenti WHERE user=’admin’ SELECT id FROM tabella_utenti WHERE user=’admin’ ----’ AND password=’xxx’’ AND password=’xxx’

Page 25: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

25Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza Applicativa [4/6]Protezione da attacchi di SQL InjectionProtezione da attacchi di SQL Injection

SELECT id FROM tabella_utenti WHERE user=’admin’ SELECT id FROM tabella_utenti WHERE user=’admin’ ----’ AND password=’xxx’’ AND password=’xxx’

Tale query ricerca solamente un utente e lo autentica indipendentemente dalla password

Per scongiurare tali tipi di attacchi, è necessario eseguire del controlli specifici lato-server

Controlli su eventuali Controlli su eventuali dati inseriti da un dati inseriti da un

utenteutente

Controlli di qualsiasi tipo di dato Controlli di qualsiasi tipo di dato che l’applicazione accetta che l’applicazione accetta

dall’esternodall’esterno(file da importare, parametri ricevuti da web

service etc.)Tipi di Controlli:

•• ControllareControllare tuttitutti ii carattericaratteri ricevutiricevuti inin inputinput eded eliminareeliminare quelliquelli nonnon concessiconcessi•• SostituireSostituire ii carattericaratteri pericolosipericolosi concon gligli equivalentiequivalenti quotatiquotati (es. il singolo apice deve

essere ripetuto)•• ForzareForzare oo nonnon accettareaccettare datidati cheche nonnon rispettinorispettino ilil formatoformato attesoatteso inin inputinput

Page 26: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

26Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza Applicativa [5/6]DBLinkDBLink

Alcuni RDBMS permettono la creazionecreazione didi “link”“link” tratra diversediverse istanzeistanze didi basebase datidati,istanze che possono essere sia localilocali (sulla stessa macchina) sia remoteremote (sumacchine diverse)

E’ necessario porre attenzione nell’uso di questa caratteristica e verificarne la reale necessità al momento della progettazione applicativa.

Problematiche ComuniProblematiche Comuni • L’integrità referenziale dei dati può essere difficoltosase eseguita tra due basi dati diverse (e quindi rischiadi non essere implementata)

• La compromissione di una base dati da parte di unhacker può comportare rischi per la base daticollegata

Page 27: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

27Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi di Sicurezza Applicativa [6/6]DBLinkDBLink

Consigli per le policyConsigli per le policy

Verificare le modalitàmodalità didi mantenimentomantenimento dell’integritàdell’integrità deidei datidati (solitamenteimplementate applicativamente)

VerificareVerificare cheche lele credenzialicredenziali didi autenticazioneautenticazione frafra lele basibasi datidati sianosiano ristretteristrettealal solosolo DBLinkDBLink

Verificare le modalitàmodalità didi memorizzazionememorizzazione delledelle credenzialicredenziali utilizzateutilizzate per lacreazionecreazione deldel linklink (queste non devono essere rese leggibili o modificabilida utenti non amministratori della base dati)

Page 28: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

28Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi aggiuntivi di Sicurezza [1/10]

Installazione RDBMS

Spesso, le installazioni standard di RDBMS eseguono delle installazioni di default installazioni di default sul sistemasul sistema:

•• UtentiUtenti amministrativiamministrativi didi defaultdefault (es system/manager su Oracle)•• DatabaseDatabase didi esempioesempio (es. test su MySQL)•• UtentiUtenti didi esempioesempio (es. scott/tiger su Oracle)• Componenti aggiuntive per la gestione o gli sviluppi applicativi

E’ necessario prestare particolare attenzione a queste componenti !!!!E’ necessario prestare particolare attenzione a queste componenti !!!!

In particolare, è necessario che il DBA assegnato effettuieffettui tuttetutte lele verificheverifiche necessarienecessarieallaalla correttacorretta configurazioneconfigurazione delladella basebase datidati che sarà utilizzata e che tutte lecaratteristiche o funzionalità non necessarie siano rimosse, arrestate (es.listener di Oracle se non necessario) oppure correttamente configurate.

Page 29: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

29Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi aggiuntivi di Sicurezza [2/10]

Installazione RDBMS

Consigli per le policyConsigli per le policy

VerificareVerificare lala rimozionerimozione delledelle eventualieventuali istanzeistanze didi esempioesempio

VerificareVerificare ilil cambiocambio passwordpassword perper lele utenzeutenze didi defaultdefault (es(es.. systemsystem susuOracle)Oracle)

VerificareVerificare l’eliminazionel’eliminazione deglidegli eventualieventuali utentiutenti didi esempioesempio

VerificareVerificare lala correttacorretta configurazioneconfigurazione delledelle componenticomponenti didi sicurezzasicurezza (es(es..auditaudit log)log)

Page 30: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

30Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi aggiuntivi di Sicurezza [3/10]Networking

Gli RDBMS sono dotati di listener TCP/IPRDBMS sono dotati di listener TCP/IP che permettono la creazione di architetture client/server a due o tre livelli

In tali architetture la basebase datidatinonnon èè installatainstallata sullasulla macchinamacchinainin cuicui èè inveceinvece presentepresente lalacomponentecomponente applicativaapplicativa che ladeve utilizzare, e quest’ultimanecessita quindi di aprire unacomunicazione verso il listenerTCP/IP per poter operarecorrettamente.

tale listener dovrebbe essere solo tale listener dovrebbe essere solo accessibile dall’application server accessibile dall’application server

Page 31: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

31Policy per la sicurezza dei Database - Altran Italia S.p.A.

Consigli per le policyConsigli per le policy

Nel caso in cui l’applicationl’application serverserver siasia installatoinstallato sullasulla stessastessa macchinamacchinadelladella basebase datidati, è necessario arrestarearrestare ilil listenerlistener deldel DBDB oppure filtrarlomediante firewall locale o regole sul TCP

Elementi aggiuntivi di Sicurezza [4/10]Networking

Nel caso in cui l’applicationl’application serverserver nonnon siasia installatoinstallato sullasulla stessastessa macchinamacchinadelladella basebase datidati, limitare l’accesso al listener, in modo che solosolo l’applicationl’applicationserverserver (ed eventuali altri server applicativi) possanopossano accederviaccedervi mediantemediantefirewallfirewall localelocale oo regoleregole sulsul TCPTCP

Nel caso in cui il software RDBMSRDBMS permettapermetta didi specificarespecificare sese l’utentel’utente èèlocalelocale oppureoppure remotoremoto verificarneverificarne lala configurazioneconfigurazione (anche se si utilizza unfirewall locale o regole di filtro sul TCP)

Page 32: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

32Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi aggiuntivi di Sicurezza [5/10]Processi Batch di Integrazione/Gestione

Spesso in ambito RDBMS si utilizzano script che script che provvedono ad esportare o importare dati da/su RDBMSprovvedono ad esportare o importare dati da/su RDBMS

Modalità Attended Modalità Unattendedeseguiti da operatoreeseguiti da operatore Schedulatore/StrumentoSchedulatore/Strumento

L’utilizzo di tali script è un rischio, poiché:L’utilizzo di tali script è un rischio, poiché:

• Contengono credenzialicredenziali validevalide perper accedereaccedere allaalla basebase datidati (e molto spesso sonocredenziali di alto livello)

•• NonNon sonosono protetti,protetti, aa livellolivello didi sistemasistema operativooperativo, permettendo a chiunque (ocomunque a personale non autorizzato) di modificarli

• Le directorydirectory inin cuicui sonosono memorizzatimemorizzati ii filefile estrattiestratti oo dada importareimportare nonnon sonosono protetteprotette aalivellolivello didi sistemasistema operativooperativo (permettendo quindi la lettura/scrittura dei dati stessi)

Page 33: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

33Policy per la sicurezza dei Database - Altran Italia S.p.A.

Consigli per Consigli per ieie policypolicy

UtilizzareUtilizzare credenzialicredenziali concon ii minimiminimi permessipermessi necessarinecessari perper l’esecuzionel’esecuzionedeglidegli scriptscript

Elementi aggiuntivi di Sicurezza [6/10]Processi Batch di Integrazione/Gestione

ProteggereProteggere lolo scriptscript inin modomodo cheche soltantosoltanto lele personepersone autorizzateautorizzate possanopossanoaccederviaccedervi inin lettura/scritturalettura/scrittura

ProteggereProteggere lolo scriptscript inin modomodo cheche soltantosoltanto personepersone autorizzateautorizzate oo strumentistrumentiautomaticiautomatici possanopossano eseguirloeseguirlo

UtilizzareUtilizzare directorydirectory diversediverse perper contenerecontenere gligli scriptscript ee perper ospitareospitare ii datidatiesportatiesportati oo dada importareimportare

ProteggereProteggere lele directorydirectory inin cuicui sisi trovanotrovano ii datidati esportatiesportati oo dada importareimportare ininmodomodo cheche soltantosoltanto personepersone oo strumentistrumenti automaticiautomatici possanopossano accederviaccedervi

Page 34: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

34Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi aggiuntivi di Sicurezza [7/10]Monitoring

Se implementati, possono essere anche fontefonte didi elevatielevati problemiproblemi didi sicurezzasicurezza, inquanto per poter eseguire alcuni test di verifica (es. accessibilità di una basedati), necessitano di credenziali valide sul servizio da controllare

E’ importante E’ importante considerare anche considerare anche questa parte, per questa parte, per rendere più sicura rendere più sicura tutta l’infrastruttura !!!tutta l’infrastruttura !!!

Page 35: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

35Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi aggiuntivi di Sicurezza [8/10]Monitoring

Consigli per le policyConsigli per le policy

UtilizzareUtilizzare credenzialicredenziali concon ii minimiminimi permessipermessi necessarinecessari perper l’esecuzionel’esecuzione deideitesttest

LimitareLimitare l’accessol’accesso alal listenerlistener deldel databasedatabase, in modo che solo il server dimonitoring possa accedervi mediante firewall locale o regole sul TCP

LimitareLimitare l’accessol’accesso agliagli agentiagenti SNMPSNMP eventualmenteeventualmente presentipresenti sullemacchine che ospitano le basi dati in modo che solo il server di monitoringpossa accedervi

VerificareVerificare l’utilizzol’utilizzo didi communitycommunity nonnon standardstandard oppureoppure dell’utilizzodell’utilizzodell’autenticazionedell’autenticazione avanzataavanzata suglisugli agentiagenti SNMPSNMP

Page 36: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

36Policy per la sicurezza dei Database - Altran Italia S.p.A.

Elementi aggiuntivi di Sicurezza [9/10]Backup

Necessario per Disaster RecoveryNecessario per Disaster Recovery

Fondamentale verificare la configurazione dei backupverificare la configurazione dei backup …. Ma anche la gestione stessa dei media che contengono le copie di backupgestione stessa dei media che contengono le copie di backup deve essere

controllata !!!

Tali media non devono essere acceduti da personale NON autorizzato !!!Tali media non devono essere acceduti da personale NON autorizzato !!!

++

Page 37: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

37Policy per la sicurezza dei Database - Altran Italia S.p.A.

Consigli per le policyConsigli per le policy

VerificareVerificare ilil trattamentotrattamento ee lala gestionegestione deidei mediamedia susu cuicui sonosono salvatesalvate lelecopiecopie didi backupbackup deidei datidati

VerificareVerificare cheche ilil sistemasistema didi backupbackup nonnon utilizziutilizzi copiecopie intermedieintermedie (o chequeste siano correttamente eliminate al termine del backup)

Nel caso si utilizzino copiecopie didi basibasi datidati sincronizzatesincronizzate per l’esecuzione deibackup, queste nonnon devonodevono essereessere accedibiliaccedibili dada personalepersonale nonnonautorizzatoautorizzato

Elementi aggiuntivi di Sicurezza [10/10]Backup

Page 38: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

38Policy per la sicurezza dei Database - Altran Italia S.p.A.

Procedure per l’Hardening dei DB [1/5]

Definizione delle PolicyDefinizione delle Policy

Occorre definirle in modo adeguato + DIVULGARLE !!!Occorre definirle in modo adeguato + DIVULGARLE !!!

In tale ambito, sono necessari strumenti tecnici che aiutino la gestione e laverifica della corretta implementazione delle policy da applicare, per rendere piùefficace la gestione della sicurezza

Le indicazioni relative alla sicurezza delle basi dati contenute nelle slides precedenti devono essere estese per coprire particolarità e funzionalità specifiche coprire particolarità e funzionalità specifiche

per ogni RDBMS utilizzatoper ogni RDBMS utilizzato (es. Oracle, MS SQL, MySQL etc).

Page 39: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

39Policy per la sicurezza dei Database - Altran Italia S.p.A.

•• DocumentareDocumentare correttamentecorrettamente tuttetutte lele componenticomponenti infrastrutturaliinfrastrutturali eded applicativeapplicative

• Valutare i rischi associati alla riservatezza dei dati, ovvero catalogarecatalogare ogniognipolicypolicy inin basebase allaalla necessitànecessità didi implementazioneimplementazione rispettorispetto alal valorevalore deidei datidati dadaproteggereproteggere

•• IdentificareIdentificare modalitàmodalità ee tempitempi perper l’esecuzionel’esecuzione didi auditaudit sullasulla correttacorrettaimplementazioneimplementazione delledelle policypolicy (es. definizione di audit interni periodici)

• Individuare strumentistrumenti tecnicitecnici didi controllocontrollo sull’implementazionesull’implementazione delledelle policypolicy perperevidenziareevidenziare in tempi ridotti eventuali problemi di sicurezza (es. utilizzarestrumenti HIDS per la verifica delle configurazioni)

Nella definizione delle policy è necessario:

Procedure per l’Hardening dei DB [2/5]

Definizione delle PolicyDefinizione delle Policy

Page 40: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

40Policy per la sicurezza dei Database - Altran Italia S.p.A.

Procedure per l’Hardening dei DB [3/5]

Diffusione delle PolicyDiffusione delle Policy

Il primo importante passo, è diffondere le policy di sicurezzadiffondere le policy di sicurezza J

Ma è altresì importante che tali policy siano:•• applicateapplicate•• ricordate dagli interessatiricordate dagli interessati

Metodi di efficiente diffusione:

•• Organizzare seminari di presentazione delle policy per tutti gli interessatiOrganizzare seminari di presentazione delle policy per tutti gli interessati•• Pubblicare in modo facilmente accessibile le policy stessePubblicare in modo facilmente accessibile le policy stesse (es. portale interno)•• DefinireDefinire, soprattutto nel momento della prima diffusione, una forma di supporto diretto una forma di supporto diretto

gestito da personale competentegestito da personale competente (es. casella di posta, help desk etc)•• Provvedere con cadenza regolareProvvedere con cadenza regolare (3 mesi/6 mesi) ad effettuare un incontro o riunione di effettuare un incontro o riunione di

aggiornamento delle policyaggiornamento delle policy, per verificare eventuali nuove implementazioni o correzioni•• Utilizzare gli audit interni o esterni come momento di verifica ed ulteriore diffusioneUtilizzare gli audit interni o esterni come momento di verifica ed ulteriore diffusione (es.

presentazione dei risultati dell’audit a tutti gli interessati)

E le modalità di diffusione devono far E le modalità di diffusione devono far parte delle policy stesse …parte delle policy stesse …

Page 41: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

41Policy per la sicurezza dei Database - Altran Italia S.p.A.

Procedure per l’Hardening dei DB [4/5]

Implementazione delle PolicyImplementazione delle Policy

E’ la fase più criticacritica ed importanteimportante

•• documentaredocumentare tuttetutte lele infrastruttureinfrastrutture (solitamente server) che compongonole architetture da porre sotto policy

•• documentaredocumentare tuttetutte lele applicazioniapplicazioni ee tuttitutti ii flussiflussi didi integrazioneintegrazione ee gestionegestionecheche interagisconointeragiscono concon lele basibasi datidati

•• individuareindividuare lele policypolicy da adottare basandosi su:

•• verificareverificare lala documentazionedocumentazione ee l’analisil’analisi didi impattoimpatto effettuataeffettuata “a“a tavolino”tavolino”utilizzandoutilizzando strumentistrumenti tecnicitecnici (es. audit degli accessi alla base dati, snifferdi rete etc.)

In fase di implementazione, è necessario provvedere a:

•livello di riservatezza dei dati•impatti sulle applicazioni e sugli utilizzatori•impatti sui sistemi di integrazione/gestione

Page 42: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

42Policy per la sicurezza dei Database - Altran Italia S.p.A.

Procedure per l’Hardening dei DB [5/5]

Implementazione delle PolicyImplementazione delle Policy

Solitamente l’implementazione delle policy risulta meno rischiosa se si applica la metodologia del “divide et imperadivide et impera”

• Catalogazione per importanza (dei dati e per il business)

• Complessità teconologica

Definisco sotto-insiemi di basidati su cui le policy possonoessere implementate inmodalità graduale

Si opera per piccoli passi in modo graduale … utile per verificare contemporaneamente: Si opera per piccoli passi in modo graduale … utile per verificare contemporaneamente:

•• Funzionamento delle applicazioni che utilizzano i DBFunzionamento delle applicazioni che utilizzano i DB•• Funzionamento dei sistemi di integrazione/gestioneFunzionamento dei sistemi di integrazione/gestione

Page 43: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

43Policy per la sicurezza dei Database - Altran Italia S.p.A.

Domande e risposte

Danilo [email protected]

Domande ?

Page 44: Policy di sicurezza dei Database.ppt [modalità compatibilità] · Policy per la sicurezza dei Database -Altran Italia S.p.A. 22 Elementi di Sicurezza Applicativa [1/6] Gestione delle

44Policy per la sicurezza dei Database - Altran Italia S.p.A.

www.altran.com