Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Integritet i sigurnost podataka
kolegij: Baze podataka
I. Batistic
email: [email protected]
Fizicki odsjek, PMF
Integritet i sigurnost podataka – p. 1
Integritet i sigurnost podataka
1. Integritet podataka (prošlo predavanje)
2. Istovremeni pristup podacima (prošlo predavanje)
3. Oporavak baze podataka (prošlo predavanje)
4. Zaštita od neovlaštenog pristupa podacima (današnje
predavanje)
Integritet i sigurnost podataka – p. 2
Zaštita od neovlaštenog pristupa
Baza podataka mora biti zašticena od nedopuštenih ilizlonamjernih radnji. Osnovni vid zaštite je ogranicenjefizickog pristupa do samog racunala i njegovih terminala.
Osim fizicke zaštite, postoji i softwareski vid zaštite koji seugraduje u DBMS. Njime se ogranicava rad s bazompodataka i ljudima koji imaju mogucnost fizickogpristupanja racunalu ili terminalima.
Integritet i sigurnost podataka – p. 3
Nacini zaštite
Postoji nekoliko vidova zaštite koji se mogu koristiti i ukombinaciji:
Identifikacija korisnika
Pogledi kao mehanizam zaštite
Ovlaštenja
Integritet i sigurnost podataka – p. 4
Zaštita: Identifikacija korisnika
Svaki korisnik baze podataka ima svoje:
korisnicko ime (username)
Tajnu, samo njemu poznatu lozinku (šifra/password)
Da bi smio raditi s bazom podataka, korisnik mora sepredstaviti DBMSu navodenjem imena, te mora dokazatisvoj identitet navodenjem lozinke.
Integritet i sigurnost podataka – p. 5
Zaštita: Identifikacija korisnika
Ukoliko korisnik ne navede korisnicko ime i lozinku kojiodgovaraju popisu, DBMS odbija dati dopuštenje za rad.
DBMS se može osloniti na imena i lozinke koje koristioperacijski sustav, ili može koristiti svoj vlastiti popis.
Integritet i sigurnost podataka – p. 6
Zaštita racunala na Internetu/LANu
Vecina današnjih DBMSova ima mogucnost rada naInternetu. Bazama podataka može se pristupat s udaljenihracunala lociranih u drugim gradovima, zemljama ilisusjednoj zgradi.
Ova prednost ujedno je i mana jer otvara još jedna dodatnavrata mogucem neovlaštenom ili zlonamjernom pristupanjupodacima.
Integritet i sigurnost podataka – p. 7
Pristupanje podacima prekoInterneta
Internet je baziran na tz. IP protokolu.
Racunala medusobno komuniciraju preko kratkih poruka ilipaketa.
Paketi imaju tocno odredenu strukturu definiranu IPprotokolom.
IP protokol se može zamisliti kao jezik kojim racunalamedusobno razgovaraju.
Napomena: Postoje i druge vrste protokola: DECnet, . . .Integritet i sigurnost podataka – p. 8
Internet: IP protokol
Svaki IP paket dodjeljuje se jednoj vrsti Internet usluge /komunikacije i identificira ga se preko broja ili tz. porta.
Svaka usluga na Internetu ima svoj broj porta:
ftp - 20/21ssh - 22telnet - 23mail - 25www (web) - 80kriptirani www - 443
Ti brojevi su unaprijed definirani IP protokolom.Integritet i sigurnost podataka – p. 9
Internet: IP protokol
Baze podataka takoder imaju svoje portove zakomunikaciju:
mysql - 3306
postgresql - 5432
itd.
Integritet i sigurnost podataka – p. 10
Internet: Zaštita
Kako zaštiti bazu podataka na Internetu ?
Sasvim iskljuciti mrežne mogucnosti DBMSaDopustiti da samo lokalni programi pristupaju DBMSu(localhost)Dopustiti da samo racunala unutar lokalne mrežepristupaju DBMSuDopustiti nekima, ali uz identifikaciju (korisnik/lozinka)Koristiti šifriranu komunikaciju (ssl/ssh, dvostrukikljucevi,. . . )
Integritet i sigurnost podataka – p. 11
Zaštita: Pogledi
Kroz poglede (views) korisniku može mu se dati pravopristupanja samo jednom dijelu podataka.(Uz pretpostavku da mu je ostatak baze podataka zabranjen.)
Napomene:Na pocetku ovog kolegija bilo je spomenuto da se mogudefinirati pogledi (pod-sheme) (view) kao sredstvopostizavanja logicke neovisnosti podataka.
Integritet i sigurnost podataka – p. 12
Zaštita: Pogledi
U relacijskom modelu se globalna shema i pogledi(pod-shema) zadaju kao skup relacija. Pri tome se relacijakoja cini pogled izvodi iz relacije koje cine globalnu shemu,primjenom relacijski operacija.
Integritet i sigurnost podataka – p. 13
Pogledi: Primjeri
Promatrajmo bazu podataka zaposlenih u nekompoduzecu, odjele u kojima rade. Podaci se mogu prikazatipomocu dvaju relacija u globalnoj shemi:
ZAPOSLENI (ZAP_BROJ, IME, ADRESA, PLACA, ODJEL_BROJ);
ODJEL (ODJEL_BROJ, IME_ODJELA, DIREKTOR);
Integritet i sigurnost podataka – p. 14
Pogledi: Primjer 1.
Pogled koji je namijenjen korisnicima koji smiju pristupatisvim podacima osim podataka o placi:
POGLED1 := ZAPOSLENI [ ZAP_BROJ, IME, ADRESA, ODJEL_BROJ];
Korisnik vidi samo vertikalni fragment cijele relacije.
Integritet i sigurnost podataka – p. 15
Pogledi: Primjer 2.
Ovaj je pogled je namijenjen korisnicima koji smijupristupati svim podacima ali samo o zaposlenim samo unekom odjelu.
POGLED2 := ZAPOSLENI where (ODJEL_BROJ = D3);
Korisnik vidi samo horizontalni fragment cijele relacije.
Integritet i sigurnost podataka – p. 16
Pogledi: Primjer
Treci pogled služi za korisnike–direktore. On smijepristupati svim podacima o osobama zaposlenim unjegovom odjelu:
POGLED3 := ZAPOSLENI join (ODJEL where (DIREKTOR = USERNAME);
Opcenito:Korisnici ne vide relaciju koja zapravo postoji u bazi podataka vec
relaciju koja se dobije odredenom kombinacijom iz postojecih relacija.
Integritet i sigurnost podataka – p. 17
Pogledi: Primjer iz postgreSQLa
Baza podataka fakulteta. Definiramo pogled koji sadržipodatke o studentima trece godine studija Profesor fizike iinformatike.CREATE TABLE student (
prezime VARCHAR(50),
ime VARCHAR(50),
indeks VARCHAR(10),
godina INT,
smjer VARCHAR(10),
PRIMARY KEY (indeks)
);
CREATE VIEW pfi_3
AS SELECT ime,prezime,indeks
FROM student WHERE smjer=’pfi’ AND godina=3;
ORDER BY prezime,ime;
Integritet i sigurnost podataka – p. 18
Zaštita: Ovlaštenja
Ovlaštenjima se odreduje što korisnik može raditi spodacima koji su mu na raspolaganju.
Ovlaštenja mogu biti:
READ/SELECT - dopuštenje za citanje
UPDATE - dopuštenje za mijenjanje postojecihpodataka
INSERT - dopuštenje za upis novih podataka
DELETE - dopuštenje za brisanje postojecih podataka
Integritet i sigurnost podataka – p. 19
Zaštita: Ovlaštenja
Dopuštenja se mogu zadati na novou cijelog pogleda, ilidetaljnije, na novou relacije.
DBMS mora pamtiti popis ovlaštenja za svakog korisnika isvaku relaciju iz pripadnog pogleda !
Integritet i sigurnost podataka – p. 20
Ovlaštenja: Primjeri
Primjer SQL naredba za bazu podataka na fakultetu:
GRANT SELECT ON student TO PUBLIC;
Direktor iz prošlog primjera može imati pravo naREAD i UPDATE za relaciju POGLED3, ali ne imogucnost za INSERT i DELETE.Znaci, direktor može mijenjati place svojimslužbenicima, ali ih ne može zaposlene ne možeotpustiti niti nove osobe zaposliti.
Integritet i sigurnost podataka – p. 21
Zaštita: Ovlaštenja
Ukoliko korisnik pokuša obaviti radnju za koju nije ovlašten,DBMS je nece izvršiti, vec ce ispisati poruku o povrediovlaštenja.
Integritet i sigurnost podataka – p. 22
Ovlaštenja: Napomena
Ažuriranje relacija zadanih unutar pogleda možepredstavljati logicki problem, pogotovo ako je relacija izpogleda zadana kao spoj dvaju relacija iz globalne sheme.
Svi DBMSi postavljaju ogranicenja na ažuriranje relacijakroz poglede. To može biti dozvola za ažuriranje samoonih relacija koje se dobivene selekcijom ili projekcijomsamo jedne relacije iz globalne sheme.
Integritet i sigurnost podataka – p. 23
Ovlaštenja: Administrator baze
Obicno se administrator baze brine oko zaštite odneovlaštenog pristupa. On upisuje popis korisnika, zadajepoglede, regulira ovlaštenja. Da bi to mogao ciniti, on sammora imati posebna ovlaštenja, veca od svih drugihkorisnika.
Integritet i sigurnost podataka – p. 24
Zaštita: Primjeri za SQL (postgresql)
(administrator baze je korisnik postgres)
Dodavanje novog korisnika:templete1# CREATE USER pero WITH SYSID 3333 PASSWORD ’jw8s0F4’
NOCREATEDB NOCREATEUSER;
Davanje ovlasti novom korisniku:templete1# GRANT SELECT, UPDATE ON moja_relacija TO pero;
Podaci o korisnicima i ovlastima:templete1# SELECT * FROM pg_user;
Integritet i sigurnost podataka – p. 25