Laboratorium nr 9 System wykrywania włamań (IDS)



Podobne dokumenty
Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Bezpieczeństwo w M875

Wireshark analizator ruchu sieciowego

9. System wykrywania i blokowania włamań ASQ (IPS)

Wykaz zmian w programie SysLoger

TELEFONIA INTERNETOWA

Protokół HTTP (2) I) Wprowadzenie. II) Użyte narzędzia: III) Kolejność działań

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

7. Konfiguracja zapory (firewall)

4. Podstawowa konfiguracja

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

BEZPIECZEŃSTWO W SIECIACH

Zarządzanie bezpieczeństwem w sieciach dr inż. Robert Banasiak, mgr inż. Rafał Jachowicz, Instytut Informatyki Stosowanej PŁ, 2013

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat zapory sieciowej (firewall) oraz oprogramowania iptables.

Firewall bez adresu IP

Router programowy z firewallem oparty o iptables

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres.

Bezpieczeństwo systemów komputerowych. Laboratorium 1

Usługi sieciowe systemu Linux

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Metody ataków sieciowych

Instrukcja konfiguracji funkcji skanowania

T: Zabezpieczenie dostępu do komputera.

Tomasz Greszata - Koszalin

Sieci komputerowe laboratorium

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Wykaz zmian w programie SysLoger

SIECI KOMPUTEROWE LABORATORIUM ĆWICZENIE 5. Analiza ruchu sieciowego z wykorzystaniem programu WIRESHARK Cz. I podstawy.

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Instalacja i konfiguracja pakietu iptables

Najprostsza odpowiedź, jaka przychodzi mi do głowy to, z powodu bezpieczeństwa.

Laboratorium Sieci Komputerowych - 2

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat zapory sieciowej.

Instalacja i konfiguracja serwera telnet.

Instrukcja programu Wireshark (wersja 1.8.3) w zakresie TCP/IP

Narzędzia do diagnozowania sieci w systemie Windows

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Dokumentacja SMS przez FTP

Instrukcja inteligentnego gniazda Wi-Fi współpracującego z systemem Asystent. domowy

Laboratorium 3.4.2: Zarządzanie serwerem WWW

z paska narzędzi lub z polecenia Capture

System kontroli dostępu ACCO NET Instrukcja instalacji

- udostępnić anonimowym użytkownikowi Internetu pliki przez serwer FTP,

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

11. Autoryzacja użytkowników

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

UNIFON podręcznik użytkownika

Win Admin Monitor Instrukcja Obsługi

Snifery wbudowane w Microsoft Windows

Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA

procertum CLIDE Client 2.1 wersja 1.0.2

Wybrane metody obrony przed atakami Denial of Service Synflood. Przemysław Kukiełka

Instalacja i konfiguracja serwera SSH.

Tomasz Greszata - Koszalin

Bezpieczeństwo Systemów Telekomunikacyjnych 2014 / 2015 Bezpieczeństwo aplikacji sieciowych, Ataki (D)DoS Prowadzący: Jarosław Białas

INSTRUKCJA OBSŁUGI DLA SIECI

Narzędzia diagnostyczne protokołów TCP/IP

Serwer DHCP (dhcpd). Linux OpenSuse.

Warsztaty z Sieci komputerowych Lista 9

Laboratorium podstaw telekomunikacji

MODEL WARSTWOWY PROTOKOŁY TCP/IP

SERWER AKTUALIZACJI UpServ

Laboratorium 3.4.3: Usługi i protokoły

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Zarządzanie sieciowymi systemami wykrywania włamań. Borys Uchański

Projektowanie bezpieczeństwa sieci i serwerów

Robaki sieciowe. + systemy IDS/IPS

Laboratorium 6.7.1: Ping i Traceroute

Instalacja NOD32 Remote Administrator

SERWER AKTUALIZACJI UpServ

Czym jest router?... 3 Vyatta darmowy router... 3 Vyatta podstawowe polecenia i obsługa... 3 Zarządzanie użytkownikami... 3 Uzupełnianie komend...

Zarządzanie bezpieczeństwem w sieciach

Laboratorium - Wykorzystanie programu Wireskark do badania ramek Ethernetowych

dostępu do okręslonej usługi odbywa się na podstawie tego adresu dostaniemu inie uprawniony dostep

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych

Laboratorium nr 1 Skanowanie sieci i ataki aktywne

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

Sieci komputerowe i bazy danych

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Problemy techniczne SQL Server

WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]

ROZDZIAŁ 1: Instrukcja obsługi oprogramowania VMS

Przypisywanie adresów IP do MAC-adresów

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

Telefon AT 530 szybki start.

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

Instrukcja instalacji usługi Sygnity SmsService

