Zabezpieczenia baz danych

23
Zabezpieczenia baz danych Literatura Magdalena Kurpiel MAX ELEKTRONIK S.A. Zielona Góra, Wielowarstwowy system bezpieczeństwa w rozwiązaniach bibliotecznych . Strona internetowa Zabezpieczenia na poziomie wierszy i komórek baz danych realizowane przy użyciu SQL Server 2005 . Microsoft, strona internetowa

description

Zabezpieczenia baz danych. Literatura Magdalena Kurpiel M AX ELEKTRONIK S.A. Zielona Góra, Wielowarstwowy system bezpieczeństwa w rozwiązaniach bibliotecznych . Strona internetowa - PowerPoint PPT Presentation

Transcript of Zabezpieczenia baz danych

Page 1: Zabezpieczenia baz danych

Zabezpieczenia baz danych

• Literatura• Magdalena Kurpiel MAX ELEKTRONIK S.A. Zielona Góra, Wielowarstwowy system bezpieczeństwa w rozwiązaniach

bibliotecznych . Strona internetowa• Zabezpieczenia na poziomie wierszy i komórek baz danych realizowane przy użyciu SQL Server 2005 . Microsoft, strona internetowa

Page 2: Zabezpieczenia baz danych

Zabezpieczenia baz danych

Page 3: Zabezpieczenia baz danych

Application Layer  -  This layer is basically concerned with defining the protocols.  Transport Layer  -    This layer is responsible for providing communication session

management between host computers. .Internet Layer - This layer  is basically concerned with the Packaging of data.  Network Interface Layer - This layer is responsible for specifying how the data will

be sent through the network physically. 

Warstwowy model protokołu TCP/IP

 

The Transmission Control Protocol/Internet Protocol (TCP/IP) originated in the 1970’s.  It was initially developed by the Department of Defence (DOD) in an attempt to connect a number of different networks Today however it is more commonly used as a standard communication protocol used in a number of networks  the most common of which is the Internet.

Page 4: Zabezpieczenia baz danych

• Application Layer  -  This layer is basically concerned with defining the protocols.  It consists of application programs and user interfaces. In practice it works by sending an unbroken "data stream" to the Transport layer .  At this stage the stream is broken into packets , each of which is "framed" with a TCP header (which contains the sender's and recipient's addresses and error checking information).  According to writers such as Buchanan it supports a number of protocols such as" SMTP, FTP and Telnet". (Buchanan. W, "Distributed Systems and Networks", McGraw- Hill, 2000)

• Transport Layer  -    This layer is responsible for providing communication session management between host computers.  Generally speaking it defines the level of service and status of the connection used when transporting the data.  The main protocols that are used in this layer include TCP, UDP and RTP.

• Internet Layer - This layer  is basically concerned with the Packaging of data.  Here the data is packaged into IP datagram's. which contain the source and destination address information. This is what is used to forward the datagram's between hosts and across networks and the,  main protocols used in this layer are IP, ICMP, ARP as well as RARP.

• Network Interface Layer - This layer is responsible for specifying how the data will be sent through the network physically.  This includes assessing "how bits are electrically signalled by the hardware devices that interface directly with a network medium" (Croucher P, "Communications and Networks", 1999 British Library publication).  These devices generally include the types of caballing used such as the coaxial cable or the twisted pair copper wire.   Typical examples of protocols used throughout this layer are the "Token Ring", "Ethernet" and FDDI.

Page 5: Zabezpieczenia baz danych

The TCP/IP Network ModelThe TCP/IP protocol suite forms the basis of the Internet. It is the most widely used form of netwroking between coputers. TCP/IP is a combination of protocols at different layers that is designed around simple 4-layer scheme. It combines/splits some adjacent OSI layers, and omits some features. The 4-layer TCP/IP model is also known as the DARPA model, named after the U.S. government agency that initially defeloped TCP/IP.  The 4 layers are as follows:

Layer 1 - LinkThe Link layer defines the device driver and network hardware (network interface

card).Layer 2 - Network

The Network layer handles basic communication, addressing and routing. IP, ICMP, ARP and IGMP protocols are at the network layer. 

Layer 3 - TransportThe Transport layer handles flow of data among applications. It segments data into

packets for transport over the network. TCP and UDP operate at the transport layer.

