Prezentacja programu PowerPoint

advertisement
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
GRANT
GRANT
GRANT
<uprawnienie systemowe> TO <rola>
<uprawnienie obiektowe> ON <obiekt> TO <rola>
<rola> TO <użytkownik>
<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.
Download