Zabezpieczenia w systemach linux.pdf

(567 KB) Pobierz
Tytu³ pracy
Zabezpieczenia w systemach Linux
Autorzy: Krzysztof Majka, Mirosław Mika IVFDS
1
STRESZCZENIE
Problemem tej pracy było pokazanie w jaki sposób można skonfigurować zaporę sieciową na
systemie operacyjnym Linux. Pierwszy rozdział przedstawia istotę potencjalnych ataków
zagrażających bezpieczeństwu komputera jak również charakteryzuje najważniejsze typy
ataków. W kolejnych rozdziałach przedstawiony został schemat organizacji zapory sieciowej i
proces jej budowania. Na końcu tej pracy zostały przedstawione dwa przykłady konfiguracji
firewall-a dla różnych topologii sieci.
Politechnika Rzeszowska im. Ignacego Łukasiewicza
Zakład Systemów Rozproszonych
Rzeszów 2002
2
SPIS TREŚCI
Politechnika Rzeszowska im. Ignacego Łukasiewicza
Zakład Systemów Rozproszonych
Rzeszów 2002
3
1. WSTĘP
Zabezpieczanie systemu musi prowadzić do zmniejszania ryzyka nieupoważnionego
zmieniania danych, czy to przesyłania przez sieć czy to składowanych w naszym systemie.
Najważniejsze metody ataku i sposoby zabezpieczania się przed nimi:
Nieautoryzowany dostęp
Oznacza po prostu, że ludzie, którzy nie powinni korzystać z usług oferowanych przez
komputer, są w stanie się do niego podłączyć i z nich korzystać. Na przykład ludzie spoza
firmy mogą połączyć się z komputerem obsługującym księgowość firmy lub z serwerem NFS.
Istnieją różne sposoby uniknięcia tego ataku. Trzeba precyzyjnie określić, kto może mieć
dostęp do danych usług. Można zabronić dostępu do sieci wszystkim poza wyznaczonymi
osobami.
Wykorzystanie znanych dziur w programach
Wtedy kiedy powstały niektóre programy i usługi sieciowe, nie uwzględniano jeszcze
rygorystycznych zasad bezpieczeństwa. Te właśnie są z natury bardziej podatne na zagrożenia.
Usługi zdalne BSD (rlogin, rexec itp.) są tu doskonałym przykładem. Najlepszym sposobem na
zabezpieczenie się przed tego typu atakiem jest wyłączenie wszelkich podatnych usług lub
znalezienie alternatywy. W przypadku Open Source czasem jest możliwe załatanie dziury w
programie.
Odmowa obsługi
Ataki typu odmowa obsługi powodują, że usługa lub program przestają działać lub nie
pozwalają innym z siebie korzystać. Może to być spowodowane wysyłaniem w warstwie
sieciowej starannie przygotowanych, złośliwych datagramów, które powodują awarie połączeń
sieciowych. Ataki mogą być realizowane w warstwie aplikacji, gdzie starannie przygotowane
polecenia aplikacji podane programowi powodują, że staje się on zajęty lub przestaje działać.
Uniemożliwienie podejrzanym pakietom sieciowym dotarcie do hosta oraz zapobiegnięcie
uruchamianiu podejrzanych poleceń i żądań są najlepszymi sposobami na zminimalizowania
ryzyka ataku odmowy obsługi.
Podszywanie się
Ten typ ataku powoduje, że host lub aplikacja naśladują działanie innego. Zwykle atakujący
udaje niewinny host, przesyłając sfałszowany adres IP w pakietach sieciowych. Na przykład
dobrze udokumentowany sposób wykorzystania usługi rlogin BSD stosuje te metodę do
udawania połączeń TCP z innego hosta. Robi to, odgadując numery kolejnych pakietów TCP.
Aby zabezpieczyć się przed tego typu atakiem, należy weryfikować wiarygodność datagramów
i poleceń. Wyłączyć możliwość rutowania datagramów o złym adresie źródłowym.
Wprowadzić nieprzewidywalność do mechanizmów kontroli połączenia, na przykład
stosowanie kolejnych numerów TCP lub alokację dynamicznych adresów portów.
Podsłuchiwania
Jest to najprostszy typ ataku. Host jest skonfigurowany na „słuchanie” i zbieranie danych nie
należących do niego. Dobrze napisane programy podsłuchujące mogą odczytać z połączeń
sieciowych nazwy użytkowników i hasła. Sieci rozgłoszeniowe, takie jak Ethernet, są
szczególnie podatne na tego typu atak.
Firewalle IP są bardzo użyteczne; są w stanie zapobiec nieautoryzowanym dostępom,
odmowom obsługi w warstwie sieciowej i atakom przez podszywanie się lub znacznie
zmniejszyć ryzyko ich wystąpienia. Niezbyt dobrze zabezpieczają przed wykorzystywaniem
Politechnika Rzeszowska im. Ignacego Łukasiewicza
Zakład Systemów Rozproszonych
Rzeszów 2002
[2]
4
dziur w usługach sieciowych czy programach oraz nie zapobiegają podsłuchiwaniu.
Zapora sieciowa (ang. Firewall ) to konstrukcja zapewniająca kontrolowane połączenie
pomiędzy siecią prywatną a Internetem (siecią publiczną). Dostarcza ona mechanizmu kontroli
ilości i rodzaju ruchu sieciowego między obydwoma sieciami. Zapory sieciowe to narzędzia o
dużych możliwościach, ale nie powinno się ich używać zamiast innych środków
bezpieczeństwa, lecz obok nich.
Podstawowe funkcje, które powinna spełniać zapora sieciowa to:
- zapewnienia „bezpiecznego” dostępu do Internetu użytkownikom sieci prywatnej,
- zapewnienie zasobów ochrony sieci prywatnej przed atakami z zewnątrz,
Oprócz tych dwóch podstawowych funkcji można jeszcze wyszczególnić kilka
dodatkowych, które z powodzeniem może realizować zapora sieciowa:
- blokowaniedostępu do określonych miejsc w Internecie, blokowanie (całkowite
lub częściowe) dostępu do Internetu określonym użytkownikom,
- monitorowanie komunikacji pomiędzy siecią prywatną a Internetem,
- rejestrowaniecałości lub określonej części ruchu międzysieciowego,
- tworzenie prywatnych sieci wirtualnych (VPN) pomiędzy oddziałami organizacji
[1]
2. SCHEMAT ORGANIZACJI ZAPORY SIECIOWEJ
Na konstrukcję zaporę sieciowej zwykle składają się filtry pakietów oraz serwery proxy.
Podstawowym zadaniem zapory jest ograniczenie przepływu danych między sieciami. Przed
postawieniem zapory trzeba określić, jakie rodzaje danych mają być przez nie przepuszczane, a
jakie nie. Czyli trzeba zdefiniować politykę zapory . Następnie należy skonstruować
mechanizmy, które umożliwią wprowadzenie tej polityki.
Filtry pakietów to urządzenia przechwytujące każdy transmitowany pakiet danych i
dopuszczające lub blokujące przesłanie tego pakietu do adresata. Decyzja o przesłaniu jest
podejmowana na podstawie atrybutów rozpatrywanego pakietu. Są to m.in. adres źródłowy,
adres docelowy, typ protokołu, port źródłowy, port docelowy, zawartość.
W praktyce funkcjonują dwie podstawowe strategie konfiguracji filtrów pakietów -domyślne
przepuszczanie oraz domyślne powstrzymanie. Pierwsza polega na blokowaniu tylko
niektórych portów, protokołów czy adresów. Stosowana jest więc zasada: wszystko, co nie jest
zabronione jest dozwolone. Druga strategia polega na odblokowaniu tylko niektórych portów,
protokołów czy adresów. Obowiązuje więc zasada: wszystko, co nie jest dozwolone jest
zabronione.
Serwer proxy to pakiety programowe służące do pośredniczenia w ruchu sieciowym
pomiędzy siecią prywatną a Internetem. Użytkownik sieci prywatnej, który chciałby skorzystać
z usługi udostępnianej na serwerze w Internecie, rejestruje się najpierw w aplikacji serwera
proxy. Zadaniem tego serwera jest uwierzytelnienie użytkownika i po stwierdzeniu, że ma on
odpowiednie prawa, zezwolenie na skorzystanie z usługi w Internecie. Przy połączeniach z
sieci zewnętrznej postępowanie jest podobne. Ponieważ serwer proxy działa na poziomie
aplikacji, więc każdy typ aplikacji wymaga oddzielnego serwera. Taki zestaw serwerów proxy
nazywamy bramą aplikacyjną.
Przez połączenie filtrów pakietów i serwerów proxy , oraz ich odpowiednie osadzenie na
platformach sprzętowych, można uzyskać różne konfiguracje zapór sieciowych. Najbardziej
popularne są w tej chwili cztery konfiguracje:
Politechnika Rzeszowska im. Ignacego Łukasiewicza
Zakład Systemów Rozproszonych
Rzeszów 2002
 
Zgłoś jeśli naruszono regulamin