Konfiguracja IPSec Brama IPSec w Windows 2003 Server

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Instrukcja obsługi. Kamera szybkoobrotowa IP LUMENA-12M1-147

Wdrażanie i zarządzanie serwerami zabezpieczającymi Koncepcja ochrony sieci komputerowej

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Instrukcja obsługi IE LC-750

Transkrypt:

Laboratorium nr 9 System wykrywania włamań (IDS) Laboratorium nr 9 dotyczy wykrywania włamań/zagrożeń za pomocą specjalnych reguł oraz sygnatur ataków. Będziemy korzystać z jednego z najpopularniejszych systemów wykrywania włamań: Snort. Ćwiczenia będziemy realizowali w środowisku Linux. Sieciowy system wykrywania włamań (ang. Intrusion Detection System - IDS) jest urządzeniem lub programem komputerowym, który monitoruje aktywności w sieci w celu wykrycia podejrzanych aktywności lub naruszeń polityk bezpieczeństwa. Jeśli takowe wystąpią zostanie podjęta wcześniej zdefiniowana akcja, jak np. wysłanie wiadomości do administratora, zapisanie podejrzanych pakietów do pliku, lub nawet zmiana reguł firewalla aby zablokować ruch z podejrzanego adresu IP. Ostatnia funkcjonalność jest obecna w systemach wykrywania i zapobiegania włamaniom (ang. Intrusion Detection and Prevention System - IDPS). Obecnie spotykane są dwa główne typy systemów wykrywania włamań. W pierwszym ruch sieciowy jest monitorowany w poszukiwaniu charakterystycznych binarnych wzorców, które są podobne do znanych ataków. Są to systemy wykrywania włamań w oparciu o sygnatury (ang. signature-based intrusion detection system). Drugi typ, wykorzystuje historie lub statystykę ruchu w sieci. Jeśli przechwycony zostanie pakiet lub ruch który odbiega od normalnego wzorca, zostanie zgłoszony alarm. Są to systemy wykrywania włamań wykrywające anomalie (ang. anomaly-based intrusion detection system). 1. Przygotowanie sudo su sudo apt-get update sudo apt-get install snort Procedura instalacji Snort może wymagać podania adresu sieci lokalnej w notacji CIDR, np. 192.168.1.0/24. Jeśli Snort będzie używany na interfejsie lokalnym wystarczy w notacji CIDR podać 127.0.0.0/8. Współautorem konspektu jest mgr Rafał Mielniczuk

2. Ważne pliki Snort Proszę zapoznać się z kluczowymi plikami związanymi z oprogramowaniem Snort. /var/log/snort Zawiera pliki z logami i alarmami. Pliki alarmów są plikami tekstowymi, plików logów są w formacie pcap i możesz otworzyć je np. używając programów Wireshark lub tcpdump. /etc/snort/snort.conf Domyslny plik konfiguracyjny. Ustawia opcje pracy Snort i włącza pliki z sygnaturami reguł. /etc/snort/rules Katalog z sygnaturami reguł. 3. Reguły - wprowadzenie Jednym z zadań Snort jest wykonanie pewnej akcji jeśli jakaś reguła pasuje do otrzymanego pakietu. Reguły są zdefiniowane przeważnie w jednej linii, np: drop icmp any any -> any any Listing 1: Przykładowa reguła #1 Jednokierunkowy operator -> ustala adres po lewej jako adres źródłowy i adres po prawej jako docelowy. Dwukierunkowy operator <> nie różnicuje kierunków. Powyższa reguła sprawi, ze Snort zablokuje każdy przechwycony pakiet ICMP1. Ogólny format reguł wygląda następująco: nagłówek reguły (opcje reguły) gdzie nagłówek reguły określa podstawowe informacje jak protokół, adres i port: akcja protokół adres port kierunek adres port (opcje reguły) Analizując listing 1 zgodnie z formatem mamy: Snort zablokuje pakiet (drop) jeśli jest pakietem ICMP (icmp) z arbitralnymi adresami źródłowymi (any) i docelowymi (any). Opcje reguły nie zostały użyte. Opcje numeru portu maja sens tylko dla protokołów TCP i UDP. Dla protokołów IP i ICMP należy użyć any. Adresy mogą być podane w notacji CIDR a porty mogą zostać podane w postaci przedziału lub z operatorem negacji!, np. Listing 2: Przykładowa reguła #2 alert udp any any -> 192.168.2.0/24!1:1024 (msg: "UDP packet on port > 1024 detected"; sid:1000000;) Zgodnie z listingiem 2 Snort zgłosi alarm dla każdego pakietu UDP wysłanego na adres 192.168.2.0/24 i numer portu docelowego > 1024. Dodatkowo alarm będzie

