kontrollit të qasjeve (access control), kontrollit të konkluzioneve (inference control), kontrollit të rrjedhës (flow control), enkriptimit (encryption). Kontrolli i qasjeve Kontrolli i qasjeve sigurohet përmes krijimit të llogarive të përdoruesve, mbrojtjes së tyre përmes fjalëkalimeve dhe dhënies së të drejtave të shfrytëzimit.
Kontrolli i qasjeve realizohet në nivelin e SQL Serverit dhe bazës së të
dhënave.
Konceptet kryesore të qasjes në SQL Server janë:
login – kredenciale për identifikimin e një lidhjeje ndaj serverit, rol (role) – trajtëzime të login me të drejta shfrytëzimi të paracaktuara. Kontrolli i qasjeve në SQL Server – Logins (1/3) SQL Server mundëson katër lloje logins sipas mekanizmit të përdorur për identifikimin e lidhjes: Windows-authenticated login – identifikimi i lidhjes kryhet përmes sistemit të operimit. SQL Server-authenticated login – identifikimi i lidhjes kryhet nga SQL Server dhe kredencialet ruhen në bazën e të dhënave të sistemit master. Certifikatë – identifikimi i lidhjes kryhet nga një certifikatë e cila kontrollohet përmes një database master key. Asymmetric key – identifikimi i lidhjes kryhet përmes një infrastrukture me çelës publik dhe privat.
(SQL Server – 1. SQL Logins.sql)
Kontrolli i qasjeve në SQL Server – Server roles (2/3) Për të shfrytëzuar SQL Server login kanë nevojë për të drejta. Menaxhimi i të drejtave të login thjeshtësohet duke u dhënë atyre role. SQL Server ka nëntë role të paracaktuara (fixed server-roles) por lejon krijimin e roleve me të drejta të përcaktuara nga përdoruesi (user-defined server-roles): sysadmin – kryen çdo aktivitet të mundshëm në SQL Server. serveradmin – kryen konfigurime të SQL Serverit. securityadmin – menaxhon qasjet e login dhe roleve në SQL Server. processadmin – menaxhon proceset që ekzekutohen në SQL Server. setupadmin – aktivizon dhe çaktivizon lidhjet e SQL Server me servera të tjerë. bulkadmin – lejon përdoruesit e databazave të ngarkojnë në tabela të dhëna nga dokumente të jashtëm. diskadmin – menaxhon dokumenta specifikë të SQL Serverit si dokumentet e back-up. dbcreator – krijon, ndryshon, fshin dhe rijetëzon baza të dhënash në SQL Sever. public – të gjithë login në SQL Server janë pjestarë të këtij roli. Të drejtat e lidhura me këtë rol janë të ndryshueshme.
(SQL Server – 2. SQL Roles.sql)
Kontrolli i qasjeve në SQL Server – Pyetje (3/3) Cili privilegj mundëson krijimin e SQL logins? Çfarë komande duhet të ekzekutoni për krijimin e një login në SQL Server që identifikohet përmes përdoruesit UserA në domainin DomainA të sistemit të operimit Windows? Çfarë komande duhet të ekzekutoni për krijimin e një login LoginA në SQL Server që identifikohet përmes serverit me anë të fjalëkalimit PassA? Çfarë roli do t’i jepnit një login që duhet të jetë i aftë të fshijë dhe rijetëzojë baza të dhënash nga SQL Server? (bazojeni zgjedhjen në principin e dhënies së privilegjeve minimale) Kontrolli i qasjeve në DB – Mekanizmat e sigurisë (1/6) Qasja në DB realizohet përmes mekanizmave të sigurisë: diskrete (discretionary), të detyrueshme (mandatory). Në të dyja rastet administruesit e databases dhe administruesit e sigurisë trajtojnë qasjen e përdoruesve ndaj objekteve të DB. Faktorët që ndikojnë në lejimin e qasjeve janë: disponueshmëria e të dhënave (data availability), pranimi i qasjeve (access acceptability), kontrollit i identiteteve (authenticity assurance). me qëllimin përfundimtar të arritjes së sigurisë dhe saktësisë (precision) maksimale. Kontrolli i qasjeve në DB – Përdoruesit (2/6) Përdoruesit e DB janë identitetet që logins marrin kur lidhen me një bazë të dhënash në server. Një login është i lidhur vetëm me një përdorues në çdo bazë të dhënash. Secili përdorues i DB lidhet maksimalisht me një login.
Përdoruesit kanë nevojë për të drejta për shfrytëzimin e DB. Menaxhimi i të drejtave thjeshtohet kur ato vendosen në nivel roli të DB.
Rolet e paracaktuara të përdoruesve të DB janë:
db_owner, db_securityadmin – menaxhon pjesëmarrjen e përdoruesve në rolet e DB, db_accessadmin – menaxhon lidhjen e logins me përdoruesit e DB , db_backupoperator, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter, db_denydatareader. (SQL Server – 3. DB Users Roles.sql) (SQL Server – 4. Grant Revoke.sql) Kontrolli i qasjeve në DB – Përhapja e të drejtave (3/6) Përdoruesit dhe rolet e DB kanë të drejtë të Përhapje horizontale: 4 User1 Përhapje vertikale: 2 përhapin të drejtat e tyre nëse kjo u është lejuar në komandën e dhënies së të drejtave.
User2 Përhapje horizontale: 3
User3 User4 User5 Përhapje vertikale: 1 Përhapja e të drejtave nga subjektet e DB mund të bëhet përmes kufizimit: horizontal – kufizon numrin e User6 User7 User8 Përhapje horizontale: 3 subjekteve të cilëve u jepet e drejta. Përhapje vertikale: 0
vertikal – kufizon numrin e subjekteve
të cilëve u jepet e drejta me mundësi User9 User10 User11 përhapjeje. Në të djathtë paraqitet një shembull i Legjenda përhapjes së të drejtave përmes rregullave të kufizimit horizontal dhe vertikal ku UserX Me të drejtë Grant Option përdoruesi i parë e ka përhapjen horizontale të kufizuar në 4 dhe përhapjen vertikale të kufizuar në 2. UserX Pa të drejtë Grant Option Kontrolli i qasjeve në DB – Pyetje (4/6) Çfarë lloj subjekti duhet të krijohet në nivelin e bazës së të dhënave për të lejuar fshirjen dhe krijimin e tabelave? Cila komandë duhet përdorur për krijimin e një subjekti në bazën e të dhënave që ka disa privilegje të caktuara dhe përmban disa përdorues? Cila komandë përdoret për të shtuar një përdorues të DB në një rol të paracaktuar? Në cilin rol të paracaktuar të DB do të përfshinit një përdorues me detyrën të menaxhojë lidhjen e përdoruesve të DB me logins? Kontrolli i qasjeve në DB – Mekanizmi i detyrueshëm (5/6) Mekanizmi i qasjes së detyrueshme bazohet në nivelet e klasifikimit të objekteve dhe subjekteve psh sipas kategorive: TS – top secret, S – secret, C – confidential, U – unclassified. Leximi dhe modifikimi i të dhënave në këto DB trajtohet përmes rregullave: Subjekti ka qasje vetëm në objektet me klasifikim të njejtë ose më të ulët. Subjekti shkruan vetëm në objekte me klasifikim të njejtë ose më të lartë.