Layer 4 - ApplicationThe Application layer handles details of the particular end-user applications.

Commonly used TCP/IP applications include Telnet, FTP, SMTP, SNMP, DNS, RIP, NFS, NTP, Traceroute.  

Warstwowy model protokołu TCP/IP – podsumowanie

Page 6: Zabezpieczenia baz danych

JAK HAKERZY WYKORZYSTUJĄ TCP / IP •Ponieważ hakerzy stale skanują adresy IP w Internecie, system może być złamany w ciągu kilku minut od podłączenia się do sieci. •Zanim rozważasz instalowanie serwera do Internet, musisz zabezpieczyć usługi i zastosować najnowsze łaty i poprawki. Jeśli zdarzy się, że hacker zobaczy twój niedawno zbudowany serwer w Internecie, spróbuje ściągnąć roboczą listę dostępów, skryptów i pre-definiowanych istniejących zabezpieczeń w celu znalezienia dziury. Jeżeli spędziłeś czas zabezpieczając i łatając serwer, haker prawdopodobnie nie przeniknie na twój serwer natychmiast. •Inna możliwością jest podstawienie fałszywego pakietu informacji za innych albo wykonywanie ataków, takie jak obronny atak systemowy, przez zalewanie systemu docelowego przytłaczającą ilością pakietów IP, powodujący albo reset systemu, albo zawieszenie podczas trwania ataku. •Trochę bardziej skomplikowany atak, taki jak substytucja danych pakietu, jest daleko więcej złożony i typowy haker nie podejmuje się wyzwania, albo po prostu nie posiada umiejętności, by zorganizować taki atak. •Najczęściej typowe ataki ograniczają się do ogólnie dostępnych metod przynoszących skutek. Jednakże, jeśli haker chce zaatakować albo przeniknąć cel, zwykle zrobi wszystko żeby ten osiągnąć cel.

Ataki w internecie

Page 7: Zabezpieczenia baz danych

Bezpieczeństwo baz danych problemy

Fizyczna ochrona zbiorów przed utratą (kradzież, przegranie, spalenie, zalanie wodą z nieszczelnej instalacji).

Rozwiązania programowe i sprzętowe służące zabezpieczeniu danych w systemach komputerowych (praca na niezawodnym sprzęcie z licencjonowanym niezawodnym oprogramowaniem)

Problemy zabezpieczeń systemów przechowujących pliki baz danych :• integralność - dane nie mogą zostać przypadkowo, bądź złośliwie zmienione

- sprawdzanie, czy informacja nadana i odebrana są identyczne • dostępność - to możliwość korzystania z danych i sprzętu niezależnie od

działań wewnętrznych, bądź zewnętrznych • poufność - ochrona przed niepowołanym dostępem - kodowanie znaków

hasła, możliwość stosowania haseł do systemu, do usług itd.

Page 8: Zabezpieczenia baz danych

Zagrożenia dotyczące informacji

• Zagrożenia losowe (awarie, wypadki, pomyłki)• Zagrożenia świadome (kradzieże)• Nieuprawniony dostęp do danych

Przypadkowe wejście do systemu lub przypadkowe nabycie wyższych uprawnień na skutek błędu systemuUmyślny atak na system, podszycie pod użytkownikaNieuprawniony dostęp z wewnątrz (dla sprawdzenia siebie i systemu)Złośliwy kod napisany specjalnie żeby utrudnić pracę systemu

• Zagrożenia związane z przenikaniem elektromagnetycznym• Zagrożenia związane z jakością oprogramowania i sprzętu

komputerowego

Page 9: Zabezpieczenia baz danych

Formy ataku na system informatyczny

•Maskarada – komputer udaje inny terminal np. w celu zwiększenia uprawnień•Powtórzenia – ponowne przesyłanie tej same informacji celem wywołania efektu zwiększenia swoich uprawnień•Analiza ruchu•Modyfikacja komunikatów – zmiana treści transmitowanych danych w sposób utrudniający wykrycie modyfikacji•Odmowa usługi – likwidacja komunikatów kierowanych do adresata i uniemożliwienie prawidłowego działania systemu•Koń trojański - wprowadzenie do systemu nieuprawnionych funkcji•Potrzask - zainstalowanie ukrytego mechanizmu umożliwiającego uzyskanie efektu na określony rozkaz•Wjazd na barana – wprowadzenie do kanału transmisyjnegtowłasnych danych w czasie trwania seansu łączności•Zaprzeczenia odbioru/nadania wiadomości

