Wykrywanie włamań w sieci jest ważne dla bezpieczeństwa IT. Intrusion Detection System służy do wykrywania nielegalnych i złośliwych prób w sieci. Snort jest dobrze znanym systemem wykrywania włamań typu open source. Interfejs webowy (Snorby) może być wykorzystany do lepszej analizy alarmów. Snort może być używany jako system zapobiegania włamaniom wraz z firewallem iptables/pf. W tym artykule zainstalujemy i skonfigurujemy open source’owy system IDS snort.
Instalacja snorta
Wymagania wstępne
Biblioteka akwizycji danych (DAQ) jest używana przez snorta do abstrakcyjnych wywołań do bibliotek przechwytywania pakietów. Jest ona dostępna na stronie snorta. Proces pobierania jest pokazany na poniższym zrzucie ekranu.
Wyciągnij ją i uruchom polecenia ./configure, make i make install dla instalacji DAQ. Jednak DAQ wymaga innych narzędzi, dlatego skrypt ./configure wygeneruje następujące błędy .
błąd flex i bison
błąd libcap.
W związku z tym przed instalacją DAQ należy najpierw zainstalować flex/bison i libcap, co pokazano na rysunku.
Instalacja biblioteki programistycznej libpcap jest pokazana poniżej
Po zainstalowaniu niezbędnych narzędzi, ponownie uruchom skrypt ./configure, który pokaże następujące dane wyjściowe.
wyniki poleceń make i make install są pokazane na poniższych ekranach.
Po udanej instalacji DAQ, teraz zainstalujemy snort. Pobieranie przy użyciu wget jest pokazane na poniższym rysunku.
Wyodrębnij skompresowany pakiet używając poniższych komend.
#tar -xvzf snort-2.9.7.3.tar.gz
Utwórz katalog instalacyjny i ustaw parametr prefix w skrypcie configure. Zalecane jest również włączenie flagi sourcefire dla Packet Performance Monitoring (PPM).
#mkdir /usr/local/snort#./configure --prefix=/usr/local/snort/ --enable-sourcefire
Skrypt konfiguracyjny generuje błąd z powodu braku bibliotek programistycznych libpcre-dev , libdumbnet-dev i zlib.
błąd spowodowany brakiem biblioteki libpcre.
błąd spowodowany brakiem biblioteki dnet (libdumbnet).
skrypt konfiguracyjny generuje błąd spowodowany brakiem biblioteki zlib.
Instalacja wszystkich wymaganych bibliotek programistycznych jest pokazana na następnych zrzutach ekranu.
# aptitude install libpcre3-dev
# aptitude install libdumbnet-dev
# aptitude install zlib1g-dev
Po zainstalowaniu powyższych wymaganych bibliotek dla snorta, ponownie uruchom skrypty konfiguracyjne bez żadnego błędu.
Uruchom komendy make & make install dla kompilacji i instalacji snorta w katalogu /usr/local/snort.
#make
#make install
Wreszcie snort działa z katalogu /usr/local/snort/bin. Obecnie jest w trybie promisc (tryb zrzutu pakietów) całego ruchu na interfejsie eth0.
Zrzut ruchu przez interfejs snorta jest pokazany na poniższym rysunku.
Reguły i konfiguracja Snorta
Instalacja snorta z kodu źródłowego wymagała ustawienia reguł i konfiguracji dlatego teraz skopiujemy reguły i konfigurację do katalogu /etc/snort. Stworzyliśmy pojedyncze skrypty basha do ustawiania reguł i konfiguracji. Jest on używany do następujących ustawień snort.
- Tworzenie użytkownika snort dla usługi snort IDS w systemie linux.
- Tworzenie katalogów i plików w katalogu /etc dla konfiguracji snort.
- Ustawianie uprawnień i kopiowanie danych z katalogu etc kodu źródłowego snort.
- Usuwanie # (znaku komentarza) ze ścieżki reguł w pliku snort.conf.
ipvar HOME_NET 192.168.1.0/24 # LAN side
ipvar EXTERNAL_NET !$HOME_NET # WAN side
Wnioski
.