42, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta


Rozdział 42.
Bezpieczeństwo w sieci


Tim Parker

W tym rozdziale:

Omówienie wszystkich zagadnień związanych z bezpieczeństwem systemów zajęłoby kilka tomów, z konieczności więc omówimy tylko te najprostsze. Przyjrzymy się najbardziej podstawowym mechanizmom zabezpieczania się przed włamaniami poprzez łącza telefoniczne i niektórym aspektom zabezpieczeń w sieci lokalnej. Nie będziemy omawiać skomplikowanych rozwiązań, które są trudne do wprowadzenia i wymagają specjalistycznej wiedzy, a ponadto mogą być zastosowane tylko w niektórych systemach.

Zamiast tego przyjrzymy się podstawowym metodom zabezpieczania systemu, które są zarówno proste, jak i skuteczne. Wielu administratorów albo nie wie, co można zrobić, aby zabezpieczyć się przed włamaniem, albo też lekceważy taką możliwość. Włamania są jednak wyjątkowo częste, więc nie warto igrać z ogniem.

Słabe hasła

Może się to wydawać nieprawdopodobne, ale najczęściej intruzi dostają się do systemów (obojętne czy przez sieć lokalną, czy połączenie modemowe), wykorzystując słabe - czyli łatwe do odgadnięcia - hasła użytkowników. Jeśli użytkownicy stosują słabe hasła, nawet najlepszy system zabezpieczeń nie może zabezpieczyć przed włamaniem.

Jeśli zarządzasz systemem, w którym jest kilku użytkowników, powinieneś wymagać od nich zmiany hasła co pewien czas (na przykład co sześć czy osiem tygodni). Najlepsze hasła składają się z kombinacji cyfr i liter, których nie można znaleźć w żadnym słowniku.

Czasem zmiana haseł nie wystarcza - powinieneś wtedy rozważyć użycie jednego z programów komercyjnych lub dostępnych na licencji public domain, wymuszających użycie mocnych haseł. Pakiety takie zwykle rozprowadzane są w postaci kodu źródłowego, przed użyciem konieczne jest więc ich skompilowanie.

Bezpieczeństwo plików

Dbałość o bezpieczeństwo systemu powinna zaczynać się już na poziomie praw dostępu do plików, które powinny być ustawiane bardzo uważnie. Jeśli chcesz zabezpieczyć nowe pliki przed niepowołanymi osobami, ustaw odpowiednią wartość zmiennej umask.

Oczywiście kwestie bezpieczeństwa plików mają znaczenie tylko wtedy, gdy z systemu korzysta jeszcze ktoś oprócz Ciebie. Jeśli tak jest, warto pomyśleć nad globalnym ustawieniem wartości tej zmiennej dla wszystkich użytkowników, zapewniając, że nowe pliki będą miały przypisane prawa dostępu nadające ich właścicielom i nikomu innemu prawo do odczytu i zapisu. To w zasadzie wszystko, co można zrobić dla zabezpieczenia plików.

Szczególnie ważne pliki (na przykład zawierające dane o pracownikach) warto dodatkowo zabezpieczyć za pomocą jakiegoś programu szyfrującego - dostępnych jest wiele tego rodzaju aplikacji. W większości z nich do kodowania i dekodowania używa się tego samego hasła

Dostęp przez modem

Dla większości użytkowników Linuxa problem zabezpieczania się przed włamaniem poprzez bramkę internetową nie jest szczególnie istotny z prostego powodu - nie posiadają oni bezpośredniego połączenia z Internetem. Trzeba jednak pomyśleć o zabezpieczeniu się przed włamaniami przez modem.

Modemy są najczęściej używanym „oknem na świat” w systemach linuxowych. Za ich pośrednictwem można używać systemu z komputera zdalnego, uzyskać dostęp do Internetu itp. Zabezpieczenie linii używanych przez modem jest prostą i efektywną metodą powstrzymania przypadkowych szperaczy.

Modemy oddzwaniające

Najbezpieczniejszą techniką kontrolowania dostępu do modemu jest użycie modemów oddzwaniających (ang. callback modems). Modemy tego typu pozwalają użytkownikowi połączyć się w zwykły sposób, następnie przerywają połączenie, wyszukują w bazie danych numer telefonu użytkownika, który chciał się zalogować, i same nawiązują połączenie. Największą wadą takiego rozwiązania są wysokie koszty, dlatego nie jest ono stosowane zbyt często.