Page 10: Zabezpieczenia baz danych

Zarządzanie bezpieczeństwem systemów informatycznych

• Polityka bezpieczeństwa informacji (cele, definicje procedury, obowiązki)• Organizacja bezpieczeństwa (analiza ryzyka, uprawnienia, zakresy

odpowiedzialności, poziom autoryzacji (inna w ministertwie a inna w małej firmie)

• Klasyfikacja i kontrola aktywów( sprzęt, oprogramowanie, informacje, usługi)

• Bezpieczeństwo osobowe – system list referencyjnych, weryfikacja CV, określone cechy charakteru.

• Bezpieczeństwo fizyczne iśrodowiskowe (rejestracja wpółpracowników, przemieszczania nośników z informacjamia, utrzymywanie czystego biurka)

• Zarządzanie systemami i sieciami• Kontrola dostępu do systemu informatycznego• Zgodność z wymaganiami norm –BS7799-2:2002 – Specyfikacja

systemu zarządzania tajnymi informacjami

Page 11: Zabezpieczenia baz danych

Logi systemowe: Jest to swego rodzaju "dziennik pokładowy", który zawiera informacje o akcjach lub operacjach wykonywanych w systemie. Należy dołożyć najwyższych starań, aby pliki z logami były bezpieczne i nikt nie mógł w nie ingerować bez naszej wiedzy. Jest to najważniejsze źródło wiedzy przy włamaniach i wykrywaniu przyszłych włamań.

Bezpieczeństwo sieci: Po pierwsze należy wyłączyć wszystkie niepotrzebne serwisy. Należy przede wszystkim zrezygnować z usług rozpoczynających się na r* (rsh, rexec, rcp, rlogin) - są one bardzo niebezpieczne gdyż dzięki nim łatwo uzyskać dostęp do serwera (np. wpis do pliku .rhosts w postaci "+ +" pozwala wszystkim zdalnym użytkownikom wejść na dane konto bez hasła).

Firewall: w momencie, gdy chcemy udostępnić zasoby wewnętrzne w internecie należy zabezpieczyć serwer za pomocą "ściany ogniowej". W firewallach stosujemy dwa główne sposoby zabezpieczania:

Packet filter (filtr pakietów) - filtruje pakiety we/wy wg odpowiednich reguł. Bierze pod uwagę: źródłowy i docelowy: adres IP i port TCP/UCP

Application gateway (brama aplikacyjna) - do przekazywania albo blokowania usług (przede wszystkim telnet, ftp): najlepszym sposobem jest zablokowanie wszystkich (!) niedozwolonych połączeń z zewnątrz. Można ten system wykorzystać do utworzenia bramki pomiędzy siecią wewnętrzną (intranet), a zewnętrzną (internet)

Bezpieczeństwo baz danych rozwiązania systemowe

Page 12: Zabezpieczenia baz danych

Administracja: • najważniejsze to bezpieczeństwo serwera. Najprostsze zabezpieczenia

wykonuje się przez ustawienie hasła w BIOS-ie.• Należy ustalić wewnętrzne zabezpieczenia, tj. prawa dostępu do plików,

urządzeń. Należy regularnie sprawdzać pliki wykonywalne i sprawdzać, czy nie zostały podmienione.

• Następnym ważnym zadaniem jest ustalenie kont użytkowników. Dostęp do nich jest limitowany przede wszystkim przez system haseł. Proces tworzenia haseł jest jednostronny i nieodwracalny. Zaszyfrowane hasła są przechowywane w na dysku w określonym folderze, który może każdy przeglądnąć. Sposobem na zabezpieczenie się przed tym jest stosowanie systemu shadow, który przenosi zaszyfrowane hasła do /etc/shadow, który może czytać jedynie administrator.

• Przy korzystaniu z terminali zawsze jest możliwość podglądnięcia hasła jeśli jest ono przesyłane w formie jawnej. Aby się przed tym ustrzec jest możliwość łączenia się przez tymczasowy kanał szyfrowany za pomocą pakietu ssh. Jeśli jest niemożliwe korzystanie z szyfrowania transmisji za pomocą ssh, można wprowadzić metodę uwierzytelniania przez S/Key, czyli system haseł jednorazowych, która nawet, gdy hacker podejrzy hasło w formie jawnej zabezpiecza przed włamaniem, ponieważ to hasło nigdy więcej nie zostanie użyte (serwer o nie poprosi).

Bezpieczeństwo baz danych - zalecenia

Page 13: Zabezpieczenia baz danych

System zabezpieczeń dostępu do bazy danych • Cele zabezpieczeń jest uniemożliwienie nieuprawnionemu użytkownikowi

wprowadzenia w systemie i bazie danych żadnych zmian (zastosowano trójstopniowy system zabezpieczeń).

• Mechanizmy umożliwiające robienie kopii danych na nośnikach zewnętrznych: taśmach, CD-ROMach, i innych urządzeniach zewnętrznych, przez co zmniejsza się ryzyko utraty danych w przypadku uszkodzenia dysku (kopia w trybie on-line, całkowita - pełna i przyrostowa - redundantna).

• Zabezpieczenie bazy danych poprzez nadanie uprawnień do zapisu/odczytu danych (zakodowane w bazie danych) na trzech poziomach:

1. Użytkownik mogący tworzyć, modyfikować i usuwać tablice, indeksy i sekwencje; 2.Użytkownik mający uprawnienia do odczytu i zapisu danych w tablicach bazy danych; 3.Użytkownik mający dostęp tylko do odczytu.

Bezpieczeństwo baz danych - zalecenia

Page 14: Zabezpieczenia baz danych

System zabezpieczeń dostępu do bazy danych cd.• Rozbudowany system identyfikatorów i haseł użytkowników aplikacji:

Funkcja ENCODE (); przeprowadza jednostronną operację kodowania. Oznacza to, że nie ma możliwości odwrócenia operacji zakodowania wyrażenia. Daje to możliwość zabezpieczenia dostępu do systemu informatycznego - zakodowując hasło użytkownika systemu i zapisując zakodowane dane do bazy. Weryfikacja hasła polega na zakodowaniu hasła wprowadzanego przez użytkownika i porównanie wyniku z zapisaną informacją w bazie; Brak funkcji dekodującej hasło zabezpiecza użytkowników przed rozszyfrowaniem ich haseł.

• Odseparowanie aplikacji (na jednym serwerze) i bazy danych (na drugim serwerze);

Bezpieczeństwo baz danych - zalecenia

Page 15: Zabezpieczenia baz danych

Użytkownicy i prawa w MySQLSELECT - odczytywanie wierszy tabeliINSERT – dodawanie nowych wierszyUPDATE – zmiana istniejących danychDELETE – usuwanie danych z taneliINDEX – tworzenie i usuwanie indeksówALTER – modyfikowanie strukturyCREATE – tworzenie nowych tabel lub baz danychDROP – usuwanie istniejących tabel lub baz danychRELOAD – zmiany na liście użytkownikówSHUTDOWN – zatrzymywanie serwera MySQLPROCESS – zatrzymywanie procesów MySQLFILE – importowanie danych z plików tekstowychGRANT – tworzenie nowych uzytkownikówREVOKE – unieważnienia uprawnienia użytkowników

Page 16: Zabezpieczenia baz danych

Zarządzanie użytkownikami

Składnia:

GRANT uprawnienia ON baza_danych .* TO nazwa_uzytkownika IDENTIFIED BY ‘hasło’

Tworzenie użytkownika z licznymi uprawnieniami:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON popoq .* TO jarek@localhost IDENTIFIED BY ‘MojeHasło’;

Tworzenie użytkownika z ograniczeniami :

GRANT SELECT ON popoq .* TO jarek@localhost IDENTIFIED BY ‘MojeHasło’

Page 17: Zabezpieczenia baz danych
Page 18: Zabezpieczenia baz danych
Page 19: Zabezpieczenia baz danych
Page 20: Zabezpieczenia baz danych
Page 21: Zabezpieczenia baz danych
Page 22: Zabezpieczenia baz danych

Usuwanie użytkownika:DROP user serwer

drop user jarek@localhost;

Page 23: Zabezpieczenia baz danych