080 ARCHITEKTURA I BEZPIECZEŃSTWO. Prof. dr hab. Marek Wisła

Podobne dokumenty
Bazy danych 2. Wykład 1

Szczegółowy opis przedmiotu zamówienia:

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

POLITYKA E-BEZPIECZEŃSTWA

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

ZAŁĄCZNIK NR 1 DO REGULAMINU SERWISU ZNANEEKSPERTKI.PL POLITYKA OCHRONY PRYWATNOŚCI

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

SZKOLENIE: Administrator baz danych. Cel szkolenia

DOKUMENTACJA ADMINISTRATORA SYSTEMU INFORMATYCZNEGO POLSKI FADN

Polityka Bezpieczeństwa ochrony danych osobowych

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Zdalne logowanie do serwerów

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

WorkshopIT Komputer narzędziem w rękach prawnika

INFORMATYKA Pytania ogólne na egzamin dyplomowy

SET (Secure Electronic Transaction)

12. Wirtualne sieci prywatne (VPN)

ZiMSK. Konsola, TELNET, SSH 1

System Kancelaris. Zdalny dostęp do danych

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Mechanizmy dostępu do bazy danych Palladion / Ulisses. I. Uwierzytelnianie i przyznawanie uprawnień dostępu do aplikacji Palladion

Zarządzanie dokumentacją techniczną. Wykł. 11 Zarządzania przepływem informacji w przedsiębiorstwie. Zabezpieczenia dokumentacji technicznej.

Wybrane działy Informatyki Stosowanej

11. Autoryzacja użytkowników

Sieciowa instalacja Sekafi 3 SQL

Audyt zasobów sprzętowych i systemowych (za pomocą dostępnych apletów Windows oraz narzędzi specjalnych)

Uprawnienia, role, synonimy

Protokoły zdalnego logowania Telnet i SSH

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

ActiveXperts SMS Messaging Server

OPIS i SPECYFIKACJA TECHNICZNA

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Zakres wymagań dotyczących Dokumentacji Systemu

Wzorcowy załącznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomiędzy Firmą A oraz Firmą B

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

7. zainstalowane oprogramowanie zarządzane stacje robocze

POLITYKA PRYWATNOŚCI

Fundacja Ośrodka KARTA z siedzibą w Warszawie, przy ul. Narbutta 29 ( Warszawa),

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

POLITYKA BEZPIECZEŃSTWA w zakresie ochrony danych osobowych w ramach serwisu zgloszenia24.pl

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

Świadczenie usługi hurtowej wysyłki wiadomości SMS dla Urzędu Miasta Torunia w latach

1 Wprowadzenie do J2EE

Instrukcja zarządzania systemem informatycznym STORK Szymon Małachowski

PRACA INŻYNIERSKA IMPLEMENTACJA MOBILNEGO KLIENTA BANKU ZABEZPIECZONEGO TOKENEM

Dokumentacja aplikacji Szachy online

2) stosowane metody i środki uwierzytelnienia oraz procedury związane z ich zarządzaniem i użytkowaniem,

BEZPIECZEŃSTWO SYSTEMÓW BAZODANOWYCH DOSTĘPNYCH PRZEZ INTERNET

Prawa dostępu do serwera. Nadawanie i odbieranie uprawnień DCL. Użytkownicy a role

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Referat pracy dyplomowej

!!!!!! FUDO% Architektura%Bezpieczeństwa! % % Warszawa,%28:04:2014%

Win Admin Replikator Instrukcja Obsługi

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok

Dane osobowe: Co identyfikuje? Zgoda

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Galileo - encyklopedia internetowa Plan testów

Serock warsztaty epuap 28 październik 2009 r. Sławomir Chyliński Andrzej Nowicki WOI-TBD Szczecin

Program szkolenia: Bezpieczny kod - podstawy

Regulamin. 1 Postanowienia ogólne. 2 Definicje

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych w Urzędzie Miasta Lublin

Bezpieczeństwo usług oraz informacje o certyfikatach

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

