Bezpieczeństwo w systemach komputerowych.doc

(483 KB) Pobierz
AKADEMIA GÓRNICZO-HUTNICZA

 

 

 

 

Bezpieczeństwo w systemach komputerowych

 

 

 

 

 

Wykonał:

Tałanda Jarosław

 

 

Wstęp 4

 

1. Bezpieczeństwo fizyczne

2.1. Umieszczenie serwera i dostęp do niego

2.2. Topologia sieci

2.2.1. Topologia szyny

2.2.2. Topologia pierścienia

2.2.3.Topologia gwiazdy

2.3. Osprzęt sieciowy

2.4. Bezpieczeństwo stacji roboczych

2.5. Bezpieczeństwo związane z modemami

2.6. Identyfikatory i oznaczanie sprzętu

 

3.Instalacja Systemu

3.1. Podział dysku na partycje

3.2. Wybór usług sieciowych

3.3. Programy ładujące system

 

4.Bezpieczeństwo systemu

4.1. Użytkownicy

4.2. Niebezpieczne programy

4.3. Szkodliwe programy

4.3.1. Koń trojański

 

5.Bezpieczeństwo w sieci lokalnej

5.1. Węszyciel

5.2. Skaner

5.2.1. Skaner systemowy

5.2.2. Skaner sieciowy

5.3. Podszywanie

5.3.1. Podszywanie IP

5.3.2. Podszywanie ARP

5.3.3.Podszywanie DNS

 

6.Bezpieczeństwo przesyłanych danych

6.1. SSH i SCP

7.Ataki odmowy obsługi DoS

7.1. Ataki na urządzenia sieciowe

7.2. Ataki na usługi sieciowe

7.3. Ataki na aplikacje

 

8.Firewall'e i proxy serwery

8.1. Firewalle filtrujące

8.1.1. ipachains/ipfwadm

8.2. Serwery proxy

8.2.1. squid

8.2.2. SOCKS

8.3. TCP Wrappers

8.4. Przykłady innych 'ścian ogniowych'

 

 

9.Rejestrowanie i pliki dziennika

9.1. lastlog

9.2. last

9.3. xferlog

9.4. httpd

9.5. Komunikaty jądra systemu

9.6. Inne narzędzia rejestrujące:

 

10. Backup i odzyskiwanie danych 53

10.1. Prosta archiwizacja

10.2. Narzędzie archiwizujące: cpio

10.3. Planowanie archiwizacji: dump

10.4. Odtwarzanie archiwizacji wykonanych przez dump: restore:

10.5. Inne pakiety archiwizujące

 

 

 

 

 

 

 

Wstęp

Początkowo system UNIX miał zastosowanie tylko w specjalistycznych dziedzinach. Używano go głównie na uczelniach, w ośrodkach badawczych, wojskowych, firmach telekomunikacyjnych. Wówczas komputery nie były tak popularne jak dziś a dostęp do nich mieli tylko nieliczni. Szybki rozwój techniki dał ludziom dostęp do coraz mocniejszych
i nowocześniejszych komputerów przy jednoczesnym obniżeniu kosztów produkcji.

Obecnie prawie każdego stać na kilkakrotnie szybszą i wydajniejszą maszynę niż ta, na którą mogła sobie pozwolić duża firma 15 lat temu. Znaczny wzrost liczby posiadaczy komputerów - począwszy od ośrodków badawczych wyposażonych w supernowoczesne maszyny równoległe po użytkowników zwykłych pecetów - wymusił powstanie i szybki rozwój sieci komputerowych, które dają możliwość komunikacji między dwiema odległymi maszynami. Pojawienie się sieci oraz fakt, że z jednego komputera zwykle może korzystać wielu użytkowników pociągnęło za sobą pojawienie się problemu ochrony tak samych komputerów jak i danych przez nie przechowywanych.

Generalnie problem bezpieczeństwa w systemach komputerowych można podzielić na dwa główne aspekty: problem bezpieczeństwa fizycznego i problem systemu wraz
z oprogramowaniem.

Należy zwrócić uwagę na to, że oba te problemy są równie istotne, choć tak w literaturze jak
i praktyce często problem bezpieczeństwa fizycznego jest pomijany.

1. Bezpieczeństwo fizyczne.

Zabezpieczenie fizyczne komputera (czy też serwera) jest istotnym elementem polityki ochrony całego systemu. Źle zabezpieczony system informatyczny można zniszczyć wysyłając exploita z sieci, ale używając młotka bezpośrednio na sprzęcie można poczynić
o wiele większe szkody. Mimo tego, że wiele zagadnień związanych z fizyczną ochroną sprzętu wydaje się oczywistych, użytkownicy notorycznie popełniają wiele prostych błędów.

 

