Bezpiecze
ń
stwo baz danych
Wykład
S. Kozielski
Bezpiecze
ń
stwo baz danych
Ogólna struktura zabezpiecze
ń
systemów informatycznych:
- fizyczne zabezpieczenie dost
ę
pu do systemu,
- personalna odpowiedzialno
ść
za dost
ę
p do systemu,
- mechanizmy zabezpiecze
ń
systemu operacyjnego i sieci
komputerowej,
- mechanizmy zabezpiecze
ń
baz danych
Zagro
ż
enia dla baz danych
1) Zagro
ż
enia wynikaj
ą
ce z umy
ś
lnego dzia
ł
ania nieuprawnionych
u
ż
ytkowników.
a) nieuprawniony odczyt,
b) nieuprawniony i niepoprawny zapis / modyfikacja,
2) Zagro
ż
enia wynikaj
ą
ce z b
ł
ę
dów (u
ż
ytkowników, oprogramowania i
sprz
ę
tu) i zdarze
ń
losowych:
a) pomy
ł
ki u
ż
ytkowników przy wprowadzaniu i aktualizacji
danych,
b) niepoprawna modyfikacja wynikaj
ą
ca z niekontrolowanego
wspó
ł
bie
ż
nego dost
ę
pu do danych,
c) niepoprawna modyfikacja wynikaj
ą
ca z b
ł
ę
dów programów
i awarii systemu,
d) zniszczenie danych przy powa
ż
nych awariach sprz
ę
tu,
Kierunki przeciwdziałania zagro
ż
eniom
1) Polityka bezpiecze
ń
stwa w systemach baz danych:
a) kontrola dost
ę
pu,
b) monitorowanie b.d.,
c) szyfrowanie w b.d.,
2) Ochrona integralno
ś
ci baz danych:
a) Integralno
ść
semantyczna:
- ograniczenia dziedzin atrybutów,
- wi
ę
zy referencyjne,
b) Integralno
ść
transakcyjna:
- mechanizmy blokad,
- prowadzenie dziennika transakcji.
Polityka bezpiecze
ń
stwa w systemach baz danych
Kontrola dost
ę
pu do baz danych:
- identyfikacja u
ż
ytkowników,
- autentyfikacja (uwierzytelnianie) u
ż
ytkowników,
- autoryzacja u
ż
ytkowników – przydzielanie uprawnie
ń
u
ż
ytkownikom, a nast
ę
pnie egzekwowanie ogranicze
ń
,
które z wynikaj
ą
z tych uprawnie
ń
Kontrola dost
ę
pu w j
ę
zyku SQL
(DCL - Data Control Language)
1. Tworzenie u
ż
ytkowników,
2. Nadawanie uprawnie
ń
ogólnych (systemowych),
3. Nadawanie uprawnie
ń
szczegó
ł
owych (obiektowych).
Oracle, MS SQL Server
Tworzenie u
ż
ytkowników:
CREATE USER <u
ż
ytkownik> IDENTIFIED BY <hasło>
Nadawanie uprawnie
ń
ogólnych (systemowych)
GRANT <uprawnienie systemowe> TO
<u
ż
ytkownik> [WITH ADMIN OPTION]
uprawnienia systemowe (przykłady):
CREATE TABLE
SELECT ANY TABLE
UPDATE ANY TABLE
. . .
Odbieranie uprawnie
ń
ogólnych (systemowych):
REVOKE <uprawnienie systemowe> FROM <u
ż
ytkownik>
Nadawanie uprawnie
ń
szczegółowych
(obiektowych)
GRANT <uprawnienie obiektowe> ON <obiekt>
TO <u
ż
ytkownik> [WITH GRANT OPTION]
uprawnienia obiektowe:
select [(<lista kolumn>)]
insert
delete
alter
index
update [(<lista kolumn>)]
Nadawanie uprawnie
ń
szczegółowych
(obiektowych) – c. d.
GRANT <uprawnienie obiektowe> ON <obiekt>
TO <u
ż
ytkownik> [WITH GRANT OPTION]
obiekt:
tablica
perspektywa
Odbieranie uprawnie
ń
szczegółowych
(obiektowych)
REVOKE <uprawnienie obiektowe> ON <obiekt>
FROM <u
ż
ytkownik>
Role
Rola jest nazwanym zbiorem uprawnie
ń
CREATE ROLE <rola>
GRANT <uprawnienie systemowe> TO <rola>
GRANT <uprawnienie obiektowe> ON <obiekt> TO <rola>
GRANT <rola> TO <u
ż
ytkownik>
GRANT <rola1> TO <rola2>
REVOKE <uprawnienie> FROM <rola>
DROP ROLE <rola>
Monitorowanie baz danych – instrukcja
AUDIT
- monitorowanie operacji (polece
ń
),
- monitorowanie obiektów,
- monitorowanie uprawnie
ń
Szyfrowanie w bazach danych
- szyfrowanie haseł,
- szyfrowanie procedur,
- szyfrowanie danych.