ABC bezpieczeństwa danych osobowych przetwarzanych przy użyciu systemów informatycznych (cz. 9)

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Pojęcie bazy danych. Funkcje i możliwości.

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

System DiLO. Opis interfejsu dostępowego v. 2.0

Narzędzia umożliwiające tworzenie scentralizowanej polityki prowadzenia backupów. Paweł Płoskonka IS2, P2

Szczegółowe informacje dotyczące przekazywania do Bankowego Funduszu Gwarancyjnego informacji kanałem teletransmisji

1. WYMAGANIA TECHNICZNE

RODO a programy Matsol

Win Admin Replikator Instrukcja Obsługi

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Instrukcja zarządzania RODO. w Liceum Ogólnokształcącym im. Komisji Edukacji Narodowej w Gogolinie

Pojęcie systemu baz danych

Polityka bezpieczeństwa danych osobowych przetwarzanych w ramach Programu BIOsfera BIODERMA

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

1 Definicje. 2 Zawieranie i rozwiązywanie umowy o świadczenie usług drogą elektroniczną

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

(argument dla męskiej m. ęści populacji)

SZCZEGÓŁOWA INSTRUKCJA ZARZADZANIA SYSTEMEM INFORMATYCZNYM W ZESPOLE SZKÓŁ PONADGIMNAZJALNYCH W DRAWSKU POMORSKIM

Transkrypt:

080 ARCHITEKTURA I BEZPIECZEŃSTWO Prof. dr hab. Marek Wisła

Systemy bazodanowe Ogólny podział systemów bazodanowych wyróżnia: Systemy scentralizowane: duże systemy komputerowe (np. typu mainframe), w których z systemem zarządzania bazą danych zintegrowano aplikacje bazodanowe, obsługujące za pośrednictwem terminali wielu użytkowników, małe (biurkowe) systemy (pojedynczy komputer PC zwykle bez dostępu do sieci), przeznaczone do współpracy z jednym użytkownikiem. Systemy wielowarstwowe: systemy dwuwarstwowe (klient serwer), systemy trójwarstwowe (klient serwer aplikacji serwer bazy danych), internetowe systemy wielowarstwowe (przeglądarka serwer WWW serwer aplikacji serwer bazy danych).

Architektura klient - serwer Architektura klient-serwer obejmuje serwer bazy danych (zazwyczaj wykorzystujący język SQL) oraz szereg stacji roboczych, na których są wykonywane aplikacje klienckie.

Architektura klient - serwer Aplikacja kliencka: obsługuje komunikację z użytkownikiem (interfejs użytkownika), wysyła do serwera zlecenia wykonania operacji na danych (w postaci instrukcji w języku SQL) (tzw. cienki klient), odbiera dane z serwera i ewentualne dalej je przetwarza (tzw. gruby klient) albo zleca przetwarzanie serwerowi w postaci tzw. procedur pamiętanych.

Architektura klient - serwer Serwer bazy danych: odbiera zlecenia operacji na danych (w języku SQL) i kontroluje uprawnienia użytkownika do wykonania tych zleceń, analizuje zlecenia i je optymalizuje, wykonuje operacje na bazie danych w trybie realizacji transakcji, kontroluje integralność bazy danych, wysyła odpowiedzi do aplikacji klienckiej.

Architektura trójwarstwowa Aplikacja kliencka: obsługa komunikacji z użytkownikiem (w tym prezentacje wyników przetwarzania danych) Serwer aplikacji: przejmuje na siebie całe przetwarzanie danych (tzw. logika aplikacji) obsługuje komunikację ze stacjami klienckimi, odciążając w tym zakresie serwer bazy danych może wspierać serwer bazy danych w zakresie zarządzania transakcjami

Architektura trójwarstwowa Serwer bazy danych: odbiera zlecenia operacji na danych (w języku SQL) i kontroluje uprawnienia użytkownika do wykonania tych zleceń, analizuje zlecenia i je optymalizuje, wykonuje operacje na bazie danych w trybie realizacji transakcji, kontroluje integralność bazy danych.

