Securitatea bazei de date
Securitate a bazelor de date
Prezentare generală
Securitatea bazei de date
1) Introducere
2) Plan de Securitate a Bazei de Date
3) Controlul accesului la baza de date
4) Securitatea DBMS: Aplicarea de corecț ii
5) Aplicatia DB: injectie SQL, ameninț ări de inferenț ă
6) Baze de date virtuale private
7) Securitatea Etichetelor Oracle
8) Ameninț ări la adresa inferenț ei
9) Criptare
10) Auditarea
Datawarehouse
1) Introduction - Motivation
Securitatea bazei de date
„Asigurarea bazei de date poate fi cea mai mare acț iune singură
o organizaț ie poate lua pentru a-ș i proteja activele
David C. Knox
„Securitate eficientă a bazei de date Oracle 10g prin design”
McGraw Hill, 2004.
ISBN 0-07-223130-0
1) Introduction - Scope
Securitatea bazei de date
Securitatea sistemului de baze de date trebuie să se îngrijoreze de DB
+…
Baza de date sigură
–Aplicaț ii securizate
–Sistem de gestionare a bazei de date securizată
–Sistem de operare securizat în raport cu
sistem de baze de date
–Server web securizat în relaț ie cu baza de date
sistem
–Medii de reţea securizate în legătură cu
sistem de baze de date
1) Introducere - Literatură
Securitatea bazei de date
AUTOR TEXT Editor ISBN
Implementare
Natan, Ron Ben Bază de date Elsevier Digital
1-5558-334-2
2005 Securitate ș i Apasă
Audit
Afyouni, Hassan Securitatea bazei de date Curs Thompson
0-619-21559-3
A., (2006) ș i Audit Tehnologie
Oracle Eficient
Baza de date 10g
Knox, David (2004) Securitate prin
Oracle Press 0072231300
Design
1) Subiecte versus Cărț i
Securitatea bazelor de date
1) Cărț i despre securitatea bazelor de date
Securitatea bazei de date
•[1] Knox, David (2004), Securitate eficientă în Oracle Database 10g prin design, McGraw-Hill. ISBN
0-07-223130-0
•[5] Afyouni, Hassan A. (2006), Securitatea ș i Auditul Bazelor de Date, Thompson Course Technology,
0-619-21559-4.
• [6] Litchfield, “Manualul Hackerului de Bază de Date: Apărarea Serverelor de Bază de Date”
[Link]
•[7] Marlene Theriault & William Heney [Link]
,
Securitatea Oracle.
•[8]Charles P. Pfleeger, Shari Lawrence Pfleeger, Securitate în Informatică, Prentice Hall, ISBN-10:
0132390779, octombrie 2006. 4thed.
•[9]Michael Howard, David LeBlanc, Writing Secure Code, Microsoft Press, 2ndediț ie, 2003,
2ndediț ie, ISBN n. 0-7356-1722-8.
•[10] Natan, Ron Ben (2005), Implementarea securită ț ii bazei de date ș i a auditurilor, Elsevier Digital
Press, 1-5558-334-2, 2005.
•[11] Finnigan, Pete. Securitatea Oracle Pas cu Pas, SANS Press, vol. 2, 2004.
•Re ț ineț i că acestea sunt referin ț ele de pe diapozitivul anterior
•De asemenea, po ț i merge la[Link] (Materiale curs Baze de date) ș i selectaț i Securitatea
Modul
1) Introducere – Cărț i specifice produsului
Securitatea bazei de date
•Oracle Advanced Security (anterior Advanced
Opț iune reț ea), conț ine criptare a reț elei
unelte. În func ț ie de versiunea Oracle, este
disponibil fără costuri suplimentare. Este pentru întreprindere
ediț ie.
Cea mai bună literatură pentru OAS este Securitatea Oracle
Manual de Marlene Theriault ș i Aaron
Newman, McGraw-Hill.
Plan de Securitate a Bazei de Date
Securitatea bazei de date
[Link]
Plan de securitate DB
Securitatea bazei de date
Care este cel mai complex program/formular de implementat?
Dacă un tip de date este modificat în tabela Clienți, ce programe/formulare ar putea fi afectate
modificare?
Câte tabele accesează formularul comenzilor?
Câte programe/formulare accesează tabela Angajaților?
2) Plan de Securitate a DB
Securitatea bazei de date
Subiecte Obiecte
DAC versus MAC O1 Oj Om
•Modelul Matricei de Acces: A[S1,O1] A[S1,Oj] A[S1,Om]
Harrison-Ruzzo-Ullman S1
–Stare autorizată: Q =
(S, O, A)
A[Si,O1] A[Si,Oj] A[Si,Om]
–Condiț ii (dependente) Și
•Date
Timp
•Context Sn A[Sn,O1] A[Sn,Oj] A[Sn,Om]
Istorie
2) Plan de securitate a bazei de date - Documentaț ia utilizatorului
Administraț ie
Securitatea bazei de date
Parte a procesului de administrare
•Motive pentru a documenta:
–Furnizaț i o urmă de hârtie
–Asigură consistenț a administrativă
Ce să documentezi:
–Politici administrative, personal ș i
management
Proceduri de securitate
–Scripturi de implementare a procedurilor sau
programe
–Descrierea rolurilor predefinite
3) Controlul accesului la DB
Securitatea bazelor de date
•Utilizatori ș i Parole Implicite
– Users, Passwords
Utilizatori/parole implicite
–sys, conturi de sistem–privilegiate, schimbă parola implicită
–Sa (MS-SQL Server)
–cont scott–cont/parolă bine cunoscută, schimbă-o
- politici generale pentru parole (lungime, domeniu, schimbare,
protecț ie)
Oameni având prea multe privilegii
– Privilegii, Roluri, Acordare/Revocare
•Privilegii
–Sistem - acț iuni
–Obiecte–date
•Roluri (roluri predefinite ș i definite de utilizator)
–Colecț ii de privilegii de sistem (exemplu: rol DBA)
•Acordare / Revocare
–Acordarea (revocarea) privilegiilor sau rolurilor utilizatorilor
3) Controlul accesului DB - Parolele implicite
Securitatea Bazelor de Date
Cea mai simplă modalitate de a te conecta la o bază de date Oracle este să folose ș ti un cont implicit cu un
parola cunoscută [Finnigin]
• [Link]
•Acest site are scripturi care vor identifica to ț i utilizatorii default ș i î ț i va spune dacă ei
încă au parolele lor implicite. Puteț i descărca aceste scripturi.
3) Controlul Accesului DB - Spargerea Parolelor
Securitatea bazelor de date
La[Link]
unelte pe care le poț i descărca pentru a sparge
parole. Este nevoie să verificaț i acest lucru împotriva bazei de date,
pentru că poț i fi sigur că hackerul a
aceste unelte.
3) Controlul accesului la DB - Găsiț i toate privilegiile
Securitatea bazei de date
• [Link]
•Script pentru a găsi ce privilegii au fost acordate
pentru un anumit utilizator. Acest script listează ROLURI,
privilegii de SISTEM ș i privilegii de obiect acordate
un utilizator. Dacă se găseș te un ROL - atunci este verificat
recursiv.
•Ie ș irea poate fi direc ț ionată către ecran sau către un fi ș ier.
3) Controlul accesului la DB - Verificare pentru rolul DBA
Securitatea bazei de date
3) Controlul Accesului la DB - Cum sunt acordate privilegiile
Securitatea bazei de date
Sistemele de gestionare a bazelor de date, cum ar fi Oracle, au roluri predefinite (ex: DBA)
•De asemenea, este posibil să aveț i roluri definite de utilizator
Exemplu
1) Creează rolul AcctDept;
2) Acordaț i Select, Update pe Orders la AcctDept;
3) Acordaț i AcctDept lui Smith, Jones;
4) Acordaț i DBA lui Smith;
Acorda ț i toate privilegiile asupra comenzilor lui Smith;
Conceda ț i selectarea pe comenzile pentru public;
Revocare ș tergerea pe comenzi de la smith;
3) Controlul accesului la DB - Dezactivare cont
Securitatea bazei de date
CREAȚ I UTILIZATORUL smith identificat prin s9 spaț iu de tabele implicit
users;
ALTER USER scott CONTUL ÎNCHIS -- închide un cont de utilizator
DEZACTIVEAZĂ CONTUL UTILIZATORULUI scott;
ALTER USER scott PAROLĂ EXPIRATĂ; -- Forț ează o nouă parolă
3) Controlul accesului la DB - Lansare OEM
Securitatea Bazei de Date
•Alege ț i stand-alone pentru Oracle personal ș i conecta ț i-vă la oracle folosind un dba
user/password
3) Controlul accesului la DB - Conectare la o bază de date
Securitatea bazei de date
•Pe partea stângă a ecranului, face ț i dublu clic pe Re ț ea
ș i apoi Baze de date pentru a te conecta la baza de date pe care o
vrea să gestioneze.
3) Controlul accesului DB - Menț inerea conturilor de utilizator
Securitatea bazelor de date
Odată ce te autentifici, po ț i crea utilizatori, roluri ș i profiluri de asemenea.
prin acordarea de privilegii acestora printr-o interfaț ă GUI.
3) Controlul accesului la baza de date - Profile
Securitatea bazelor de date
•Clauza PROFILE: indică profilul utilizat pentru limitarea resurselor bazei de date ș i aplicarea
politici de parole. Exemplu:
•CREA Ț I PROFIL app_user LIMITA Ț I
SESSIONS_PER_USER NELIMITAT
CPU_PER_SESSION NELIMITAT
CPU_PER_CALL 3000
CONNECT_TIME 45
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 1000
PRIVATE_SGA 15K
COMPOSITE_LIMIT 5000000
•CREA Ț I UTILIZATOR sidney
IDENTIFICAT DE out_standing1
SPATIA IMPUS DEFAULT demo
COTA 10M PE demo
TABELĂ TEMPORARĂ temp
COTA 5M PE sistem
PROFILEapp_user
PAROLA EXPIRATĂ;
Controlul accesului la baza de date-Securitate MS-Access
Securitatea bazei de date
•Două metode pentru
securizarea unei baze de date:
–setaț i o parolă pentru a deschide
o bază de date (sistem
securitate);
–securitate la nivel de utilizator, pentru
limita părț ile de
bază de date pe care un utilizator
poate citi sau actualiza
(securitate a datelor).
3) Controlul Accesului DB - Nivel de Sistem: Deschis Exclusiv
Securitatea bazei de date
3) Controlul accesului la baza de date - Securitate la nivel de sistem (cont.)
Securitatea bazei de date
Utilizatorul este solicitat
DBA stabileș te parola
de fiecare dată când el/ea
deschide DB
3) Controlul accesului DB-MS-Access: Nivel utilizator
Securitatea bazei de date
4) ASIGURAȚ I DBMS-UL (Patch)
Securitatea bazei de date
•Posibile lacune în DBMS
– [Link]
[Link] (50+ listate)
Problemele de overflow al buffer-ului în codul DBMS
–Atacuri diverse (Atac de tip Denial of Service,
dezvăluirea codului sursă al JSP-urilor, altele)
Necesitatea de actualizare continuă a sistemului de gestionare a bazelor de date (DBMS)
Costul neactualizării
Wormi, viruș i, etc. Software-ul de tip SQL slammer
5) Aplicaț ii DB
Securitatea bazei de date
75 la sută din atacuri au loc la nivelul aplicaț iei
– Gartner „Securitate la Nivelul Aplicaț iei”.
• „Câmpul de luptă principal între hackeri ș i
profesioniș tii în securitate s-au mutat de la
stratul de reț ea către aplicaț iile web
Eric Marvets, „Summitul de Securitate Microsoft”, 13 aprilie
2006, Atlanta, Georgia
5) Aplicaț ii DB - Injecț ia SQL
Securitatea bazelor de date
•Aplica ț ie web unde
1) Utilizatorul introduce text într-un câmp de text
2) Text folosit pentru a construi dinamic interogarea SQL
3) Inputul rău intenț ionat schimbă natura interogării
Exemplu: utilizatorul introduce nume în caseta de text
Nume: Benjamin Franklin ' OR 1=1;
SqlStr = “SELECT * FROM EMPLOYEE
UND [Link] = " +
inputUtilizator
SqlStr = SELECT * FROM EMPLOYEE
UNDE [Link] =
'Benjamin Franklin' SAU 1 = 1;
Rezultatul: fiecare rând din tabelul EMPLOYEE va fi returnat
Injecț ie SQL - Soluț ie
Securitatea Bazei de Date
•Similar cu depăș irea buffer-ului:
validează intrarea utilizatorului.
6) Baze de date private virtuale
Securitatea bazei de date
•Poate fi implementat prin Vizualizări în cele mai multe
Sisteme de gestionare a bazelor de date (SGBD)
În Oracle, puteț i crea o politică care va fi
lansat atunci când o operaț iune (Inserare, Actualizare, etc.) este
efectuat de un anumit utilizator asupra unui anumit obiect.
6) VPD, Exemplu de Securitate la Nivel de Rând cu Vederi
Securitatea bazei de date
6) VPD cu o Politică
Securitatea bazei de date
[Link]
ase
Bază de date virtual privatDa Techn ologie
tabaseSecureuty
Accesul la date prin intermediul unei Baze de Date Virtuale Private va efectua următoarele
cinci pași
1. Utilizatorul trimite SQL serverului de baze de date.
2. Tabelul asociat declanșează o politică de securitate predefinită.
3. Politica de securitate returnează un predicat.
4. Instrucțiunea SQL este modificată conform politicii de securitate.
5. Secured data returns to user.
Masă
Pachet
Security
UTILIZATORPasul 1 Pasul 2
Politică
Pasul 5
Pasul 4
Unde Pasul 3
Predicat
6) VPD - Acordă execuț ia pe DBMS_RLS
Securitatea bazei de date
•CONECTEAZĂ-TE LA ORACLE CA SYSDBA
SQL> conectează sys ca sysdba
Introduceț i parola: ******
Conectat.
SYSDBA creează un utilizator numit SECMAN (Manager de securitate)
SQL> creează utilizator secman identificat prin s spaț iu de tabele implicit utilizatori;
SYSDBA acordă permisiuni de executare pe DBMS_RLS către SECMAN pentru ca acest utilizator să poată
creaț i VPD
SQL> acorda dba lui secman;
SQL> acordă execuț ia pe dbms_rls lui secman;
CONECTARE CA SECMAN
SQL> conectare secman/s;
VPD - Definiț ie
Securitatea bazelor de date
Ex.: SELECT * DE LA Emp; -- devine
SELECT * FROM Empunde [Link] = Utilizator;
[Link]
ase
Bază de date virtuală privatăDa Techn ologie
tabaseSecureuty
A VPD security model uses the Oracledbms_rlspackage (RLS stands for
securitate la nivel de rând) pentru a implementa politicile de securitate ș i aplicaț ia
Aceasta necesită o politică care este definită pentru a controla accesul la tabele ș i
rânduri
6) Exemplu de actualizare VPD
Securitatea bazelor de date
Conectarea politicii, tabelului ș i
Funcț ie
UPDATE [Link]ț i set ext = 777;
1 row updated.
6) VPD - Politica de Securitate
Securitatea bazei de date
-- creează politică de securitate
ÎNCEPE
DBMS_RLS.sterge_politica
(object_schema => 'MN668B14',
object_name => ' EmployeeUpdateOrderView',
policy_name => 'EMP_UPDATE_ORDERS_POLICY');
SFÂRȘ IT;
ÎNCEPUT
dbms_rls.adaugă_politica
object_schema => 'MN668B14',
object_name => ' EmployeeUpdateOrderView ',
policy_name => 'EMP_ORDERS_UPDATE__POLICY ’,
function_schema => 'MN668B14',
policy_function => 'EMPUSER_ONLY',
statement_types => 'SELECT,UPDATE,INSERT,DELETE',
update_check => TRUE
);
SFÂRȘ IT;
6) VPD - Rezumat
Securitatea bazei de date
Securitatea VPD oferă o nouă modalitate de a controla accesul
la datele Oracle.
•Un ș ablon, mai multe ș abloane virtuale.
•Natura dinamică a unui VPD. În timpul execuț iei, DBMS
modifică declaraț ia SQL pentru a adăuga securitate.
Burleson, Donald (2003), "Stabiliț i politica de securitate cu Oracle virtual
bază de date privată[Link]
7) Securitatea Etichetelor Oracle (OLS)
Securitatea bazei de date
•simulează o bază de date multilayer.
• Adaugă un câmp pentru fiecare rând pentru a stoca rândul
eticheta sensibilă.
• Accesul este acordat (sau refuzat) comparând utilizatorul
marcă de identitate ș i autorizaț ie de securitate cu rânduri
etichetă sensibilă.
7) OLS ș i Securitate Multilevel
Securitatea bazei de date
Informaț ia are diferite clasificări
Utilizatorii au diferite autorizaț ii de securitate
•Purpose: separate data based on its classification
•Mandatory Access Control (MAC): security enforced
de către sistem ș i nu de către utilizator.
•Poliinstanț iere: mai multe rânduri cu aceeaș i cheie primară.
Instanț e distinse prin nivelul de securitate.
7) Problemă cu Securitatea Multilevel
Securitatea Bazei de Date
Este realmente multiple instanț ieri ale unui singur nivel
DBMS, care degradează puternic performanț a.
Exemple: Oracle de încredere, DB2 pentru z/OS,
Informix OnLine/Secure, sistemul sigur Sybase
7) Securitatea Etichetelor Oracle:
Securitatea bazei de date
•simulează o bază de date multilevel.
• Adaugă un câmp pentru fiecare rând pentru a stoca datele rândului
etichetă sensibilă.
• Accesul este acordat (sau refuzat) comparând utilizatorul
eticheta de identitate ș i autorizare cu rândurile
etichetă sensibilă.
•Eticheta conț ine NIVEL, GRUP ș i
COMPARTIMENT
7) OLS & VPD
Securitatea bazelor de date
•Ca VPD, OLS creează politici
•O politică este un nume care asociază etichete, reguli,
ș i autorizări.
•DBA defineș te un set de etichete pentru date ș i utilizatori,
along with authorizations for users and program
unităț i, care definesc toate accesurile la obiecte.
7) ETICHETA OLS are 3 componente
Securitatea bazei de date
•level : mandatory, simple hierarchy
•compartiment opț ional, non-hierarhic
• grup opț ional, ierarhie pe nivel de arbore
•OLS compară autorizarea de securitate a utilizatorului cu
eticheta de sensibilitate atribuită datelor.
•DACĂ o etichetă conț ine toate cele 3 componente, ATUNCI
nivelul de securitate al utilizatorului >= datele
nivel de sensibilitate, conț ine toate compartimentele ș i la
cel puț in un grup.
7) OLS - Mai multe despre cele 3 componente
Securitatea bazei de date
•eticheta are 3 componente:
•o clasare pe un singur nivel (sensibilitate)
•zero sau mai multe compartimente orizontale
•zero sau mai multe grupuri ierarhice
7) OLS–Coloană adăugată
Securitatea bazelor de date
•Când o politică Oracle Label Security, o coloană este
adăugat în tabelul care este protejat de politică.
Această coloană de etichete a politicii conț ine eticheta
informaț ii pentru fiecare rând de date.
DBA poate alege să afiș eze sau să ascundă această coloană
7) OLS - Niveluri
Securitatea bazei de date
7) OLS - Compartimente
Securitatea bazei de date
7) OLS - Grupuri
Securitatea bazei de date
7) OLS & VPD
Securitatea bazei de date
•FGAC = Controlul Fin al Accesului (Un mecanism pentru a implementa Rând
nivel de securitate în baza de date Oracle
OLS ș i VPD sunt utilită ț ile care sunt folosite pentru FGAC.
•OLS: GUI tool
SECURITATE LA NIVEL DE RANG
•COLUMN LEVEL SECUITY
în Oracle 9i, niciuna. folosiț i vederi.
în Oracle 10g poț i face mascarea coloanelor cu VPD, dar nu cu OLS.
7) Concluzie OLS
Securitatea bazei de date
•Construit pe baza VPD
•Nivel mai înalt, mai rafinat decât VPD
•Construit pe baza securităț ii la nivel de rând, nu prea multe pentru
Securitate la nivel de coloană
8) Ameninț area Inferenț ei
Securitatea bazei de date
9) Criptarea: prezentare generală
Securitatea bazei de date
Criptarea datelor în tranzit
Aș a cum este transmis între client ș i server
•Criptarea datelor în repaus
Stocarea datelor în baza de date ca fiind criptate
Criptarea datelor este un alt strat de securitate
(securitate în profunzime). Nu înlocuieș te
alte tehnici de securitate a bazei de date, cum ar fi puternice
parola.
9) Criptarea datelor în tranzit
Securitatea bazei de date
Pentru un hacker să ascultă o conversaț ie ș i
fura date, două lucruri pot apărea
1) Atinge fizic comunicaț iile între
clientul db ș i serverul db
Hackerul trebuie să înț eleagă comunicarea
flux pentru a extrage date sensibile.
Pentru a face acest lucru, ce are nevoie Hackerul?
Unelte pentru capturarea pachetelor
Securitatea bazei de date
Hackerul trebuie să aibă
•Cu o înț elegere minimă a TCP/IP +
•Foloseș te unul dintre numeroasele analizoare de protocol de reț ea care
sunt disponibile gratuit.
•Pachet (bloc de date formatat transmis de o
Reț ea).
•Sniffing: capturarea ș i analizarea pachetelor
(ca un câine care miroase).
Înț elegerea minimă a TCP/IP
Securitatea bazei de date
Cartea despre Securitatea Reț elelor.
Exemplu:
Roberta Bragg, Mark Rhodes-Ousley ș i Keith Strassberg
Securitatea Reț elelor; Referinț a Completă.
•TCP/IP este bine documentat pe tot internetul.
Documentaț ia descrie anteturile
pachet.
9) Criptare - Unde să rulăm Network Analyzer Packet?
Securitatea Bazei de Date
•Maș ina client care are acces la baza de date
server
•Database Server
Analizator de Protocol de Reț ea: exemple
Securitatea bazei de date
•Tcpdump: utilitar disponibil ca parte a instalării
pe cele mai multe sisteme UNIX. Poate fi descărcat de pe
[Link]
•(windump). Echivalentul Windows. Disponibil pe
unele sisteme. Poate fi descărcat de pe
[Link]
•Wireshark([Link]
cel mai faimos analizor NP din lume. Fost Ethereal
([Link]).
Implementaț i criptarea, date în tranzit
Securitatea bazelor de date
Din fericire, există ș i multe criptări
tehnici pentru datele în tranzit:
•Funcț ii specifice bazei de date, cum ar fi Oracle
Securitate avansată
•Metode bazate pe conexiune (cum ar fi SSL)
Tuneluri securizate (cum ar fi SSH)
•Bazându-se pe sistemele de operare (IPSec
Criptare
Strat de securitate pentru socket-uri (SSL)
Securitatea bazelor de date
•protocoale criptografice care oferă securitate
comunicarea pe internet pentru astfel de lucruri precum web
navigare, e-mail, faxare pe Internet, mesagerie instantanee ș i
alte transferuri de date.
•Pute ț i activa SSL din interiorul unui DBMS.
•SQL-Server de exemplu: Programe -> Microsoft SQL Server
-> Utilitar reț ea server, verificaț i protocolul Force
Caseta de verificare de criptare. Apoi opriț i ș i reporniț i SQL Server.
•Serverul trebuie, de asemenea, să fie informat cum va derula criptarea
chei
•Notă: asigura ț i-vă că versiunea dumneavoastră de SSL este compatibilă
cu versiunea ta de MySQL (cum ar fi în ODBC sau JDBC).
Tuneluri SSH
Securitatea bazei de date
•SSH utilizat în multe aplica ț ii. Exemplu: Substitut pentru
FTP cu criptare.
De la cele mai multe DBMS-uri, po ț i configura tuneluri SSH pentru a cripta
trafic de baze de date prin redirecț ionare de porturi (ș edinț ă criptată
între client ș i server).
•Exemplu: pentru a conecta masina client Linux cu IP
[Link] către o instanț ă MySQL instalată pe un server
cu adresa IP [Link] ascultând pe portul 3306
(portul MySQL implicit).
•Ssh –L 1000:localhost:3306 [Link] –l mylogin –I ~/ .ssh id –N -g
-L=redirec ț ionare port, orice conexiune încercată pe portul 1000 pe local
maș ina ar trebui să fie redirecț ionată către portul 3306 pe server. Prin urmare, orice
conexiunea pe portul 1000 va trece prin criptare.
IPSec
Securitatea bazei de date
O altă opț iune de infrastructură care protejează baza de date
cu instrumente de criptare.
•IPSec este realizat de sistemul de operare, deci trebuie să criptaț i
toate comunicările (nu pot fi selective).
•Funcț ionează la nivelul 3 al reț elei OSI (inferior
nivel).
Instalarea IPSec pe Windows/XP
•instalati managerul de Politica de Securitate IP. Apoi de la
Panou de Control -> Unelte Administrative, selectaț i IPSec
Criptarea datelor în repaus
Securitatea bazelor de date
Există două motive pentru a face acest lucru
–Protejează-l de DBA-uri.
–Protejaț i-vă de furtul de fiș iere sau de discuri.
Criptarea datelor în repaus
Securitatea bazei de date
•Criptarea la nivel de aplicaț ie
Trebuie să o facă în mai multe locaț ii din cadrul aplicaț iei.
Datele pot fi utilizate numai din cadrul aplicaț iei
•Criptare la nivelul sistemului de fiș iere/sistemului de operare
mai puț in flexibil. Necesită să criptezi totul.
Performanț a se degradează
Slab în gestionarea problemei furtului de discuri.
•Criptarea în cadrul bazei de date
–De obicei, cea mai practică opț iune
Criptarea la nivelul aplicaț iei
Securitatea bazelor de date
Dezvoltatorii de aplicaț ii folosesc o bibliotecă criptografică
pentru a cripta, cum ar fi Java Cryptographic Extensions
(JCE) - set de API-uri în [Link] ș i
pachetele [Link]
Criptarea la nivel OS
Securitatea bazei de date
•Windows implementează Sistemul de Fiș iere Criptat
(EFS) ș i îl poț i folosi pentru MS-SQL Server.
•Dezavantaje?
Criptarea în cadrul bazei de date
Securitatea bazelor de date
•SQL Server 2005 poț i accesa Windows
CryptoAPI prin DB_ENCRYPT ș i
DB_DECRYPT în T-SQL (similar cu PL/SQL)
Poate utiliza DES, Triple DES ș i AES
(chei simetrice)
În ORACLE, poț i accesa
pachetul DBMS_OBFUSCATION_TOOLKIT care
implementează DES ș i Triple DES
Rezumat
Securitatea bazei de date
•Criptarea DB poate fi împărț ită în Date în tranzit
ș i date în repaus
Criptarea este utilă ca ultim strat de apărare
(apărare în adâncime). Nu ar trebui să fie folosită niciodată ca un
soluț ie alternativă
Criptarea ar trebui utilizată doar atunci când este necesară
Gestionarea cheilor este esenț ială
10) Audit
Securitatea bazei de date
Trebuie să fiu selectiv
2 tipuri principale de audit:
Securitatea Bazei de Date
Auditare furnizată de Oracle utilizând comanda AUDIT.
Rezultatele merg la AUD$
•Auditorie DML bazată pe declanș atoare
Indiferent de caz, DBA trebuie să monitorizeze tabela de audit.
Exemple/scripturi de audit:
• [Link]
• [Link]
Exemplu de comandă de audit
Securitatea bazei de date
Trebuie să aibă privilegii de sistem de audit
•Numai melodii în sesiunile ulterioare ale utilizatorului
•Creează înregistrări în tabelul AUD$ deț inut de sys
– Nu interoghezi această tabelă, interoghezi
•Vederi precum DBA_AUDIT_TRAIL
•SQL> AUDIT Ș terge orice tabel;
•SQL> NU AUDIT delete orice tabel;
•SQL> AUDIT SELECT TABELA, UPDATE TABELA;
•SQL> AUDIT creează sesiune;
Când să auditezi
Securitatea bazei de date
Când ar trebui să auditat utilizatorii Oracle?
–Set de măsuri de audit de bază în permanenț ă
–Capturarea accesului utilizatorului, utilizarea privilegiilor sistemului,
modificări ale schemei bazei de date (DDL)
Dacă compania gestionează date sensibile (financiare
piaț ă, militar, etc.) SAU
Dacă există activităț i suspecte în legătură cu
DB or a user, specific actions should be done.
Audit cu Triggers (soluț ie generică)
Securitatea bazei de date
•Creează un tabel care va conț ine informaț ii de audit
•Creează un trigger care inserează un rând în tabel
de fiecare dată când este creată o anumită operaț iune, cum ar fi
LOGON, LOGOFF, CREARE TABEL, Ș TERGERE, etc.
11) Datawarehouses
Securitatea bazei de date
În mod tradiț ional, solicitat doar de managementul superior
Criptarea nu a fost o opț iune din cauza
implicaț ii de performanț ă
•Proiectate ca sisteme deschise, permiț ând explorarea
abordare
Tehnici de optimizare pentru răspunsuri rapide
Tendinț e ș i probleme în Datawarehouse
Securitatea bazelor de date
Gama utilizatorilor poten ț iali cre ș te rapid
Numărul bre ș elor de securitate cre ș te rapid
•Legisla ț ia abordează problema protejării datelor personale
informaț ie
•Baze de Date Statistice ș i Inferen ț e
Utilizatorul are voie să vadă agregatul
date, dar nu linii individuale. Cu malefic
input, utilizatorul deduce valoarea fiecărei rând.
Sfârș itul lecț iei
Securitatea bazei de date
Sfârș it
Din
Astăzi
Prelegere.