opatrzony komunikatem UDP packet on port > 1024 detected i numerem sygnatury (sid) równym 1000000. Numery sid < 100 zarezerwowane są na przyszłe użycie, numery 100 <= sid < 1000000 przeznaczone są na reguły dostarczone ze Snort. Dla użytkowników na lokalne reguły pozostają numery sid >= 10000000. Opcje reguły zapisywane w nawiasie definiują zadanie do wykonania jeśli nagłówek reguły pasuje do przechwyconego pakietu. Na listingu 2 było to wyświetlenie komunikatu2. Mogą się składać sie z kilku pozycji zawsze zakończonych średnikiem: nagłówek reguły (pozycja1;pozycja2;pozycja3;pozycja4;) W przypadku skomplikowanych reguł dla przejrzystości można zapisać je w wielu liniach używając znaku nowej linii lub backslash i nowej linii (Patrz listing 2). Więcej informacji na temat reguł i użycia Snort można znaleźć w [2, 3, 4]. 4. Ćwiczenia Ćwiczenia zostaną przeprowadzone z minimalna konfiguracja Snort. W tym celu stwórz poniższe pliki (pliki /tmp/snort.conf i /tmp/exercises exemplary.rules mogą być skopiowane ze strony internetowej): $ touch /tmp/snort.conf /tmp/exercises_exemplary.rules /tmp/exercises.rules Listing 3 przedstawia minimalna i zalecana zawartość pliku konfiguracyjnego Snort potrzebna do wykonania tego ćwiczenia. Konfiguracja ta włącza preprocesor strumienia, zarówno dla protokołu TCP jak i UDP, oraz załącza dwa pozostałe poprzednio stworzone pliki. Preprocesor strumienia umożliwia analizowanie sesji pakietów zamiast pojedynczej analizy pakietów, np. połączenie TCP. Listing 3: Zawartość pliku konfiguracyjnego Snort preprocessor stream5_global: \ track_tcp yes, \ track_udp yes, \ track_icmp no preprocessor stream5_tcp: timeout 60 preprocessor stream5_udp: timeout 60 include /tmp/exercises.rules include /tmp/exercises_exemplary.rules Przed przystąpieniem do wykonywania ćwiczeń zatrzymaj domyślna instancje Snort: sudo service snort stop Następnie uruchom Snort poniższym poleceniem. Użyte opcje oznaczają odpowiednio: -q nie wyświetla informacji o inicjalizacji; -A console alarmy zostaną wyświetlone na konsoli; -K none wyłączenie logowania pakietów; -k none wyłączenie sprawdzania sum kontrolnych w pakietach; -c /tmp/snort.conf użycie minimalnego pliku konfiguracyjnego; -i eth0 interfejs sieciowy do nasłuchiwania. sudo su - snort -q -A console -K none -k none -c /tmp/snort.conf -i eth0

Przeznacz plik /tmp/exercises exemplary.rules na przykładowe reguły zawarte w tej instrukcji. Przeznacz plik /tmp/exercises.rules na reguły z zadań do wykonania. Plik ten możesz później wykorzystać do przygotowania sprawozdania. Miej na uwadze, ze w Ubuntu zawartość katalogu /tmp/ zostaje utracona po restarcie. Aby Snort wczytał pliki reguł od nowa, musisz go zatrzymać przez naciśniecie CTRL+C na konsoli i uruchomić ponownie jak na listingu powyżej. W każdym ćwiczeniu jesteś zobligowany wykorzystać opcje reguł wymienione w nazwie ćwiczenia. Dla każdego ćwiczenia zwróć uwagę na to czy twoje reguły nie powodują fałszywych alarmów. Przeanalizuj co można zrobić aby zmniejszyć ich liczbę. Ponieważ ruch do analizy został przygotowany w różnych konfiguracjach sieciowych dla źródłowego i docelowego adresu IP użyj any i any. Gdzie możliwe, użyj domyślnego portu usługi. 4.1 Reguły nagłówka i pól podstawowych protokołów Przykładowe zadanie Identyczny adres źródłowy i docelowy w pakiecie ICMP. Takie pakiety są kompletnie błędne jeśli zostały odebrane przez siec. Przykładowe rozwiązanie alert icmp any any -> any any (msg:"destination and source are same"; sameip; sid:1000000) Zadanie do wykonania Wykrycie prób traceroute. Jaka jest najmniejsza wartość TTL nagłówka IP dla której pakiet jest odbierany? 4.2 Sprawdzanie zawartości pakietów Przykładowe zadanie Wykrycie prób wylistowania dostępnych baz danych na serwerze MySQL. Polecenie show databases nie jest używane często przez działające usługi. Przykładowe rozwiązanie alert tcp any any -> any 3306 (msg:"mysql show databases attempt"; flow: to_server,established; content:"show databases"; nocase; sid:1000001) Zadanie do wykonania Wykryj pakietu RTP[5] na porcie 45802 i numerze sekwencji 16950. Za pozostałe wartości pój nagłówka RTP przyjmij: ver:2, padding:0, ext:0, csic:0, marker:1, pt:96

