You are on page 1of 9

UNIVERZITET U ISTONOM SARAJEVU

ELEKTROTEHNIKI FAKULTET

SIGURNOSNI MODULI KOD MySQL


SERVERA
-Softverski alati i baze podataka, DZ2, tema 19-

Profesor:

Student:

Doc. dr. Sran Nogo

Slobodan Kuzmanovi

Istono Sarajevo, mart 2015

SADRAJ

1. UVOD ................................................................................................................................................. 1
2. KAKO SISTEM PRAVA KORISNIKA DJELUJE U PRAKI ........................................................... 2
3. ZATITA KORISNIKIH NALOGA................................................................................................ 3
3.1 Zadavanje lozinke za korisniki nalog Root ................................................................................... 3
3.2 Brisanje anonimnih naloga ............................................................................................................ 3
3.3 Opasna prava ................................................................................................................................. 3
3.4 ifrovanje lozinki............................................................................................................................ 3
4. ZATITA INSTALIRANIH DATOTEKA ........................................................................................ 4
4.1 Ne treba pokretati mysqld pod nalogom Root.............................................................................. 4
4.2 Pristup datotekama i prava upotrebe u operativnom sistemu ..................................................... 4
5. FILTRIRANJE PODATAKA KOJE ALJU KORISNICI ................................................................ 5
6. ZAKLJUCAK ..................................................................................................................................... 6
6. LITERATURA .................................................................................................................................... 7

Sigurnosni moduli kod MySQL servera

1. UVOD
U ovom poglavlju razmatraemo opte probleme zatite o kojima bi trebalo voditi
rauna kada se koristi MySQL server. Obradiemo sledee teme:

Kako sistem prava korisnika deluje u praksi


Zatita korisnikih naloga
Zatita instaliranih datoteka
Filtriranje podataka koje alju korisnici

Sigurnosni moduli kod MySQL servera

2. KAKO SISTEM PRAVA KORISNIKA DJELUJE U PRAKI


Sistem kontrola prava pristupa sastoji se od dva koraka. U prvom koraku, MySQL
utvruje da li je korisniku uopte dozvoljeno da uspostavlja veze sa serverom. Tome slui
tabela user u bazi podataka mysql. MySQL trai u toj tabeli red koji sadri korisniko ime i
lozinku koja je zadata te ime raunara s kojeg pokuavate da se poveete sa serverom. Ako ne
nae odgovarajui red, nee dozvoliti uspostavljanje veze.
Drugi korak se odvija kada pokuate da izvrite odreene upite ili komande. Pre
izvrenja svakog upita, MySQL proverava u tabelama prava da li vam je dozvoljeno
izvravanje upita koji ste poslali.
Ako je za upit koji pokuavate da izvrite potrebno globalno pravo ispituje se tabela
user. Pri izvravanju upita u odreenoj bazi podataka, najpre se ispituje tabela user. Kad
korisnik ima pravo pristupa u sve baze podataka na serveru, to pravo je dovoljno. Ako nema
to pravo, ispituju se tabele db i host. Ako korisnik nema prava ni na tom nivou, na kraju se
utvruje da li moda ima pravo pristupanja odreenim tabelama i kolonama.

Sigurnosni moduli kod MySQL servera

3. ZATITA KORISNIKIH NALOGA


Postoji nekoliko optih bezbednosnih principa koji vae i za upravljanje korisnikim
nalozima na MySQL serveru.

3.1 Zadavanje lozinke za korisniki nalog Root


Kada se zavri instaliranje MySQL-a, korisnik root nema lozinku. Obavezno treba
zadati lozinku za tog korisnika pre nego to se pone koristiti MySQL za bilo ta drugo osim
iskljuivo za eksperimentisanje. Dok se ne zada lozinka za korisnika root, svako se moe
prijaviti na server i raditi s podacima ta god pocli.To gotovo nikad nije prihvatljiva
situacija.

3.2 Brisanje anonimnih naloga


Kada se MySQL instalira na Windows, on automatski pravi nekoliko naloga. Na
Linuxu se to obavlja kada se pokrene skript mysql_install_db. Dva od tih naloga su
anonimna, odnosno predstavljaju nalog koji se dodeljuje kada ne zadate svoje korisniko ime.
Ime jednog naloga je localhost a drugo je % (predstavlja bilo koji raunar, to omoguava
uspostavljanje veza sa udaljenih raunara). Ti nalozi standardno nemaju lozinke.

3.3 Opasna prava


MySQL ima veoma detaljan sistem prava korisnika. Potrebno je vrlo paljivo
razmotriti kome se dodjeljuje neka od tih prava. Potrebno je biti veoma oprezni s pravima
FILE, PROCESS i WITH GRANT OPTION.
Pravo FILE omoguava korisnicima da izdaju komandu LOAD DATA INF ILE. Ta
komanda moe se zloupotrebi ti za menjanje sadraja datoteka na serveru (kao to je datoteka
za lozinke, /etc/passwd) ili ak za menjanje datoteka baza podataka, ime se zaobilazi sistem
prava pristupa.
Pravo PROCESS omoguava korisnicima da izdaju komandu SHOW PROCESSLIST.
Tako u svakom trenutku mogu videti koji se sve upiti izvravaju, to im omoguava da dou
do poverljivih podataka o drugim korisnicima.
Pravo WITH GRANT OPTION omoguava korisnicima da svoja prava dodeljuju
drugim korisnicima. Ako se dobro poznaje kakve mogu biti posledice tog prava, ono se mora
oprezno dodeljivati drugima.