Dodatkowe problemy pojawiają się, gdy użytkownicy często zmieniają miejsce, z którego dzwonią, co wiąże się ze zmianą numeru telefonu. Modemy oddzwaniające dają się również oszukać za pomocą przekazywania rozmowy - rozwiązania oferowanego przez wiele nowocześniejszych aparatów telefonicznych.

Problemy z modemami

Typowy modem telefoniczny może być źródłem problemów, jeśli nie kończy prawidłowo połączenia (nie odwiesza słuchawki po zakończeniu sesji). Wynika to często ze złej konfiguracji modemu lub niewłaściwego podłączenia.

Problemy powodowane przez nieprawidłowe podłączenie modemu mogą wydawać się banalne, ale w wielu systemach połączenia montowane na własną rękę nie zapewniają prawidłowej kontroli nad linią i możliwe jest pozostawienie nie zakończonego połączenia. Wtedy następny dzwoniący kontynuuje sesję poprzedniego użytkownika.

Aby zabezpieczyć się przed tego typu problemami, wymień wszystkie robione ręcznie połączenia na okablowanie pochodzące od pewnego producenta. Warto również kilka czy kilkanaście razy sprawdzić, czy po zakończeniu sesji połączenie jest prawidłowo przerywane.

Problem ten może być również spowodowany nieprawidłową konfiguracją oprogramowania. Sprawdź w dokumentacji modemu, czy Twój skrypt potrafi odwiesić słuchawkę po zakończeniu sesji i przy zerwaniu połączenia. Problem ten rzadko występuje w przypadku popularnych modemów, ale mając jakiś mniej znany model warto się upewnić, czy nie będzie on powodował problemów, sprawdzając, czy po zakończeniu połączenia linia jest zwalniana.

Bardzo skuteczną metodą zapobiegania włamaniom przez modem jest po prostu odłączanie go w czasie, kiedy nie jest potrzebny. Ponieważ włamania zwykle mają miejsce po normalnych godzinach pracy systemów, można po prostu wyłączać modem na noc. Można również użyć pliku crontab do czasowego wyłączania portu szeregowego, do którego podłączony jest modem.

W wielu systemach wyłączanie modemu nie jest praktycznym rozwiązaniem, ale często warto je rozważyć. Jeśli dostęp w godzinach nocnych jest konieczny, można na przykład pozostawić jeden modem załączony, wyłączając pozostałe. W większych systemach zwykle liczba modemów działających po godzinach pracy jest znacznie mniejsza, niż pracujących normalnie.

Jak modem obsługuje połączenie

Aby użytkownik mógł otrzymać dostęp do systemu linuxowego przez modem, w systemie musi działać proces getty. Jest on uruchamiany przez proces init dla każdego portu szeregowego. Proces getty jest odpowiedzialny za pobranie identyfikatora użytkownika, ustalenie parametrów transmisji (na przykład typu terminalu i prędkości przesyłu danych) oraz obserwowanie, czy czas oczekiwania na odpowiedź nie został przekroczony. W systemie Linux porty szeregowe i porty kart multiport kontrolowane są przez plik /etc/ttys.

W niektórych systemach możliwe jest założenie dodatkowego hasła, wymaganego do połączeń modemowych. Użytkownik łączący się za pośrednictwem modemu będzie musiał wprowadzić dwa hasła. Jeśli hasło do połączeń modemowych jest obsługiwane, ustawia się je w pliku /etc/dialups.

W systemach linuxowych w pliku /etc/dialups przechowywana jest lista portów wymagających podania hasła, natomiast same hasła przechowywane są w innym pliku (na przykład /etc/d_passwd). Podobne rozwiązanie można również zastosować do połączeń UUCP.

UUCP

Przy projektowaniu systemu UUCP brano pod uwagę problemy bezpieczeństwa, ale było to wiele lat temu - od tego czasu wymagania stawiane tego typu systemom zmieniły się bardzo znacznie. Znaleziono również sporo luk w bezpieczeństwie stwarzanych przez ten system, choć większość z nich została naprawiona poprzez modyfikacje w kodzie źródłowym. System UUCP nadal wymaga, by poświęcić nieco uwagi prawidłowej konfiguracji - wtedy będzie działał poprawnie i bezpiecznie.