4.3 Wyrażenia regularne Przykładowe zadanie Użycie karty kredytowej Visa o numerze XXXX-XXXX-XXXX-4448 w formularzu na stronie internetowej. Wszelkie transakcje przy użyciu numerów kart kredytowych powinny być dokonywane z wykorzystaniem szyfrowania. W ten sposób można wykryć nierozważnych użytkowników. Przykładowe rozwiazanie alert tcp any any <> any 80 (msg:"visa card number in clear text"; pcre:"/4\d{3}(\s -)?\d{4}(\s -)?\d{4}(\s -)?4448/"; flow:to_server, established; sid:1000002;) Zadanie do wykonania Nawiązanie polaczenia VoIP przy użyciu klienta Linphone w jakieś konkretnej wersji (np. w wersji 3.2.X). Taka reguła mogłaby być pomocna w wyszukiwaniu użytkowników, którzy nie uaktualnili by klienta VoIP i wersja ta zawierałaby luki bezpieczeństwa. Sprawozdanie W sprawozdaniu z laboratorium nr 9 należy opisać wykonane ćwiczenia i ich wyniki. Dodatkowo, proszę wyjaśnić czym jest sygnatura i jak działa system wykrywania włamań (na przykładzie aplikacji Snort). Dla ambitnych Opcje depth, distance i offset Wykrycie wyłączonego programu serwera NTP. alert icmp any any -> any any (msg:"ntp server offline"; content:" 00 7b "; offset:22; sid:1000003) Zadanie Wykrycie prób łączenia się do thepiratebay.sx (Połączenia do danej domeny poprzedzone są zapytaniami DNS)

Opcje flow bit Użytkownik rozpoczyna odtwarzanie zasobu video01 na przy użyciu protokołu RTSP z serwera na porcie 5544. pass tcp any any -> any 5544 (msg:"rtsp SETUP"; content:"setup rtsp"; content:"rtsp"; distance:0; flow:from_client,established; flowbits:set, rtsp.setup; sid:1000004;) pass tcp any 5544 -> any any (msg:"rtsp SETUP OK"; content:"rtsp/1.0 200 OK "; flow:from_server,established; flowbits:isset,rtsp.setup; flowbits: unset,rtsp.setup; flowbits:set,rtsp.setupok; sid:1000005;) pass tcp any any -> any 5544 (msg:"rtsp PLAY"; content:"play rtsp"; flow: from_client,established; flowbits:isset,rtsp.setupok; flowbits:unset, rtsp.setupok; flowbits:set,rtsp.play; sid:1000006;) alert tcp any 5544 -> any any (msg:"rtsp somebody watches video01"; content :"RTSP/1.0 200 OK"; flow:from_server,established; flowbits:isset,rtsp. play; flowbits:unset,rtsp.play; sid:1000007;) Zadanie Użytkownik po zalogowaniu sie na serwer Gadu-Gadu [6] wysyła wiadomość z słowem haslo. (Reguła ta może pomóc wytropić nierozważnych użytkowników wymieniających informacje o hasłach nieszyfrowanym protokołem Gadu-Gadu) Przetwarzanie zdarzeń Wykrycie prób TCP Syn Flood na usługę SSH i zablokowanie ataku na 10 sekund. Za atak TCP Syn Flood uznaj więcej niż 30 prób na sekundę, pass tcp any any -> any 22 (msg:"tcp Syn Flood on SSH, packet dropped"; flags:s; sid:1000008;) rate_filter gen_id 1, sig_id 1000008, track by_src, count 30, seconds 1, new_action alert, timeout 10 Zadanie Wykryj próby ataku siłowego na usługę SMTP. (Nie używaj przestarzałej opcji threshold. Alarm o ataku ma sie pojawić nie częściej niż co 1 minutę. Wykorzystaj event filter.) Literatura [1] Rule Search. http://www.snort.org/search [2] The Snort Project. SNORTR Users Manual 2.9.5, 2013 [3] The Snort Project. SNORTR Users Manual 2.9.5, May 2013 [4] Snort FAQ/Wiki. https://github.com/vrtadmin/snort-faq/blob/master/readme.md. [5] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson. RTP: A Transport Protocol for Real-Time Applications. RFC 3550 (Standard), July 2003. Updated by RFCs 5506, 5761, 6051. [6] Protokol Gadu-Gadu. http://www.ggsender.ovh.org/protocol.html