1.1                                      Umieszczenie serwera i dostęp do niego.

Bardzo ważny jest wybór miejsca umieszczenia serwera oraz ograniczenie liczby osób, które mają do niego fizyczny dostęp. Bardzo dobrym tego rozwiązaniem jest umieszczenie maszyny w oddzielnym pomieszczeniu potocznie nazywanym serwerownią, do którego dostęp mają tylko niektóre osoby. Oczywistym jest, że jeśli niepowołane osoby mają z komputerem styczność, nie da się zapewnić choćby minimalnego stopnia bezpieczeństwa. Czymże, bowiem jest zabezpieczenie systemu w postaci kontroli hasłem przy starcie, kiedy każdy może przy pomocy swoich dyskietek startowych uruchomić go w dowolnym trybie.

Umieszczony w oddzielnym pokoju komputer wraz z istotnymi peryferiami łatwiej zabezpieczyć (np. przykręcić do stołu). I nawet ci posiadający odpowiednie uprawnienia powinni podlegać jakiejś autoryzacji - na przykład przy pomocy kart magnetycznych.

Poza tym warto też mieć na uwadze następujące zagadnienia:

·         Obszar wydzielony dla serwerów powinien być umieszczony z dala od dużego ruchu (holi, przejść, korytarzy, itp.). Nie powinien być także widoczny z zewnątrz - posiadać jakichkolwiek okien czy szklanych drzwi.

·         Drzwi do serwerowni powinny być możliwie jak najlepiej wzmocnione, a futryny solidnie umocowane.

·         Warto pomyśleć o zainstalowaniu w serwerowni kamery, co pozwoli na łatwą identyfikację intruzów.

·         Wszystkie nośniki (CD-ROM'y, taśmy do stream'ów, itp.) powinny być przechowywane w innym miejscu.

·         Należy utworzyć regulamin zabraniający zwykłym pracownikom wstępu do serwerowni.

 

1.2 Topologia sieci.

Topologia sieci ma dość istotne znaczenie w kwestii bezpieczeństwa sieci. Odpowiedni dobór może utrudnić potencjalnemu włamywaczowi jej unieruchomienie. Istnieje wiele standardów topologii sieci, ale w sieciach lokalnych są stosowane głównie trzy: szyna, pierścień oraz gwiazda.

 

 

 

1.2.1        Topologia szyny.

W tej topologii pojedyncze łącze (zazwyczaj kabel koncentryczny) obsługuje wszystkie urządzenia sieciowe. Taka sieć jest zupełnie nie odporna na uszkodzenia kabla - jakiekolwiek uszkodzenie medium lub nawet jednej z kart sieciowych użytkowników powoduje unieruchomienie całej sieci.

Dodatkową wadą tego typu sieci jest ograniczenie, które spowodowane jest tym, że w danej chwili szyna pozwala na przeprowadzenie tylko jednej transmisji. Ponadto każda stacja robocza jest w stanie przechwycić transmisję do któregoś ze swoich sąsiadów.

Zaletą sieci o takiej topologii są: prostota w budowie i niskie koszty wykonania.

 

1.2.2        Topologia pierścienia.

W topologii pierścienia także istnieje pojedyncze medium transmisyjne, do którego podłączone są wszystkie urządzenia. Podobnie jak szyna, topologia pierścienia zawiera dwa podstawowe miejsca wystąpienia potencjalnej awarii unieruchamiającej całą sieć: dowolna stacja robocza (w tym również serwer) i kabel. Wszystkie urządzenia w sieci o topologii pierścienia służą za repeatery, więc uszkodzenie któregokolwiek z nich powoduje wspomnianą awarię sieci.

Dodatkowym zagrożeniem jest łatwość przechwycenia transmisji na dowolnym komputerze. Łatwość ta spowodowana jest tym, że istnieje duże prawdopodobieństwo, iż przez dowolny host przechodzić będzie transmisja odbywająca się między dwoma innymi dowolnymi komputerami w pierścieniu.

1.2.3        Topologia gwiazdy.

