Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

Bezbednost u MySql-u.

Сличне презентације


Презентација на тему: "Bezbednost u MySql-u."— Транскрипт презентације:

1 Bezbednost u MySql-u

2 Faktori koji utiču na sigurnost MySql servera i aplikacija koje ga koriste
Opšti faktori koji utiču na sigurnost Biranje adekvatnih šifara (passwords) Davanje odgovarajućih prava pristupa korisnicima Sprečavanje napada (npr SQL injection) Sigurnost same instalacije MySql servera Data files, log files, application files – njihovo čitanje i pisanje treba da bude dozvoljeno samo autorizovanim korisnicima Kontrola pristupa i sigurnost unutar baze podataka Korišćenje MySql sistema za kontrolu pristupa (MySql Access Privilege System) i MySql sistema za upravljanje korisničkim nalozima (MySql User Account Management System)

3 Faktori koji utiču na sigurnost MySql servera i aplikacija koje ga koriste - nastavak
Instaliranje odgovarajućih dodataka za sigurnost (security plugins) i korišćenje njihovih funkcionalnosti Sigurnost mreže na kojoj se nalazi server Davanje pristupa autorizovanim korisnicima Ili, može se ograničiti pristup MySql-u tako da mu se može pristupiti samo lokalno, ili samo sa određenih spoljnih lokacija Obezbeđivanje načina za oporavak podataka Čuvanje kopija (backups) datoteka sa podacima (database files), kao i konfiguracionih i log datoteka Plan za oporavak (recovery) podataka iz backup datoteka i testiranje da li su svi podaci uspešno oporavljeni

4 Sql injection Napadač izvršava maliciozne Sql naredbe
Osetljivost na Sql injection može postojati u zavisnosti od načina izvršavanja Sql skriptova u web aplikaciji

5 Sql injection – primer 1 Uobičajen programski kod na serverskoj strani koji autentifikuje korisnika (pseudo-kod) # Definisanje POST promenljivih uname = request.POST['username'] passwd = request.POST['password'] # SQL query osetljiv na SQLi sql = “SELECT id FROM users WHERE username=’” + uname + “’ AND password=’” + passwd + “’” # Izvršavanje SQL naredbe database.execute(sql)

6 Sql injection – primer 1 – nastavak
SELECT id FROM users WHERE username=’nesto’ AND password=’nesto’ Postavljanje passsword polja na formi na vrednost: nesto' OR '1'='1' # SELECT id FROM users WHERE username=’nesto’ AND password=’nesto’ OR ’1 ’ = ’ 1 ’ # Često je rezultat userID prvog korisnika u tabeli, što je u velikom broju slučajeva upravo administrator baze!

7 Sql injection – uslovi RDBMS koji koristi SQL jezik
Ugrađivanje podatka koji korisnik unosi direktno u SQL upit

8 Sql injection – primer 2 UNION SELECT 1,pass,cc FROM users WHERE uname='test'

9 Prevencija Sql injection
Programski kod u kojem se pristupa bazi podataka i izvršavaju Sql upiti treba da bude takav da spreči Sql injection Postoje preporuke za svaki programski jezik i odgovarajuću tehnologiju za kreiranje web aplikacija koje rade sa bazom

10

11 Najčešći tipovi SQl injection napada
In-band SQLi – napadač koristi isti komunikacioni kanal da sprovede napad i prikupi rezultate Error-based Oslanja se na poruku o grešci koju RDBMS generiše i prikazuje napadaču Poruka sadrži podatke o strukturi baze (nazivi tabela i kolona) Prevencija: Poruke o grešci treba da budu isključene na live-bazi, one se koriste samo u development fazi UNION-based Koristi UNION klauzulu da dobije rezultate drugih tabela koje nisu bile uključene u upit

12 Drugi tipovi SQl injection napada
Inferential SQLi (Blind SQLi) Time-based Blind SQLi


Скинути ppt "Bezbednost u MySql-u."

Сличне презентације


Реклама од Google