Internetowy system wielowarstwowy Radykalnym uproszczeniem problemu zarządzanie wersjami aplikacji instalowanych na bardzo dużej liczbie stacji klienckich (dziesiątki, setki) jest wykorzystanie technologii i metodologii internetowych do budowy wielowarstwowego systemu bazodanowego.

Internetowy system wielowarstwowy Przeglądarka: prezentuje strony internetowe (zapisane w języku HTML) umożliwia przesłanie do serwera informacji wprowadzonych przez klienta. Serwer WWW: odbiera zgłoszenia od przeglądarki i odsyła do przeglądarki żądaną stronę kieruje stosowne żądanie do serwera aplikacji, następnie odbiera od tego serwera zapis strony (kod HTML), ewentualnie ostatecznie formatuje tę stronę i wysyła ją do przeglądarki

Internetowy system wielowarstwowy Serwer aplikacji: na żądanie serwera WWW generuje zapis strony w języku HTML, komunikuje się z bazą danych: przesyła do niej zapytania SQL, odbiera wyniki, w razie potrzeby przetwarza je i formatuje w języku HTML oraz udostępnia serwerowi WWW (część skryptową zajmuje się przetwarzaniem skryptów i generowaniem stron HTML, część aplikacyjna, w której jest implementowana logika biznesowa aplikacji oraz współpraca z bazą danych). Serwer bazy danych: realizuje poprzednio określone funkcje, wykonuje otrzymane zapytania w języku SQL.

Technologie - Interfejsy CGI (Common Gateway Interface) to historyczny już właściwie sposób rozszerzenia funkcjonalności serwera WWW o możliwość automatycznego generowania stron na żądanie użytkownika. PHP (PHP Hypertext Preprocessor) - bardzo popularne rozwiązanie dla prostych serwisów internetowych, pozwala na generowanie stron HTML. ASP (Active Server Pages) (Microsoft), to środowisko skryptów po stronie serwera służące do tworzenia dynamicznych i interakcyjnych stron WWW. Dokumenty ASP są plikami tekstowymi, które zawierają zarówno treść strony w postaci znaczników HTML jak i skrypty odpowiedzialne za zmiany wyglądu tejże strony. W momencie żądania klienta skrypty ASP są interpretowane i wykonywane bezpośrednio przez serwer internetowy, który następnie generuje kod HTML przesyłany przeglądarce.

Technologie Połączenia aplikacji internetowej z bazą danych jest możliwe dzięki technologii ADO (ActiveX Data Objects), dzięki której dostęp do danych jest wyjątkowo łatwy i efektywny poprzez obiektową strukturę biblioteki.

Technologie Serwlety to programy napisane w języku Java i wykonywane po stronie serwera, przetwarzają zapytania i generują strony WWW. Programy te z reguły wykonywane są jako odpowiedź na wysłanie formularza ze strony klienta i zajmują się weryfikowaniem poprawności oraz przetwarzaniem przesłanych danych. W przypadku aplikacji bazodanowych z dostępem do WWW, szczególnie interesujący jest interfejs JDBC zapewniający jednolity dostęp do różnych baz danych.

Technologie Java Server Pages (JSP) umożliwiają połączenie statycznego języka HTML z kodem dynamicznie generowanym za pomocą języka Java. JSP działa w sposób bardzo zbliżony do technologii Active Server Pages oraz PHP. Enterprise Java Beans (EJB) pozwalają zakodować logikę biznesową aplikacji. EJB działają na serwerze aplikacji i komunikują się z platformą serwera WWW.

Bezpieczeństwo systemu komputerowego Brak jednoznacznej definicji pojęcia bezpieczeństwa systemu komputerowego. Według Simsona Garfinkela ( Practical UNIX and Internet Security ): System komputerowy jest bezpieczny, jeżeli jego użytkownik może na nim polegać, a zainstalowane oprogramowanie działa zgodnie ze swoją specyfikacją. Zatem: System można uznać za bezpieczny, jeśli można od niego oczekiwać, że wprowadzone na stałe dane nie zostaną utracone, nie ulegną zniekształceniu i nie zostaną pozyskane przez nikogo nieuprawnionego.