Jeśli nie zamierzasz używać UUCP, usuń z pliku /etc/passwd użytkownika uucp (lub przynajmniej zablokuj logowanie dopisując gwiazdkę na początku hasła). Usunięcie użytkownika uucp nie zakłóci w żaden sposób działania systemu, o ile nie jest używany protokół UUCP.

Wszystkim katalogom i plikom systemu UUCP powinny być przypisane tak ograniczone prawa dostępu, jak to tylko możliwe (zwykle są to katalogi /usr/lib/uucp, /usr/ spool/uucp i /usr/spool/uucppublic). Odpowiednie prawa możesz ustalić za pomocą poleceń chown, chmod i chgrp. Właścicielem tych katalogów powinien być użytkownik uucp, grupa uucp. Warto również regularnie sprawdzać, czy wszystkie pliki mają przypisane prawidłowe prawa dostępu.

To, czy dany system ma prawo korzystać z protokołu UUCP, ustalane jest na podstawie zawartości kilku plików. Pliki te (na przykład /usr/lib/uucp/Systems i /usr/lib/ uucp/Permissions) powinny być również własnością użytkownika uucp i tylko on powinien mieć do nich dostęp. To zabezpieczy przed ich modyfikacją przez niepowołane osoby.

Katalog /usr/spool/uucppublic często jest celem włamań, ponieważ każdy łączący się system ma w nim prawo zapisu i odczytu. Pewnym zabezpieczeniem może być utworzenie dwóch podkatalogów: jednego do odbierania, a drugiego do nadawania plików. Można również utworzyć osobny podkatalog dla każdego systemu łączącego się za pośrednictwem UUCP.

Dostęp poprzez sieć lokalną

Choć sieci lokalne rzadko stanowią zagrożenie same w sobie (ponieważ zwykle korzystają z nich zaufane osoby), są jednak jednym z najłatwiejszych sposobów na włamanie się do systemu. Najpoważniejszy problem polega na tym, że jeśli choć jedna maszyna ma jakieś słabe punkty (jeśli chodzi o zabezpieczenia), to żaden inny komputer w sieci nie jest bezpieczny. Z tego powodu każde zabezpieczenie powinno działać na wszystkich bez wyjątku komputerach w sieci.

Idealny system bezpieczeństwa w sieci lokalnej wymusza zastosowanie odpowiednich procedur uwierzytelniania dla każdego połączenia. Niestety, takie rozwiązanie może powodować konflikty z wieloma istniejącymi programami i rozwiązaniami systemowymi. Dlatego w Linuxie istnieje pojęcie komputera zaufanego (ang. trusted host). Taki komputer może połączyć się z systemem bez żadnych problemów, pod warunkiem, że jego nazwa znajduje się w odpowiednim pliku - w większości przypadków nie jest wymagane nawet hasło! Wszystko, co musi zrobić włamywacz, to poznać nazwę komputera zaufanego i połączyć się, podając taką nazwę. Sprawdź więc dokładnie zawartość plików /etc/hosts.equiv, /etc/hosts i .rhosts.

Jednym z rozwiązań jest używany ostatnio dość powszechnie system Kreberos, opracowany przez MIT. Kreberos wprowadza pojęcie komputera bardzo bezpiecznego (ang. very secure host), który działa jako serwer uwierzytelniający połączenia. Szyfrowanie przesyłanych wiadomości zabezpiecza również przed odczytywaniem ich nagłówków przez włamywaczy. System Kreberos uwierzytelnia wszystkie wiadomości przesyłane w obrębie sieci.

Ze względu na naturę większości sieci, systemy linuxowe są narażone na ataki intruzów posiadających dużą wiedzę o systemie. Znane są dosłownie setki problemów stwarzanych przez oprogramowanie TCP/IP. Jako pierwszy krok w zabezpieczaniu systemu powinieneś więc wyłączyć wszystkie te usługi i protokoły, których nie wykorzystujesz, ponieważ ktoś może użyć ich do włamania się do systemu.

Śledzenie intruza