Sieć zbudowana w topologii gwiazdy jest scentralizowana i tym samym dużo lepsza od szyny czy pierścienia. Wszystkie stacje robocze w danym (być może niewielkim) segmencie są podłączone do jednego urządzenia, co pozwala zarządzać połączeniem każdego komputera z osobna. Sieć o topologii gwiazdy bez problemu przetrwa także uszkodzenie kilku stacji roboczych. Dodatkowo istnieje możliwość podzielenia sieci na segmenty
i izolowania transmisji do poszczególnych komputerów (np. za pomocą routera czy switch'a).

Topologia gwiazdy ma jednak pewne wady. Centralizacja wymusza istnienie krytycznego punktu, którego awaria ma bardzo złe skutki. Jeśli atakujący wyłączy na przykład koncentrator, może odciąć od reszty sieci cały segment.

 

Podczas wybierania odpowiedniej topologii, należy mieć na uwadze następujące zagadnienia:

·         Czy istnieje punkt sieci (serwer, kabel, hub, router), od którego zależy działanie kilku (lub nawet wszystkich) urządzeń ?

·         Jakie jest niebezpieczeństwo przechwycenia danych ? Zawsze możliwość tego typu nadużyć istnieje, choć część topologii jest na to bardziej wrażliwa niż inne.

·         Jaka jest odporność sieci na błędy ? Czy jeśli jedna, dwie lub dziesięć stacji roboczych ulegnie uszkodzeniu, pozostałe będą działały ? Jeśli sieć jest odporna, odpowiedź brzmi: tak.

·         Czy każda stacja robocza będzie miała własne oprogramowanie - czy hosty będą pobierały system z serwera ?

·         Jakie systemy operacyjne będą używane ?

·         Jakie usługi będą dostępne w sieci ?

·         Jaka będzie przepustowość i przewidywane odległości między stacjami roboczymi ?

 

Topologia gwiazdy wydaje się być najlepszym rozwiązaniem. Jeśli jej zastosowanie nie jest

możliwe należy:

·         Wybrać topologię pozwalającą na scentralizowane zarządzanie.

·         Jeśli sieć jest duża warto podzielić ją na segmenty.

·         Sieć ma być zaprojektowana tak, by była odporna na usterki.

·         Użytkownicy powinni być w miarę możliwości jak najściślej izolowani od fizycznej strony sieci. W ich świadomości powinny istnieć tylko gniazdka lub końcówki, pozwalające podłączyć komputer.

·         Okablowanie należy ukryć (najlepiej w ścianach pod tynkiem).

·         Jeśli to tylko możliwe należy wykorzystać sprzęt i oprogramowanie obsługujące szyfrowanie.

 

1.3    Osprzęt sieciowy.

Wszelkie peryferia sieciowe, jak routery, koncentratory, itp. również muszą być odpowiednio zabezpieczone. Ataki na sprzęt są dużo groźniejsze niż na oprogramowanie.
O ile awaria pojedynczego komputera może nie być zauważona przez resztę sieci, awaria rutera może w całości ją unieruchomić.

Zazwyczaj udane ataki na sprzęt sieciowy wynikają z prostych błędów wynikających
z zaniedbania administratorów. Wielu z nich zapomina o włączenia kodowania podczas konfiguracji zdalnej albo o zmianie domyślnych haseł. Defaultowe hasła urządzeń sieciowych to podstawowa ściągawka hakera. Oprócz zmiany hasła należy, podobnie jak serwer, odizolować rutery od ogólnego dostępu. Duża część z nich pozwala na ominięcie hasła
w przypadku dostępu fizycznego (choćby przycisk resetujący NVRAM).

 

1.4 Bezpieczeństwo stacji roboczych.

Przy bezpieczeństwie stacji roboczych ważna jest kontrola dostępu i zabezpieczenie przed kradzieżą. Kontrola dostępu może być wspomagana poprzez hasła BIOS'u i konsoli. Hasła BIOS'u ograniczają możliwość zmiany ustawień komputera, a hasła konsoli zabezpieczają tryb jednoużytkownikowy. Zabezpieczenie BIOS'u hasłem jest tylko minimalną przeszkodą, ponieważ atakujący może jest ominąć wyjmując baterię z płyty głównej lub (w większości nowoczesnych płyt) ustawić odpowiednią zworkę powodując wyczyszczenie pamięci CMOS. Poza tym czasami działają standardowe hasła BIOS'u: BIOS, bios, biosstar, CMOS, cmos, condo, djonet, SETUP i setup oraz kombinacje klawiszy: F1, F3, CTRL+F1, CTRL+F3, STRL+SHIFT+ESC, DEL, CTRL+ALT+INS i CTRL+ALT+S. Do znalezienia hasła BIOS'u można użyć także jednego z narzędzi do manipulacji BIOS'em, np.: M!BIOS, AMIDECOD, AMI Password Viewer, AW.COM.

 

Nieco inną strategią jest użycie urządzeń kontrolujących dostęp według biologicznej charakterystyki użytkownika, czyli:

·         zapachu ciała,

·         wyglądu twarzy,

·         odcisków palców,

·         siatkówki lub tęczówki oka,

·         głosu.

Zabezpieczenia tego rodzaju są bardzo wiarygodne, ale posiadają jedno podstawowe ograniczenie: nie można ich w żaden sposób zastosować do autoryzacji zdalnego użytkownika.

Należy też w takim przypadku pamiętać o ochronie danych osobowych i prywatności. Dowiedziono, że obraz siatkówki zawiera wiele danych o zdrowiu człowieka - mogą w nim być zapisane nawet ślady zażywania narkotyków lub AIDS.

Przykłady urządzeń biometrycznych (używanych nie koniecznie do autoryzacji):

o        Biomouse - myszka produkcji firmy American Biometric - odczytuje odciski palców używajacego jej użytkownika; http://www.biomouse.com/

o        IrisScan - system autoryzacji biometrycznej na podstawie wzoru tęczówki; wymaga serwera WinNT; http://www.iriscan.com/

o        SecureStart/ISA - system odczytu odcisków palców firmy I/O Software pozwalający zidentyfikować użytkownika jeszcze przed uruchomieniem systemu; http://www.iosoftware.com.bioapps/ssisa.htm

o        VerVoice - system identyfikujący użytkowników według ich głosu; http://www.verivoice.com/

 

1.5 Bezpieczeństwo związane z modemami.

Obecność modemów często obniża bezpieczeństwo sieci lokalnej, zwłaszcza, jeśli pozwalają na wdzwanianie do systemu. Jeśli sieć jest nie wielka, to wiadomo, kto korzysta
z modemu i łatwiej je kontrolować. Jeśli modemy są niezbędne w do pracy warto rozważyć możliwość utworzenia osobnej sieci do pracy z modemami lub wyznaczyć kilka stacji do tego celu, które zostaną odcięte od sieci lokalnej.

 

1.6 Identyfikatory i oznaczanie sprzętu.

Należy także podjąć działania pozwalające zidentyfikować sprzęt po jego kradzieży.
Co roku giną dziesiątki tysięcy komputerów a większość ich użytkowników nie zapisuje nawet numerów seryjnych komponentów. Oprócz dokładnej inwentaryzacji sprzętu warto posłużyć się dodatkowo technikami pozwalającymi zidentyfikować sprzęt bez rozkręcania obudowy, np. poprzez oznaczenia niezmywalną farbą, farbą fluoroscencyjną czy reagującą na ultrafiolet.

Istotnym przy tym jest, że pewne 'zalety' sprzętu mogą naruszyć naszą prywatność. Teoretycznie nieodczytywalny bez zgody posiadacza numer seryjny procesora Intel Pentium III, który pozwala na zdalna identyfikację, w kilka tygodni po jego ukazaniu się na rynku został zdalnie odczytany przez niemieckich hakerów (mimo wyłączonej opcji jego udostępniania).

Więcej:

·         Jak rozpracowano numer seryjny PIII: http://www.heise.de/ct/english/99/05/news1/

·         The Big Brother Inside Home Page: http://www.privacy.org/bigrotherinside/

 

2. Instalacja Systemu.

Aby ochrona działającego systemu i sieci była skuteczna, niezwykle istotnym jest rozpocząć działania zabezpieczające już podczas instalacji systemu. Najważniejsze punkty instalacji systemu to:

·         podział na partycje dysku twardego, na którym będzie się znajdował nasz system,

·         wybór usług sieciowych,

·         instalacja programów ładujących system (ang. boot loaders).

 

2.1 Podział dysku na partycje.

Podział dysku na partycje ma na celu przede wszystkim zwiększenie kontroli położenia danych i zmniejszenie ryzyka związanego z utratą danych w przypadku uszkodzenia jednej z partycji.

Podział dysku na partycje ułatwia utrzymanie na nim porządku: można oddzielić pliki wymiany od pozostałych plików. Podział na partycje oczywiście umożliwia również posiadanie wielu systemów operacyjnych na jednym nośniku. System typu Unix posiad szerokie możliwości korzystania z partycji innych typów niż typ jemu dedykowany (np. HPFS, DOS/WINDOWS16/32, Novell NetWare, Minix, itp. - łącznie około ponad 80 typów). Listę typów obsługiwanych przez Linuxa możemy oglądnąć w programie cfdisk, opcja Type. Takich możliwości z pewnością nie udostępniają systemy Windows i podobne.

Nigdy nie powinno się umieszczać katalogu głównego i katalogów użytkowników na tej samej partycji. Takie rozwiązanie zwiększa szansę na wykorzystanie przez intruza programów typu SUID i kontroli nad krytycznymi zasobami systemu (o programach typu SUID mowa będzie w dalszej części niniejszego opracowania). Katalogi (a w zasadzie partycje, na których te katalogi się znajdują) z głównego drzewa, które w szczególności nie powinny mieć możliwości uruchamiania programów z bitem SUID (zwłaszcza, gdy ich właścicielem jest root): /home, /tmp, /var i wszystkie montowane urządzenia w /mnt. Jeśli rozmieszczamy w mniej standardowy sposób aplikacje w systemie, to sytuacja może wyg...

Zgłoś jeśli naruszono regulamin