Zagrożenia bezpieczeństwa baz danych Bazy danych mogą być narażone na wiele rodzajów zagrożeń. Do najważniejszych z nich zaliczamy: nielegalny odczyt danych przez nieuprawnionych użytkowników utrata poufności, niepoprawne operacje modyfikacji danych utrata integralności, które mogą być skutkiem: umyślnego działania nieuprawnionych użytkowników, przypadkowych pomyłek użytkowników, braku właściwej kontroli przy współbieżnym dostępie do danych wielu użytkowników, błędów oprogramowania lub awarii systemów komputerowych, zniszczenie danych utrata dostępności, w przypadku poważnych awarii sprzętu komputerowego.

Mechanizmy ochrony baz danych Kontrola dostępu - uwierzytelnianie i autoryzacja użytkowników. Kontrola integralności danych: integralność semantyczna - definiuje poprawny stan baz danych pomiędzy kolejnymi operacjami na bazie, chroni przed błędnymi modyfikacjami danych, integralność transakcyjna - chroni spójność bazy danych w warunkach współbieżnie realizowanych operacji na bazie przez wielu użytkowników, a także w przypadku błędów oprogramowania i awarii sprzętowych. Kontrola wnioskowania - związana jest z bezpieczeństwem danych statystycznych, powinien być zapewniony brak dostępu do danych o pojedynczych obiektach, nie może istnieć możliwość wywnioskowania takich danych. Kontrola przepływu i monitorowanie operacji na bazie danych zabezpiecza przepływ danych przed przechwyceniem ich przez nieuprawnione osoby. Szyfrowanie zawartości bazy danych (przesyłanie i przechowywanie).