Większość włamań dokonywanych jest przez ludzi ciekawych, jakiego typu dane przechowywane są w systemie, ale nie mających na celu dokonania zniszczeń. Często włamują się do systemu co jakiś czas, rozglądają się, grają w jakieś gry i wylogowują się niczego nie zmieniając. Z tego powodu trudno zauważyć, że ktoś się włamał - wówczas zdany jesteś tylko na łaskawość intruza. Może nie przyjdzie mu do głowy niczego niszczyć. Czasem również system może być wykorzystywany jako odskocznia przy atakowaniu innego - wtedy administrator tego systemu stwierdzi, że włamanie nastąpiło z Twojego komputera i możesz mieć kłopoty.

„Śledzić” użytkowników systemu możesz włączając proces rejestrujący dane użytkownika za każdym razem, gdy łączy się on i rozłącza z systemem, nazywany procesem audytu (ang. auditing) lub procesem monitorowania połączeń. Nie we wszystkich wersjach Linuxa proces taki jest dostępny. Dokładniejszych informacji szukaj na stronach man.

Jeśli proces audytu działa w Twoim systemie, powinieneś często przeglądać generowany plik. Dobrze jest również napisać prosty skrypt wyświetlający podsumowanie, zawierające dane o tym, kto ile czasu był podłączony do systemu, w jakich godzinach itp. To może pozwolić Ci wyłapać wszelkie anomalie czy zauważyć coś, co nie zgadza się z Twoimi informacjami (na przykład logowanie się po godzinach pracy itp.). Taki skrypt możesz z łatwością napisać na przykład w języku gawk. Dostępne są również gotowe programy do tego celu.

Przygotowywanie się na najgorsze

Załóżmy, że ktoś się włamuje. Co możesz zrobić w takim przypadku? Oczywiście kopii zapasowych nie da się przecenić - pomogą Ci one odzyskać wszystkie usunięte czy uszkodzone pliki. Ale poza tym, co jeszcze można zrobić?

Po pierwsze, powinieneś dowiedzieć się, w jaki sposób dokonano włamania i zabezpieczyć tę drogę tak, by włamanie nie mogło się już powtórzyć. Jeśli nie jesteś pewny, wyłącz wszystkie modemy i terminale i uważnie sprawdź wszystkie pliki konfiguracyjne, szukając nieprawidłowych danych. Gdzieś musi być błąd, ponieważ inaczej nie byłoby włamania. Sprawdź również hasła i listę użytkowników - być może zapomniałeś usunąć jakieś konto, które dawno już nie powinno istnieć.

Jeśli jesteś ofiarą powtarzających się ataków, spróbuj załączyć system monitorowania połączeń. Być może dzięki temu będziesz mógł wyśledzić, jaką drogą nieproszony gość dostaje się do systemu i co w nim robi.

Powinieneś również mieć świadomość, że włamania są nielegalne - w ostateczności możesz więc skontaktować się z organami ścigania.

Podsumowanie

Przestrzegając kilku podanych wyżej prostych zasad, powinieneś uchronić się przed „zwykłymi” hakerami. Niestety, nie wystarczą one, by zabezpieczyć się przed najlepszymi - im nie przeszkadzają nawet wojskowe systemy ochrony. Wprowadzając opisane wcześniej zabezpieczenia, na pewno nie wyrządzisz żadnych szkód w systemie, więc warto wprowadzić je w każdym systemie połączonym z innymi systemami za pomocą modemu lub sieci lokalnej.

Konfiguracja sieciowego systemu plików (NFS) opisana jest w rozdziale 43. „NFS”.

Metody tworzenia kopii zapasowych omawia rozdział 45. „Kopie zapasowe”.

Problematykę związaną z konfigurowaniem systemu tak, by mógł on działać jak serwer WWW, podejmuje rozdział 47. „Konfiguracja węzła internetowego”.

Rozdział 57. „Dostosowywanie jądra systemu” przedstawia metody wprowadzania zmian do jądra systemu.

662 Część VI Linux dla administratorów

662 E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\42.DOC

E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\42.DOC 663

Rozdzia³ 42. Bezpieczeństwo w sieci 663



Wyszukiwarka

Podobne podstrony:
43, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
34, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
58, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
26, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
08, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
10, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
57, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
29, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
46, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
60, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
36, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
49, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
62, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
D, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
55, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
28, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
61, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
03, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
31, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta

więcej podobnych podstron