Bezpiecznie z open source

Konsekwentny kierunek w produktach bezpieczeństwa to tworzenie specjalizowanych urządzeń, w których upakowuje się jako bazę znane rozwiązania open source, takie jak Linux, Apache czy My SQL, dodając kombinację narzędzi ochronnych open source i dodatkowe oprogramowanie do zarządzania, czyniąc z tego kompletny produkt. Większość spakowanych urządzeń bezpieczeństwa - od zapór ogniowych po zarządzanie informacją bezpieczeństwa, budowanych jest na tych samych dystrybucjach BSD Unix i Linux, jakie są używane w serwerach aplikacyjnych budowanych we własnym zakresie przez użytkowników.

Bezpłatny czy nie?

Najbardziej popularne produkty bezpieczeństwa open source - skanery wirusów, filtry spamu, silniki IDS/IPS oraz narzędzia zarządzania podatnościami - aby być użytecznymi i na bieżąco z najnowszymi zagrożeniami - wymagają stałego strumienia uaktualnień wewnętrznej bazy danych.

Takie uaktualniane reguły mają różne nazwy, w zależności od produktu, ale różnią się bardzo od uaktualniania oprogramowania. Uaktualnienie reguł dla ClamAV i SpamAssassim jest nadal bezpłatne, przynajmniej na razie. Ponieważ uaktualnienia zabierają sporo czasu projektantom, wiele administratorów sieci komputerowych wzbrania się przed użyciem ClamAV w obawie, że będą one coraz rzadsze i pewnego dnia się skończą.

Sourcefire (projekt Snort IDS) i Tenable Network Security (skaner podatności Nessus) optują za mieszanym podejściem w wydawaniu uaktualnień. Uznając, że główna część wartości tych aplikacji leży w częstym uaktualnianiu reguł, obie firmy uczyniły szybko dostarczane uaktualnienia przedmiotem niewielkiej opłaty subskrypcyjnej. Jeżeli ktoś zechce czekać, to z opóźnieniem może je otrzymać bezpłatnie.

Opłata subskrypcyjna zaspokaja potrzeby tych klientów klasy enterprise, którzy - preferując open source - są gotowi płacić za produkty ochronne i potrzebują uaktualnień na bieżąco. Te pieniądze mogą być też przeznaczone na wynagrodzenie dla osób, które będą dbały o aktualność bazy danych reguł, co jest zadaniem dość niewdzięcznym.

Jak zbudować tani i dobry IDS?

Sieciowe systemy wykrywania intruzów (IDS) są integralnym komponentem warstwowej strategii bezpieczeństwa IT. Komercyjne systemy IDS mogą być bardzo drogie. Z drugiej strony, implementacja darmowego oprogramowania IDS to poważne wyzwanie. Można jednak w stosunkowo krótkim czasie zbudować taki system, opierając się wyłącznie na open source.

Snort i BASE

Do stworzenia efektywnej bazy IDS potrzebne są dwa pakiety - Snort i BASE (Basic Analysis Security Engine). Snort został stworzony w 1998 r. przez Martina Roescha jako darmowa alternatywa dla komercyjnych pakietów IDS. BASE jest zbudowany na podstawie projektu ACID (Analysis Console for Intrusion Databases). Podobnie jak wiele darmowych aplikacji, Snort jest dostępny w formie kodu źródłowego lub instalacyjnego pakietu binarnego dla systemu Linux lub Windows. BASE jest niezależny od systemu operacyjnego - może pracować zarówno na maszynie z zainstalowanym systemem Linux, jak i Windows.

Przygotowanie systemu

Bardzo ważna jest decyzja o umiejscowieniu IDS w sieci. Maszyna IDS musi zostać przyłączona do portu, który widzi cały ruch pomiędzy siecią LAN a internetem. Oznacza to przyłączenie do portu "mirror" przełącznika lub koncentratora. Jeżeli wykorzystujemy zaporę ogniową i tylko jeden sensor IDS, to powinien on zostać umieszczony pomiędzy zaporą ogniową i LAN - dlaczego? Przeważnie alarm określa celowy atak na sieć. Zapora ogniowa może zostać skonfigurowana do odrzucania całego ruchu z atakującego adresu źródłowego. Nie powinniśmy otrzymywać alarmów, jeżeli efektywnie wyeliminujemy zagrożenie blokadą na zaporze.