Uwierzytelnianie Uwierzytelnianie (autentykacja) jest procesem identyfikacji użytkownika w systemie komputerowym, a następnie weryfikacji jego tożsamości, np. na podstawie tego, co wie (identyfikator, hasło) lub tego, co ma (elektroniczna karta identyfikacyjna, linie papilarne itp.). Uwierzytelnianie może odbywać się w każdej warstwie wielowarstwowego systemu bazodanowego: użytkownikowi musi zostać założone konto (możliwość rozróżnienia użytkowników, np. poprzez identyfikator (login) z hasłem (password), system przechowuje hasła w postaci zaszyfrowanej, podczas każdego logowania do systemu hasło wprowadzone przez użytkownika jest szyfrowane i porównywane z zaszyfrowanym wzorcem, system powinien przechowywać historię operacji wykonywanych przez użytkownika (można do tego wykorzystać dziennik transakcji).

Typy uwierzytelniania MS-SQL Server Uwierzytelnianie zintegrowane z MS Windows (Windows Authentication) Uwierzytelnianie odbywa się poprzez grupy użytkowników i zabezpieczeń programu Microsoft Windows Server (DOMENA\użytkownik i DOMENA\grupa użytkowników). Podczas logowania do Serwera SQL użytkownicy domeny są automatycznie uwierzytelniani na podstawie ich identyfikatorów i grup użytkowników, do których należą. Uwierzytelnianie na poziomie serwera SQL (SQL Authentication) Uwierzytelnianie poprzez identyfikator (login) i hasło (password) zapisane na serwerze SQL.

Hasła Hasło może zostać złamane, odgadnięte, podejrzane, przechwycone, wyjawione celowo lub przypadkowo, zatem: długość hasła powinna wynosić co najmniej sześć znaków (366 możliwości) należy usunąć z systemu konta niewykorzystywane, można usunąć konto Gość, o ile nie jest ono wykorzystywane, hasło powinno być okresowo zmieniane należy unikać wprowadzania haseł słownikowych (login, imię, imię żony lub psa, marka własnego samochodu, prosta sekwencja klawiszy np. 123456), należy ograniczyć ilość nieudanych prób logowania w połączeniu z czasową blokadą konta, należy stosować odpowiednio silne algorytmy kryptograficzne.

Autoryzacja Autoryzacja to proces nadawania użytkownikowi określonych uprawnień, w tym przypadku uprawnień dotyczących dostępu do bazy danych i operacji na bazie. Autoryzacja może odbywać się również w każdej warstwie wielowarstwowego systemu bazodanowego: model zaufanego podsystemu - autoryzacja użytkownika przeprowadzana jest w warstwie pośredniej, model personifikacji/delegowania - żądania klientów zgłaszane do serwera WWW lub serwera aplikacji, są kierowane do bazy danych, autoryzacja użytkowników następuje w samym serwerze bazy danych.

Model zaufanego podsystemu Serwer bazy danych nie widzi indywidualnych użytkowników, realizuje tylko polecenia podsystemu autoryzującego, przedstawiającego się ustalonym identyfikatorem. Identyfikator ma przypisaną w bazie danych określoną rolę, związaną z pewnym zbiorem uprawnień. Możliwe jest wyróżnienie wielu ról, przypisanych identyfikatorom reprezentującym różne grupy użytkowników.

Model zaufanego podsystemu Zalety: duża skalowalność, uproszczenie administrowania bazą danych, uniemożliwienie użytkownikom bezpośredniego dostępu do bazy danych, kontrola żądań użytkowników, zapewnia większe bezpieczeństwo. Wady: ograniczenie prowadzenie monitorowania przez serwer bazy danych, wzrost ryzyka narażenia na niebezpieczeństwo serwera bazy danych ze strony nieuprawnionego użytkownika, który zdobył określoną rolę.

Model personifikacji/delegowania Żądania klientów zgłaszane do serwera WWW lub serwera aplikacji, są kierowane dalej do bazy danych wraz z identyfikatorami tych klientów. Autoryzacja użytkowników następuje w serwerze bazy danych. Zalety: możliwość prowadzenia w serwerze bazy danych monitorowania działań użytkowników, serwer bazy danych potrafi zidentyfikować poszczególnych użytkowników. Wady: ograniczona skalowalność, serwer bazy danych może być przeciążony obsługą indywidualnych połączeń wielu użytkowników.

Modele bezpieczeństwa Uznaniowy model bezpieczeństwa - dla każdego podmiotu (użytkownika) definiuje się reguły dostępu określające uprawnienia podmiotu do obiektów systemu, istnieje możliwość nadawania przez określonego użytkownika posiadanych przez niego uprawnień innym użytkownikom. Obowiązkowy model bezpieczeństwa - wymusza obowiązkową kontrolę dostępu do danych, realizowaną według ścisłej, hierarchicznej klasyfikacji podmiotów (użytkowników) i obiektów bazy danych. W większości przypadków uprawnienia nie są nadawane bezpośrednio kontom użytkowników, ale rolom. Wyróżnia się trzy typy ról standardowych: predefiniowane role serwera, np. sysadmin, predefiniowane role bazy danych, np. db_owner, db_user, tworzone przez użytkownika role bazy danych, np. klient, sprzedawca.

Kategorie uprawnień Uprawnienie systemowe, o charakterze ogólnym, odnoszące się do całej bazy danych (wszystkich jej obiektów). Uprawnienie szczegółowe (obiektowe), definiujące prawo do wykonywania określonej operacji na określonym obiekcie bazy danych, wiąże się z przyznaniem danemu użytkownikowi prawa wykonywania określonej operacji języka SQL (SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER) na określonym obiekcie (tablicy lub widoku) jest realizowane podobnie we wszystkich systemach baz danych, poleceniem GRANT, jest możliwe przekazanie użytkownikowi prawa do przekazania nadanych mu uprawnień innym użytkownikom - opcja WITH GRANT OPTION, jest możliwe jawne zabronienie określonych uprawnień użytkownikowi (DENY) oraz usunięcie wcześniej nadanych uprawnień (REVOKE).

Rola aplikacji Szczególnym typem uprawnień systemowych jest rola aplikacji. Role aplikacji grupują prawa, niezbędne do prawidłowego działania określonej aplikacji na bazie danych. Schemat działania: uruchomienie aplikacji przez użytkownika, uwierzytelnienie aplikacji na serwerze SQL (konto uwierzytelniające może być wspólne dla wszystkich użytkowników i nie mieć nadanych żadnych praw), autoryzacja (uruchomienie) roli aplikacji (nazwa roli, hasło) i za jej pomocą uzyskanie dostępu (nawet na poziomie administracyjnym) do wskazanej (jednej) bazy danych. Odpowiedzialność za dostęp do danych i ich bezpieczeństwo ponoszona jest całkowicie przez aplikację.

Dodatkowe mechanizmy kontroli i zabezpieczeń Widoki (perspektywy, VIEWS) - pozwalają tworzyć wirtualne tablice udostępniające użytkownikowi fragmenty zasobów jednej lub wielu tablic rzeczywistych, w formie prostej lub przetworzonej, użytkownikom można przydzielać prawa dostępu do widoków, a dodatkową korzyścią jest ukrycie przed użytkownikami często skomplikowanej lub poufnej struktury tabel. Limity zasobów (profile użytkowników ) - dodatkowe ograniczenia dotyczące zasobów systemowych, kontrolowane przez SZBD. Monitorowanie bazy danych - obserwacja i rejestrowanie informacji o działaniach użytkowników, np. śledzenie wykorzystania uprawnień systemowych przez wskazanych użytkowników lub monitorowanie wykonania wskazanych operacji SQL na wskazanych obiektach. Szyfrowanie - szyfrowane mogą być hasła użytkowników, procedury składowane i funkcje oraz dane zgromadzone w bazie.

Bezpieczna komunikacja Komunikacja w Internecie może być w całości podsłuchana, zarejestrowana, przechwycona lub sfałszowana. Protokoły SSL (Secure Socket Layer) i TLS (Transport Layer Security): identyfikacja serwera, potwierdzenie tożsamości serwera, identyfikacja klienta (opcjonalna), weryfikację klienta przez serwer, ochrona transmisji przed podsłuchem, cała komunikacja jest szyfrowana, ochrona transmisji przed modyfikacją, szyfrowanie kluczami symetrycznymi i asymetrycznymi (klucz prywatny/publiczny) o długościach 128 bitów (i dłuższymi, np. 2048 bitów), wykorzystanie funkcji skrótu (haszujących).

Bezpieczna komunikacja Protokół IPSec: weryfikacja nadawcy, ochrona danych przed podsłuchem i modyfikacją, zarządzanie kluczami kryptograficznymi, możliwość stworzenia bezpiecznego kanału, komunikacyjnego w trybie tunelowym stosowanym do utworzenia wirtualnych sieci prywatnych (VPN) pomiędzy dwoma sieciami.

Architektura IPSec Protokół IKE (Internet Key Exchange) służy do uwierzytelniania, dystrybucji (symetrycznych) kluczy szyfrujących i parametrów tuneli (kanałów) służących do: przesyłania informacji z hosta A do B, przesyłania informacji z hosta B do A. Do wymiany danych między dwoma hostami można wykorzystać protokół ESP (wtedy każdy kanał będzie wymagał dwóch kluczy kryptograficznych - jednego do szyfrowania danych, drugiego do ochrony integralności i uwierzytelnienia) lub protokół AH (tylko klucze uwierzytelniające). W najbardziej złożonym przypadku do pełnej komunikacji wykorzystywane są cztery klucze szyfrujące: szyfrujący dla kanału z A do B, uwierzytelniający dla kanału z A do B, szyfrujący dla kanału z B do A, uwierzytelniający dla kanału z B do A.

Awarie sprzętowe Awarie sprzętowe można podzielić na: awarie komputerów drobne i pojedyncze awarie podzespołów komputerowych takich jak płyty główne, procesory, pamięci operacyjne lub monitory (najczęściej spotykane uszkodzenia), awarie nośników uszkodzenia dotyczące nośników danych: dysków twardych, dysków optycznych, taśm, są szczególnie niebezpieczne, gdyż mogą wiązać się z trwałą utratą danych, awarie sieci komputerowych awarie sieci mogą obejmować fizyczne zniszczenie okablowania sieciowego, skutkują brakiem dostępu do systemów bazodanowych, zdarzenia losowe w centrum danych zdarzenia obejmujące największe zagrożenia takie jak pożar, trzęsienia ziemi czy kradzież.

Dziennik transakcji Wszystkie transakcje od momentu wydania pierwszej instrukcji wchodzącej w ich skład zapisywane są w dzienniku transakcji (LOG file). Jest to plik znajdujący się w pamięci stałej (w MS SQL Server -.LDF). Poszczególnym transakcjom zostaje nadany kolejny numer odzwierciedlający kolejność rozpoczęcia kolejnych transakcji. Same strony danych, które zawierają wartości odczytane lub zmodyfikowane przez instrukcje nie są natychmiast zapisywane na dysku, ale trzymane w buforze. W ten sposób zmniejsza się liczba operacji wejścia-wyjścia, a w przypadku nagłej awarii serwera, dane mogą zostać odtworzone na podstawie wpisów z dziennika transakcji. Współdziałanie bufora danych, bazy danych i pliku logu pozwala na poprawną implementację procedur odtwarzania spójnego stanu bazy danych po awarii.

Algorytm UNDO/REDO Algorytm UNDO/REDO opisuje proces przetwarzania transakcji z uwzględnieniem możliwości odtworzenia bazy danych w przypadku awarii. Odtwarzanie bazy danych następuje w chwili restartu systemu po jego awarii. UNDO - oznacza przywrócenie poprzednich (zatwierdzonych) wartości tym danym, które były zmieniane przez transakcje przerwane przed ich zatwierdzeniem. Może się zdarzyć, że blok danych z bufora został zapamiętany w bazie danych w momencie, gdy transakcja zapisująca w nim dane nie została jeszcze zatwierdzona W przypadku awarii należy więc te zmiany wycofać.

Algorytm UNDO/REDO REDO - oznacza ponowne wykonanie operacji aktualizacji danych wykonanych przez transakcje zatwierdzone. Może się zdarzyć, że mimo iż transakcja została zatwierdzona, to wykonane przez nią zmiany nie zostały jeszcze zrzucone z bufora do bazy danych. W przypadku awarii nastąpi więc strata efektów pracy transakcji. Należy zatem odzyskać dane korzystając z wpisów do dziennika transakcji.

Inne środki bezpieczeństwa Checkpoint Migawkowe zdjęcie stanu przetwarzania (trwałych i nietrwałych obiektów, stanu sterowania, itd.) stosowane w niektórych systemach celem powrotu do poprzedniego stanu, o ile programista/użytkownik tego sobie zażyczył. Punkt na osi czasu, od którego i do którego są realizowane procedury UNDO i REDO. Punkty kontrolne są tworzone w trakcie działania systemu bazy danych i ograniczają konieczność przetwarzania całego pliku logu w procedurze odtwarzania.

Inne środki bezpieczeństwa Back up Cykliczne przegrywanie zawartości bazy danych lub jej najważniejszych fragmentów na inny nośnik (najczęściej taśmę magnetyczną). Cykl: co 30 min (banki), na koniec dnia (instytucje), co tydzień, itp. Replication Zdublowanie informacji na fizycznie i geograficznie oddzielonych nośnikach, celem zwiększenia niezawodności i zmniejszenia kosztów transmisji.

Polityka bezpieczeństwa informacji Polityka bezpieczeństwa informacji to dokument określający: jakie informacje są przetwarzane, jakie informacje są chronione oraz jakie są zagrożenia utraty i wykradzenia danych jakie nakłady na zabezpieczenie danych są niezbędne oraz jaki jest koszt utraty informacji - kto i do jakich informacji powinien mieć dostęp kto jest odpowiedzialny za zarządzanie informacją i jej gromadzenie w jaki sposób przechowywane są kopie zapasowe danych jakie procedury są przewidziane na wypadek utraty danych. Dokument taki powinien mieć charakter formalny i stanowić podstawę do opracowania procedur bezpieczeństwa.