3.4 ifrovanje lozinki


MySQL uva lozinke korisnika u ifrovano m obliku. Pre verzije 4.1, mogli ste pri
prijavljivanju na server da zadate i ifrovani oblik lozinke.To je sada ispravljeno i ugraena je
jaa zatita lozinki i mehanizma prijavljivanja.

Sigurnosni moduli kod MySQL servera

4. ZATITA INSTALIRANIH DATOTEKA


Osim zatite MySQL-ovih korisnikih naloga, potrebno je kontrolisati i pristup
MySQL-ovim binarnim datotekama, skriptovima i datotekama s podacima.

4.1 Ne treba pokretati mysqld pod nalogom Root


Ovo se preporuuje na Linuxu i drugim operativnim sistemima srodrum sa Umxom.
Ne treba pasti u iskuenje da se pokrene MySQL server (program mysqld) pod korisnikim
nalogom root. Isto kao za Web server, treba napraviti poseban nalog pod kojlm ce raditi samo
MySQL server. Tako emo ograniiti prava pristupa koja e MySQL server imati u sistemu
datoteka.

4.2 Pristup datotekama i prava upotrebe u operativnom sistemu


Nema svrhe troiti vreme na pravilno podeavanje prava korisnikih naloga za pristup
MySQL-u ukoliko nemamo kontrolu nad pristupom operativnom sistemu. Neophodno je
korisnicima ograniiti pristup MySQL-ovim binarnim datotekama, skriptovima, a naroito
direktorijumu data. est bezbednosni propust je da se nekom konsruku dozvoi pristup
raunaru na kojem radi MySQL server, ali ne i na primer bazama podataka drugih korisnika.
Ako taj korisnik ima pristup u direktorijum data, moe da napravi koplje datoteka s podacima
i da ih otvori na nekom drugom MySQL serveru

Sigurnosni moduli kod MySQL servera

5. FILTRIRANJE PODATAKA KOJE ALJU KORISNICI


Pre nego to MySQL-u prosledite bilo koji podatak koji je korisnik uneo, trebalo bi da
klijentska aplikacija izvri odreene provere. Kako cemo to tacno obaviti, zavisi od razvojne
platforme s kojom radimo, ali moemo navesti primer koji objanjava zbog ega je bitno
provjeravati ulazne podatke.
Problem se moe pojaviti ak i pri neemu tako jednostavnom kao to je unoenje
neijeg imena i prezimena- npr. Patrick O'Leary- u vau aplikaciju. Ako te podatke prsledimo
direktno MySQL-u, problem e nastati zbog apostrofa u prez1menu O'Leary. U
zlonamernijem kontekstu, mogu se pojaviti korisnici koji pokuavaju da unesu MySQL-ove
komande putem korisnikog interfejsa vae aplikacije ili Web obrazaca. Postupak kojim ete
proveriti prihvatljivost ulaznih podataka zavisi od programskog jezika na kojem radite, a u
MySQL-ovoj dokumentaciji moemo nai nekoliko optih preporuka za veliki broj
programskih jezika.

Sigurnosni moduli kod MySQL servera

6. ZAKLJUCAK
Razmotrili smo sistem prava pristupa, obradili korisnike naloge, opisali datoteke u
sistemu datoteka i ukratko pomenuli filtriranje ulaznih podataka, ali je potrebno jos nesto
dodatno razmotriti.
Opta preporuka glasi: ako smo se ve potrudili da paljivo podesimo korisnike
naloge u MySQL-u i u operativnom sistemu, najbolje je i da fiziki zatitimo instalaciju. Ako
postoji mogunost da neko obori server zato to se sapleo o njegov kabl za napajanje, ili ako
neko moe da ukrade podatke tako to odnese ceo raunar, imamo ozbiljan problem. Fizika
zatita se esto zaboravlja, naroito u malim i srednjim kompanijama.
Moda manje iznenauje kada je u pitanju Windows, ali ak i inae bezbedni Unix/
Linux sistemi postaju ranjivi kada se zanemari fizika zatita. Na primer, na Linuxu je
postupak izmene lozinke korisnikog naloga root trivijalno jednostavan kada imate fiziki
pristup raunaru. Naravno, kada neko podacima moe da pristupa kao korisnik root, moe da
menja koje god hoe podatke u MySQL-ovim bazama podataka .

Sigurnosni moduli kod MySQL servera

6. LITERATURA

Prirunik za MySQL Luk Veling, Lora Tomson(Luke Welling, Laura Thomson)

You might also like