106 Plan prezentacji 107 Zarządzanie kontami użytkowników w i uprawnieniami Schematy a użytkownicy Tworzenie użytkowników, uwierzytelnianie Przywileje systemowe i obiektowe, role Profile kontrola wykorzystania zasobów systemu polityka haseł Obserwacja bazy danych (ang. auditing) Schematy a użytkownicy 108 Administrowanie użytkownikami (EM) 109 Schemat to kolekcja logicznych struktur danych Właścicielem schematu jest użytkownik nazwa użytkownika równa nazwie schematu terminy używane w systemie Oracle zamiennie (w niektórych sytuacjach rozróżnienie jest istotne) Podstawowe obiekty schematów: tabele, indeksy perspektywy, sekwencje, synonimy procedury, funkcje, pakiety Nazwa obiektu schematu musi być unikalna w obrębie schematu: np. HR.EMPLOYEES, HR.DEPARTMENTS, OE.EMPLOYEES Przykładowe obiekty niezawierające się w schemacie: role, profile, przestrzenie tabel
Predefiniowane konta użytkowników 110 Właściwości użytkownika 111 Konta administratorskie SYS administrator b.d., właściciel słownika b.d. (rola DBA, przywilej SYSDBA) SYSTEM administrator b.d. bez prawa zatrzymywania i startowania b.d. (rola DBA) SYSMAN administrator Oracle Enterprise Manager DBSNMP konto dla monitorowania b.d. przez Enterprise Manager Przykładowe schematy do ćwiczeń np. HR, OE, SH wykorzystywane w tutorialach, szkoleniach i przykładach w dokumentacji po instalacji zablokowane Konta wewnętrzne dla różnych funkcji i komponentów serwera (niezbędne, powinny pozostać zablokowane) np. CTXSYS, ORDSYS, OLAPSYS Nazwa Metoda uwierzytelniania Domyślna przestrzeń tabel Tymczasowa przestrzeń tabel Limity miejsca do wykorzystania w poszczególnych przestrzeniach tabel (ang. quotas) Profil Status konta (odblokowane, zablokowane) Tworzenie użytkownika 112 113 Sposoby uwierzytelniania użytkowników Server -> Security -> Users -> Create CREATE USER "TOLA" PROFILE "DEFAULT" IDENTIFIED BY "*******" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK GRANT "CONNECT" TO "TOLA" Password - przez bazę danych (w oparciu o hasło) od 11g hasła wrażliwe na wielkość liter rozróżnianie wielkości liter w haśle zależy od wartości parametru inicjalizacyjnego SEC_CASE_SENSITIVE_LOGON (domyślnie TRUE) External przez system operacyjny nazwa użytkownika w b.d. zbudowana z prefiksu (OS_AUTHENT_PREFIX, domyślnie: OPS$) i nazwy użytkownika w systemie operacyjnym Global przez zewnętrzną usługę uwierzytelniania w ramach Enterprise User Security np. przez Oracle Internet Directory z użytkownikiem związana nazwa X.500 Distinguished Name
Przywileje i role 114 Przywileje systemowe SYSDBA i SYSOPER 115 Służą do kontroli dostępu użytkowników do danych i możliwości wykonywania poleceń SQL Przywileje systemowe dotyczą możliwości wykonywania poszczególnych operacji na bazie danych Przywileje obiektowe możliwość wykonywania konkretnej operacji na konkretnym obiekcie Role nazwane zbiory przywilejów ułatwiają zarządzanie przywilejami użytkowników Umożliwiają logowanie się gdy b.d. jest zamknięta Chęć skorzystania z nich wskazywana przy logowaniu: CONNECT sys AS SYSDBA CONNECT scott AS SYSDBA CONNECT / AS SYSDBA SYSDBA umożliwia startowanie/zatrzymywanie instancji, tworzenie pliku SPFILE, odtwarzanie, tworzenie i usuwanie b.d. logowanie AS SYSDBA loguje do schematu SYS SYS musi logować się jako SYSDBA SYSOPER umożliwia startowanie/zatrzymywanie instancji, tworzenie pliku SPFILE, odtwarzanie (tylko kompletne) logowanie AS SYSOPER loguje do schematu PUBLIC nie umożliwia dostępu do danych użytkowników Uwierzytelnianie administratorów 116 Nadawanie przywilejów systemowych 117 Zazwyczaj przez administratorów b.d. Możliwe uwierzytelnienie przez bazę danych Dodatkowo konieczny mechanizm uwierzytelniania umożliwiający logowanie się użytkowników z przywilejem SYSDBA/SYSOPER gdy baza danych jest zamknięta/niedostępna system operacyjny (przynależność do odpowiedniej grupy) OSDBA plik haseł OSOPER tworzony narzędziem orapwd UNIX dba oper Windows ORA_DBA ORA_OPER tworzony automatycznie przy tworzeniu bazy danych kreatorem sieciowa usługa uwierzytelniania np. Oracle Internet Directory
Nadawanie przywilejów obiektowych 118 Tworzenie ról 119 Właściciel obiektu nadaje i odbiera przywileje poleceniami GRANT i REVOKE Administrator zarządza przywilejami obiektowymi dzięki przywilejowi systemowemu GRANT ANY OBJECT PRIVILEGE Server -> Security -> Roles -> Create GRANT SELECT, UPDATE ON scott.dept TO tola REVOKE SELECT, UPDATE ON scott.dept FROM tola Dla zwiększenia bezpieczeństwa rola może wymagać dodatkowego uwierzytelnienia w momencie jej włączenia przez użytkownika (jeśli nie należy do jego ról domyślnych) Rola może obejmować zarówno przywileje systemowe jak i obiektowe, a także inne role Podstawowe predefiniowane role 120 Nadawanie ról użytkownikom 121 CONNECT umożliwia logowanie się do bazy danych nadawana automatycznie użytkownikom tworzonym w Enterprise Manager RESOURCE umożliwia tworzenie, modyfikację i usuwanie podstawowych typów obiektów schematu (nie zawiera CREATE VIEW) nadaje przywilej UNLIMITED TABLESPACE DBA zawiera wszystkie przywileje systemowe poza specjalnymi SYSDBA i SYSOPER Server -> Security -> Users -> Create/Edit
Profile Profil to nazwany zbiór limitów wykorzystania zasobów bazy danych i instancji W danej chwili użytkownik ma przypisany dokładnie jeden profil Profile umożliwiają: ograniczenie wykorzystania zasobów przez użytkowników implementację polityki haseł Można modyfikować profil DEFAULT i tworzyć dodatkowe 122 Tworzenie profilu ograniczenie wykorzystania zasobów Server -> Security -> Profiles -> Create/Edit 123 Tworzenie profilu polityka haseł 124 Funkcja weryfikująca złożoność hasła 125 Server -> Security -> Profiles -> Create/Edit Musi znajdować się w schemacie SYS Musi mieć odpowiednie parametry i typ zwrotny Przykładową funkcję można utworzyć skryptem ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql (skrypt również modyfikuje profil DEFAULT) CREATE OR REPLACE FUNCTION verify_function_11g (username varchar2, password varchar2, old_password varchar2) RETURN boolean IS... BEGIN... RETURN TRUE; END;
Uwagi o kontroli zużycia zasobów 126 Limity wykorzystania przestrzeni dyskowej 127 Aby limity zużycia zasobów były egzekwowane należy włączyć ograniczanie zużycia zasobów parametrem RESOURCE_LIMIT przed uruchomieniem bazy danych na otwartej bazie danych poleceniem ALTER SYSTEM Ustawienia profilu dotyczące haseł obowiązują niezależnie od wartości parametru RESOURCE_LIMIT Realizowane poprzez limity dla przestrzeni tabel domyślny limit dla przestrzeni tabel to 0 Obserwacja bazy danych (auditing) 128 Ogólne rodzaje obserwacji 129 Polega na monitorowaniu i zapisywaniu informacji o wybranych rodzajach aktywności użytkowników w b.d. Cele stosowania: odpowiedzialność użytkowników za swoje działania zniechęcenie użytkowników do czynienia szkód śledzenie podejrzanych działań użytkowników zbieranie informacji o korzystaniu z systemu weryfikacja poprawności polityki bezpieczeństwa dostosowanie systemu do obowiązujących przepisów Standardowa obserwacja poleceń SQL, przywilejów, schematów, obiektów i aktywności sieciowej zapis do tabeli SYS.AUD$ lub pliku systemu operacyjnego Fine-grained umożliwia precyzyjną konfigurację obserwacji z uwzględnieniem czasu wykonania operacji i konkretnych wartości konfiguracja za pomocą pakietu DBMS_FGA zapis do tabeli SYS.FGA_LOG$ Obserwacja administratorów zapis do do dziennika systemu operacyjnego (syslog, EventLog) Obserwacja obowiązkowa (zawsze realizowana) startup, shutdown, połączenia jako SYSDBA i SYSOPER zapis do dziennika systemu operacyjnego
Konfiguracja standardowej obserwacji Parametr inicjalizacyjny AUDIT_TRAIL DB zapis do tabeli SYS.AUD$ DB, EXTENDED zapis również treści SQL i zmiennych wiązanych OS zapis do pliku systemu operacyjnego do katalogu wskazanego przez AUDIT_FILE_DEST XML zapis do pliku systemu operacyjnego w formacie XML XML, EXTENDED zapis do pliku XML również treści SQL i zmiennych wiązanych NONE obserwacja standardowa wyłączona 130 Ustawienia obserwacji (EM) Server -> Security -> Audit Settings 131 Specyfikacja celu obserwacji standardowej przywileje 132 Specyfikacja celu obserwacji standardowej obiekty 133
Specyfikacja celu obserwacji standardowej polecenia 134 Podgląd dziennika obserwacji Wg przywilejów 135 Wg obiektów 136 Kontrola rozmiaru dziennika obserwacji Włączać obserwację gdy zachodzi taka potrzeba Precyzyjnie ustawiać cele obserwacji Okresowo usuwać wiersze z dziennika obserwacji ewentualnie wcześniej je archiwizując (np. przez przeniesienie informacji do innej tabeli) DELETE FROM sys.aud$