Wybór typu maszyny z przeznaczeniem na IDS jest zależny od środowiska i analizowanych danych. Od strony sprzętowej jest podyktowany prędkością obsługiwanego połączenia oraz poziomem logowania zdarzeń. Snort-IDS potrafi połączyć jedną lub kilka niezależnych maszyn, które raportują do centralnego serwera baz danych.

Do instalacji systemu Linux pod nasz IDS możemy wykorzystać nawet komputer osobisty, który kilka lat temu został przeznaczony na straty. Parametry sieciowe (adres IP i inne) oraz połączenie sieciowe powinny zostać określone jeszcze przed instalacją systemu.

Potrzeby aplikacji

Snort wykorzystuje mechanizm porównywania pakietów ze znanymi sygnaturami ataków. Dostępne są tysiące takich sygnatur. Warto pomyśleć o Snort jak o inteligentnym snifferze - nieustannie śledzącym przychodzący i wychodzący ruch oraz analizującym - przez porównanie z bazą sygnatur - w czasie rzeczywistym. Ręczna realizacja tego procesu byłaby niemożliwa.

Jeżeli pakiet pasuje do wzorca w wybranej sygnaturze, generowany jest alarm. Analiza alarmów dla dużej ilości danych nie jest łatwym zadaniem, ponieważ wymaga gromadzenia danych i ich prezentacji. Potrzebna jest metoda zbierania i dostarczania grup danych do analizy. Przeważnie będą one gromadzone w bazach danych.

Korzystając z open source, możemy wybrać MySQL jako bazę danych dla aplikacji, ale Microsoft SQL Server czy Oracle mogą wykonywać omawiane zadania z podobnym efektem. Baza danych informacji jest niezbędna do kategoryzacji wiedzy o zagrożeniach. Proces analizy musi odbywać się już w zupełnie inny sposób.

W tym momencie do gry wkracza BASE z panelem użytkownika dostępnym z poziomu interfejsu przeglądarki internetowej, prezentującym dane alarmowe, otrzymywane od Snorta. Dostarcza on także informacji niezbędnych do identyfikacji zagrożeń oraz przejęcia kontroli w celu reakcji. BASE oferuje wiele możliwości agregacji oraz prezentacji danych. Każdy alarm może zostać analizowany indywidualnie lub w ramach grupy.

Pozostałe aplikacje niezbędne do instalacji IDS to serwer WWW Apache, kompilator GCC oraz język skryptowy PHP. Doskonały przewodnik po instalacji systemu IDS Snort/BASE i wszystkich niezbędnych aplikacji jest dostępny na stronie InternetSecurityGuru.com. Interesującą dokumentację oraz forum użytkowników można znaleźć na domowej stronie Snort (www.snort.org).

Idziemy dalej

Zbudowanie funkcjonalnego sensora IDS jest tylko pierwszym krokiem. Gdy już zainstalujemy IDS, administrator powinien spędzić sporo czasu nad rozpracowaniem alarmów i możliwościami systemu.

W miarę ewolucji zagrożeń wzorce muszą podlegać aktualizacji. Snort oferuje subskrypcję usługi dostępu do nowych wzorców za minimalną opłatą lub w postaci darmowego dostępu przez 30 dni dla zarejestrowanych użytkowników. Oinkmaster jest doskonałym narzędziem do regularnej aktualizacji wzorców.

Sygnatury możemy także tworzyć ręcznie lub poprawiając opcje w sygnaturach wskazujących błędne zagrożenia. Określenie, czy alarm jest w rzeczywistości normalnym ruchem czy zagrożeniem, jest niezbędne. Nierozsądne jest wyłączenie sygnatury tylko z powodu dużej liczby generowanych alarmów.

Snort może być wdrożony w centralnie zarządzanym rozproszonym środowisku, w którym wiele sensorów raportuje do pojedynczego serwera baz danych. W dużych sieciach istotne będzie korelowanie zdarzeń oraz proste wyciąganie informacji z wielu punktów sieci jednocześnie. Ciekawym wdrożeniem jest umieszczenie sensorów Snort pomiędzy strefami bezpieczeństwa w sieci lokalnej.

IDS oparty na sygnaturach jest prostym narzędziem udoskonalającym politykę bezpieczeństwa. Jednak oczekiwanie od IDS (lub pojedynczego rozwiązania bezpieczeństwa) eliminacji wszystkich zagrożeń nie jest sposobem na bezpieczeństwo. (kf)


TOP 200