Konfiguracja zapory sieciowej na routerze MikroTik

Podobne dokumenty
iptables/netfilter co to takiego?

Zapory sieciowe i techniki filtrowania danych

Wykład 3 Filtracja i modyfikacja pakietów za pomocą iptables.

Pakiet Iptables. Filtrowanie pakietów i filtrowanie stanowe

Router programowy z firewallem oparty o iptables

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

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Bezpieczeństwo w M875

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Pakiet Iptables. Filtrowanie pakietów i filtrowanie stanowe

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Instalacja i konfiguracja pakietu iptables

Iptables. Krzysztof Rykaczewski. 15/11/06 1

Iptables informacje ogólne

Systemy programowych zapór sieciowych (iptables)

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

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Sieci Komputerowe Translacja adresów sieciowych

Tomasz Greszata - Koszalin

4. Podstawowa konfiguracja

Przesyłania danych przez protokół TCP/IP

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

iptables -F -t nat iptables -X -t nat iptables -F -t filter iptables -X -t filter echo "1" > /proc/sys/net/ipv4/ip_forward

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Co to jest iptables?

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

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

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

Firewall bez adresu IP

Zarządzanie bezpieczeństwem w sieciach

7. Konfiguracja zapory (firewall)

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

Linux. iptables, nmap, DMZ

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

ZADANIE.07 Różne (tryb tekstowy i graficzny) 2h

Warsztaty z Sieci komputerowych Lista 9

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

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

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R.

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

ZiMSK NAT, PAT, ACL 1

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

Laboratorium Sieci Komputerowych - 2

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

ZADANIE.07 Różne (tryb tekstowy i graficzny) 2h

Teletransmisja i sieci komputerowe 2

NAT/NAPT/Multi-NAT. Przekierowywanie portów

MBUM #2 MikroTik Beer User Meeting

pasja-informatyki.pl

Opis ogólny ustawień NAT na podstawie Vigora serii 2700

Przypisywanie adresów IP do MAC-adresów

Sieci komputerowe - administracja

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

ARP Address Resolution Protocol (RFC 826)

Konfiguracja zapory Firewall w systemie Debian.

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL.

Sieci komputerowe laboratorium

Wykorzystanie połączeń VPN do zarządzania MikroTik RouterOS

Przekierowanie portów w routerze - podstawy

BEFSR11 / 41. Routing statyczny Routing dynamiczny (RIP-1 / RIP-2)

Protokoły sieciowe - TCP/IP

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

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Konfiguracja zapory ogniowej w trybie zaawansowanym na

Adresy w sieciach komputerowych

1 Moduł Diagnostyki Sieci

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

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

MODEL OSI A INTERNET

Zapora systemu Windows Vista

Zadanie z lokalnych sieci komputerowych. 1. Cel zajęć

Warsztaty z Sieci komputerowych Lista 8

Projektowanie bezpieczeństwa sieci i serwerów

Listy dostępu systemu Cisco IOS

Zapory sieciowe i techniki filtrowania.

Ćwiczenie 7 Sieć bezprzewodowa z wykorzystaniem rutera.

SIECI KOMPUTEROWE Adresowanie IP

Konfiguracja aplikacji ZyXEL Remote Security Client:

MikroTik jako filtr rodzinny (stron erotycznych)

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Moduł Ethernetowy. instrukcja obsługi. Spis treści

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Wireshark analizator ruchu sieciowego

MASKI SIECIOWE W IPv4

Zadania do wykonania Firewall skrypt iptables

Brinet sp. z o.o. wyłączny przedstawiciel DrayTek w Polsce

Bezpieczeństwo systemów komputerowych. Laboratorium 1

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

Ćwiczenie Konfiguracja statycznych oraz domyślnych tras routingu IPv4

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Adresowanie grupowe. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 25 kwietnia 2006

Załącznik nr 02 do OPZ - Zapora ogniowa typu A

Tomasz Greszata - Koszalin

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Tworzenie połączeń VPN.

Implementacja modułu do wspomagania konfiguracji. Usługi i sieci teleinformatyczne następnej generacji aspekty techniczne, aplikacyjne i rynkowe

Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski

Dlaczego? Mało adresów IPv4. Wprowadzenie ulepszeń względem IPv4 NAT CIDR

Transkrypt:

Konfiguracja zapory sieciowej na routerze MikroTik Wstęp Aby zacząć konfigurację firewalla na routerze MikroTik, należy przede wszystkim zapoznać się z możliwościami, jakie oferuje to urządzenie. W dużym skrócie RouterOS to rozwiązanie pośrednie pomiędzy routerami domowymi, a w pełni zarządzalnymi routerami (na przykład firmy Cisco). Z tego powodu przed samą konfigurcją zapory sieciowej, trochę miejsca poświęciłem na krótkie omówienie funkcji dostępnych na tym routerze. Funkcje obsługiwane przez MikroTik RouterOS dotyczące zapory sieciowej: Stateful filtering filtrowanie dynamiczne, w którym każde nawiązane połączenie otrzymuje wpis w tabeli stanów. Po otrzymaniu każdego pakietu, program sprawdza przed rozważeniem reguł filtrowania czy dany pakiet pochodzi z nawiązanego już wcześniej połącznia i jeżeli taka sytuacja ma miejsce, przepuszcza pakiet dalej. Dodatkowo funkcja ta automatycznie blokuje nieużywane porty dopóki nie otrzyma zapytania o otwarcie któregoś z nich (zapobiega to zbieraniu informacji przed atakiem poprzez skanowanie portów) Source and destination NAT translacja źródłowych i docelowych adresów sieciowych, ukrywanie adresów IP, NAT jest rozbudowaną funkcją, jej najważnejsze aspekty zostaną wyjaśnione dalej w dokumencie NAT helpers (h323, pptp, quake3, sip, ftp, irc, tftp) wbudowane funkcje umożliwiające zastosowanie translacji NAT dla wymienionych protokołów (SIP helper umożliwia także translację protokołu RTP) Internal connection, routing and packet marks markowanie pakietów, funkcja umożliwiająca zastosowanie QoS Filtering by IP address and address range, port and port range, IP protocol, DSCP and many more reguły filtrowania ruchu sieciowego czyli podstawowa, z punktu widzenia użytkownika funkcja zapory sieciowej Address lists funkcja umożliwiająca tworzenie i korzystanie z list adresowych Custom Layer7 matcher metoda wyszukiwania wzorców i schematów w połączeniach w celu identyfikacji protokołów warstwy aplikacji. L7 matcher zbiera dane z pierwszych 10 pakietów (lub pierwszych 2KB danych) zestawionego połączenia i przeszukuje je w poszukiwaniu reguł. IPv6 support oznacza, że urządzenie jest kompatybilne z protokołem IPv6 PCC - per connection classifier, used in load balancing configurations funkcja umożliwiająca implementację jednej z metod load balancingu (równoważenia obciążenia) na routerze RAW filtering to bypass connection tracking funkcja, która umożliwia przepuszczenie lub odrzucenie pakietów przed zarejestrowaniem ich przez mechanizmy śledzenia połączeń. RAW table to jakby druga zapora sieciowa, ze swoimi domyślnymi łańcuchami (prerouting i output). Ponieważ ingerencja w RAW table nie jest wymagana do poprawnego działania zapory sieciowej, a jej konfiguracja jest prawie taka sama jak domyślnej tabeli reguł, dalej w tekście skupię się na omówieniu różnic i zasad którymi należy się kierować, aby taką tabelę skonfigurować.

Część 1 Tabela reguł zapory sieciowej Wyjaśnienie wybranych pojęć dotyczących zapory sieciowej: Łańcuch (chain) łańcuchy określają z jakim typem ruchu mamy do czynienia, istnieją trzy łańcuchy podstawowe: - input ruch przychodzący do routera - output ruch wychodzący z routera - forward ruch przechodzący przez router Istnieje możliwość tworzenia własnych łańcuchów co znacznie usprawnia pracę routera i zwiększa czytelność tabeli. Reguła reguła to jeden wpis w tabeli, działa na zasadzie implikacji (jeżeli "x" to "y"). Zasada działania reguły: Na przykład: JEŻELI WARUNEK TO AKCJA JEŻELI adres IP jest równy 10.0.0.0/24 TO accept (przepuść) Reguły są sprawdzane w kolejności, co oznacza, że: /ip firewall filter add chain=input action=accept protocol=tcp dst-port=22 /ip firewall filter add chain=input action=drop protocol=tcp dst-port=22 w tym wypadku ruch na porcie 22 (SSH) zostanie przepuszczony /ip firewall filter add chain=input action=drop protocol=tcp dst-port=22 /ip firewall filter add chain=input action=accept protocol=tcp dst-port=22 a w tym wypadku zablokowany.

Lista opcji konfiguracji reguły w kolejności w jakiej występują w interfejsie graficznym: (oznaczenia: nazwa angielska (nazwa polska) nazwa w konsoli) Chain (łańcuch) chain wybór łańcucha, z którego będą analizowane pakiety. Jeżeli łańcuch o danej nazwie nie istnieje, zostanie utworzony nowy Src. Address (adres źródłowy) src-address adres źródłowy pakietu, wraz z maską lub zakres adresów (np. 10.0.0.8/24, 10.0.0.0/24 tu "0" w adresie hosta oznacza że każdy adres z tej sieci spełnia warunek, 10.0.0.23-10.0.0.29) Dst. Address (adres docelowy) dst-address adres docelowy pakietu wraz z maską lub zakres adresów Protocol (protokół) protocol port lub nazwa protokołu, domyślnie tcp Src. Port (port źródłowy) src-port dostępne tylko jeśli wybrany został protokół tcp lub udp, można wpisać jeden, kilka lub zakres portów (np. 10,12,22,34-132) Dst. Port (port docelowy) dst-port można wpisać jeden, kilka lub zakres portów Any. Port (dowolny port) port warunek jest spełnony jeśli port źródłowy lub port docelowy zgadzają się z podanym numerem/numerami, można wpisać jeden, kilka lub zakres portów In. Interface (interfejs źródłowy) in-interface interfejs, na którym program zarejestrował przychodzący pakiet Out. Interface (interfejs docelowy) out-interface interfejs, na który zostanie wysłany wychodzący pakiet In. Interface List (lista interfejsów źródłowych) in-interface-list działa tak samo jak In. Interface z tym że należy wybrać wcześniej przygotowaną listę interfejsów Out. Interface List (lista interfejsów docelowych) out-interface-list działa tak samo jak Out. Interface z tym że należy wybrać wcześniej przygotowaną listę interfejsów Packet Mark (markowanie pakietu) packet-mark warunek jest spełniony jeżeli markowanie przychodzącego pakietu odpowiada wybranemu markowaniu, można także wybrać wszystkie niemarkowane pakiety poprzez opcję "no-mark" Connection Mark (markowanie połączenia) connection-mark w obrębie zapory sieciowej działa tak samo jak Packet Mark Routing Mark (markowanie routingu) routing-mark w obrębie zapory sieciowej działa tak samo jak Packet Mark Routing Table (tabela routingu) routing-table warunek jest spełniony gdy adres jest zawarty w konkretnej tabeli routingu

Connection Type (typ połączenia) connection-type warunek jest spełniony gdy pakiet należy do połączenia określonego typu, aby ta reguła działała, konieczne jest włączenie odpowiedniego helpera NAT (dostępne helpery NAT: ftp, h323, irc, pptp, quake3, sip, tftp) Connection State (stan połączenia) connection-state do wyboru są następujące opcje: - established pakiet należący do już zestawionego połączenia - invalid pakiet niemający określonego stanu, zazwyczaj w wyniku niepoprawnych lub niekompletnych wartości bitowych - new pakiet nawiązujący nowe połączenie - related pakiet, który jest związany z istniejącym połączeniem, ale nie jest jego częścią (na przykład pierwszy pakiet RTP po zestawieniu połączenia za pomocą SIP) - untracked pakiet który jest oznaczony przez tabelę RAW do pominięcia śledzenia połączeń Connection NAT State (stan połączenia NAT) connection-nat-state do wyboru są następujące opcje: - srcnat (źródłowy NAT) dotyczy pakietów wychodzących z sieci wewnętrznej - dstnat (docelowy NAT) dotyczy pakietów, których celem jest sieć wewnętrzna. Warto wiedzieć, że pakiety połączenia związanego (related) z którymś z aktywnych połączeń mają docelowy stan NAT jeżeli połączenie wymaga użycia translacji NAT i jest to podstawowy stan połączenia, nawet jeśli nie zostały ustanowione żadne reguły dotyczące dstnat Zaawansowane warunki: Src. Address List (źródłowa lista adresów) src-address-list warunek jest spełniony jeżeli adres źródłowy występuje na określonej liście adresów Dst. Address List (docelowa lista adresów) dst-address-list warunek jest spełniony jeżeli adres docelowy występuje na określonej liście adresów Layer7 Protocol (protokół layer7) layer7-protocol to polecenie wczytuje warunki z wcześniej przygotowanego filtru, skonfigurowanego w menu /ip firewall layer7-protocol. Jako że teoretyczne wyjaśnienie nie oddaje istoty rzeczy, poniżej przykład praktyczny. Sama konfiguracja filtrów protokołu layer7 to temat na osobną pracę 1. /ip firewall layer7-protocol add name=telnet \ regxp="^\\xff[\\xfb-\\xfe].\\xff[\\xfb-\\xfe].\\xff[\\xfb-\\xfe]" comment="" /ip firewall filter add layer7-protocol=telnet protocol=tcp comment="" \ action=accept Content (zawartość) content warunek jest spełniony kiedy pakiet zawiera określony tekst (ciąg znaków) Connection Bytes (bity przesłane przez połączenie) connection-bytes warunek jest spełniony kiedy określona liczba bitów została przesłana w ramach danego połączenia. Wartość 0 oznacza w tym przypadku nieskończoność Connection Rate (szybkość połączenia) connection-rate warunek jest spełniony kiedy dane połączenie osiąga określoną szybkość bitową Per Connection Classifier per-connection-classifier PCC jest tematem zbyt rozległym by omawiać go tutaj. W dużym skrócie PCC rozdziela pakiety na kilka strumieni, przydzielając im określone oznaczenia a warunek w regułach zapory sieciowej pozwala na odfiltrowanie pakietów posiadających konkretne oznaczenie 2 1 http://l7-filter.sourceforge.net/protocols 2 https://mum.mikrotik.com/presentations/us12/steve.pdf

Src. MAC Address (MAC źródłowy) src-mac-address źródłowy adres MAC pakietu, oczywiście należy pamiętać o tym, że w ten sposób możemy określić tylko adres urządzeń bezpośrednio połączonych z routerem Out. Bridge Port (interfejs wyjściowy mostu) out-bridge-port określa interfejs przez na który zostaną wysłane pakiety jeżeli wybrany interfejs wyjściowy to most (bridge). Aby ta funkcja działała, musi być włączona opcja Use IP Firewall use-ip-firewall w ustawieniach mostu. In. Bridge Port (interfejs wejściowy mostu) in-bridge-port określa interfejs na którym został odebrany dany pakiet jeżeli interfejs wejściowy to most (bridge). Aby ta funkcja działała, musi być włączona opcja Use IP Firewall use-ip-firewall w ustawieniach mostu. In. Bridge Port List (lista interfejsów wejściowych mostu) in-bridge-port-list działa tak samo jak In. Bridge Port z tym że należy wybrać wcześniej przygotowaną listę interfejsów Out. Bridge Port List (lista interfejsów wejściowych mostu) out-bridge-port-list działa tak samo jak Out. Bridge Port z tym że należy wybrać wcześniej przygotowaną listę interfejsów IPsec Policy (zasada protokołu Ipsec) ipsec-policy warunek ma postać kierunek, zasada, a do wyboru są następujące opcje: - kierunek in warunek spełniają pakiety z łańcuchów "prerouting", "input" oraz "forward" - kierunek out warunek spełniają pakiety z łańcuchów "postrouting", "output" oraz "forward" - zasada ipsec warunek jest spełniony jeżeli pakiet został poddany enkapsulacji lub dekapsulacji Ipsec - zasada none warunek jest spełniony jeżeli pakiet nie został poddany enkapsulacji lub dekapsulacji Ipsec TLS Host (host TLS) warunek spełniają pakiety protokołu SSH mające określoną nazwę hosta TLS. Program zadziała poprawnie tylko wtedy kiedy ramka uwierzytelnienia TLS jest zawarta w jednym segmencie TCP Ingress Priority ingress-priority priorytet nadawany zgodnie ze standardem WMM (Wireless Multimedia Extensions) przez punkt dostępowy routera Mikrotik 3 Priority (priorytet) priority priorytet pakietów VLAN, WMM, DSCP, MPLS, EXP lub nadany przez regłuę tabeli mangle akcją set priority set-priority DSCP (TOS) (typ usługi DSCP) dscp warunek spełniają pakiety mające określoną wartość pola TOS (Type Of Service, typ usługi) w nagłówku IP TCP MSS tcp-mss warunek spełniają pakiety IP, których długość pola danych zgadza się z polem MSS (Maximum Segment Size, maksymalny rozmiar segmentu) w nagłówku protokołu TCP. Dostępne tylko jeśli w warunku Protocol wybrany został protokół tcp 4 Packet Size (rozmiar pakietu) packet-size warunek spełniają pakiety mające określony rozmiar, można również wybrać zakres rozmiarów Random (losowo) random regułę spełniają losowo wybrane pakiety, można ustawić prawdopodobieństwo z zakresu 1-99% TCP Flags (flaga TCP) tcp-flags warunek spełniają pakiety mające określoną flagę w nagłówku TCP 3 https://wiki.mikrotik.com/wiki/manual:wmm 4 https://www.incapsula.com/blog/wp-content/uploads/2016/12/mtu-image-1.png

ICMP Options (opcje ICMP) icmp-options warunek spełniają pakiety ICMP mające określony typ i/lub kod, składnia w konsoli: typ:kod IPv4 Options (opcje IPv4) ipv4-options warunek jest spełniony gdy w nagłówku IP w polu "opcje" występuje określona opcja 5 TTL (czas życia) ttl warunek spełniają pakiety mające określoną wartość pola TTL Dodatkowe opcje: Connection Limit (limit połączeń) connection-limit warunek spełniają pakiety z określoną maską, należące do dowolnych połączeń, aż do osiągnięcia maksymalnej liczby połączeń. Najlepiej używać tego warunku razem z warunkami connection-state=new i/lub tcp-flags=syn ponieważ program na sprawdzenie tego warunku zużywa dużo zasobów procesora 6 Limit (limit) limit warunek spełniają wszystkie pakiety aż do osiągnięcia pewnego limitu. Składnia w konsoli: liczba[/czas],burst:tryb, gdzie: - liczba liczba bitów lub pakietów spełniających warunek danym czasie - czas przedział czasowy, w którym limit nie może zostać przekroczony - burst wstępna liczba bitów/pakietów do sprawdzenia, liczba określona przez parametr burst zostaje odnowiona co 10ms więc należy wpisać przynajmniej 1/100 limitu na sekundę - tryb tryb packet zlicza pakiety, tryb bit zlicza bity Dst. Limit (limit strumienia danych) dst-limit działa podobnie jak Limit z tym że odnosi się do konkretnego strumienia danych definiowanego przez tryb. Składnia w konsoli: liczba[/czas],burst,tryb[/czas_wygaśnięcia], gdzie: - liczba, czas działają tak samo jak w warunku Limit - burst działa tak samo, z tym że liczba jest odnawiana co przedział określony przez parametr czas - tryb określa które pola składają się na strumień danych, dostępne są opcje: src-address, dst-address, src-and-dst-address, dst-address-and-port, addresses-and- dst-port - czas_wygaśnięcia określa przedział czasowy, po którym strumień danych w którym nie przesyłane są żadne pakiety będzie mógł zostać usunięty (parametr opcjonalny) Nth (co który) nth warunek który spełnia co któryś pakiet z określonego przedziału (np. 3,1 oznacza że z każdego przedziału trzech pakietów, warunek spełnia pakiet pierwszy; 4,4 oznacza że z każdego przedziału czterech pakietów, warunek spełnia pakiet czwarty) 7 Time (czas) time warunek spełniają pakiety przychodzące/wychodzące w określonym czasie (np. time=0s 7h30m,mon,tue,wed,thu oznacza że warunek spełnia każdy pakiet od północy do godziny 7:30 od poniedziałku do czwartku) 8 Src. Address Type (tryb transmisji adresu źródłowego) src-address-type warunek spełniają pakiety, których adres źródłowy pasuje do określonego trybu transmisji (unicast, multicast, broadcast, local pakiety których adresem docelowym jest adres jednego z interfejsów routera) Dst. Address Type (tryb transmisji adresu docelowego) dst-address-type działa tak samo jak Src. Address Type, z tym że program sprawdza adres docelowy 5 https://notes.shichao.io/tcpv1/table_5-4.png 6 https://forum.mikrotik.com/viewtopic.php?t=31558 7 https://wiki.mikrotik.com/wiki/manual:nth_in_routeros 8 https://forum.mikrotik.com/viewtopic.php?t=94845

PSD (wykrywanie skanu portów) psd - mechanizm służący przeciwdziałaniu skanowania portów. Pakiety muszą pochodzić z tego samego adresu IP. Składnia w konsoli: limit_wagi,limit_czasu,waga_niskich_portów,waga_wysokich_portów, gdzie: - limit_wagi liczba, po której PSD zgłosi próbę skanowania portów - limit_czasu czas, w którym limit wagi musi zostać przekroczony, aby PSD wykrył próbę skanowania - waga_niskich_portów waga pakietów z portem docelowym z przedziału 0-1024 - waga_wysokich_portów waga pakietów z portem docelowym z przedziału 1025 65535 9 Hotspot hotspot warunek spełniają pakiety wysłane przez klientów hotspotu. Dostępne opcje: - auth uwierzytelnione pakiety - from-client pakiety pochodzące od klientów hotspotu - http zapytania HTTP - local-dst pakiety, których celem jest serwer hotspot - to-client pakiety, których celem jest klient hotspotu IP Fragment fragment warunek spełniają fragmentowane pakiety, ta opcja jest niepotrzebna jeśli włączone jest śledzenie połączeń Akcja: Action (akcja) action akcja, którą zastosuje program jeśli pakiet spełnia warunki, do wyboru: - accept program przepuści pakiet i nie przekaże go do następnej reguły - add-dst-to-address-list program doda adres docelowy do listy określonej parametrem Address List address-list - add-src-to-address-list program doda adres źródłowy do listy określonej parametrem Address List address-list - drop program odrzuci pakiet bez wysyłania żadnych komunikatów - fasttrack-connection program włączy funcję FastTrack dla połączenia, do którego należy pakiet 10 - jump program przekaże pakiet do łańcucha stworzonego przez użytkownika, zasady dotyczące łańcuchów zostaną omówione w dalszej części pracy - log program zapisze informację o pakiecie (rejestrowane są: interfejs źródłowy, docelowy, adres MAC źródłowy, źródłowy adres IP i port, docelowy adres IP i port, długość pakietu) - passthrough pakiet zostaje przekazany do następnej reguły - reject program odrzuca pakiet i wysyła komunikat ICMP - return program zwraca pakiet do łańcucha z którego został wykonany "skok" - tarpit program wstrzyma połączenie TCP 11 9 https://forum.mikrotik.com/viewtopic.php?t=108749 10 https://wiki.mikrotik.com/wiki/manual:ip/fasttrack 11 https://en.wikipedia.org/wiki/tarpit_(networking)

Część 2 Tabela NAT Reguły w tabeli NAT nie różnią się zbytnio od tych w tabeli zapory sieciowej jeśli chodzi o konfigurację czy warunki, jednak ich zasada działania jest nieco inna. Zamiast łańcuchów input, output czy forward, istnieją tylko dwa łańcuchy domyślne: srcnat pakiety pochodzące z sieci podrzędnej dstnat pakiety pochodzące z sieci nadrzędnej Nie należy tych łańcuchów mylić z pojęciami SNAT i DNAT oraz akcjami src-nat i dst-nat. Dla uproszczenia można przyjąć, że srcnat oznacza cały ruch sieciowy mający swoje źródło w sieci podrzędnej konfigurowanego routera, a dstnat ruch sieciowy mający swoje źródło w sieci nadrzędnej. Zatem zapytanie do serwera DNS o adresie 8.8.8.8, pochodzące od hosta o adresie 192.168.10.10 będzie zawsze należało do łańcucha srcnat niezależnie od tego czy dany pakiet został dopiero otrzymany na interfejsie lokalnym czy wysłany na adres nadrzędny. Lista opcji konfiguracji reguły NAT w kolejności w jakiej występują w interfejsie graficznym, z pominięciem opcji tożsamych z tabelą reguł zapory sieciowej: (oznaczenia: nazwa angielska (nazwa polska) nazwa w konsoli) Akcja: Action (akcja) action akcja, którą zastosuje program jeśli pakiet spełnia warunki, do wyboru: - dst-nat zamienia adres docelowy i/lub port docelowy na adresy określone opcją to-addresses i/lub porty określone opcją to-ports - src-nat zamienia adres źródłowy i/lub port źródłowy na adresy określone opcją to-addresses i/lub porty określone opcją to-ports - masquerade działa podobnie jak src-nat z tym że usprawnia komunikację kiedy prywatny adres IP jest zamieniany na dynamiczny (zmienny) publiczny adres IP 12 - netmap przypisuje zakres adresów publicznych zakresowi adresów prywatnych jeden do jednego np. /ip firewall nat add chain=dstnat dst-address=99.0.0.1-99.0.0.254 action=netmap to-addresses=172.16.10.1-172.16.10.255 /ip firewall nat add chain=srcnat src-address=172.16.10.1-172.16.10.255 action=netmap to-addresses=99.0.0.1-99.0.0.254 przydziela adresowi lokalnemu 172.16.10.1/24 adres publiczny 99.0.0.1/24, adresowi 172.16.10.2/24 adres 99.0.0.2/24 itd. 13 - redirect zamienia port docelowy na port określony opcją to-ports a adres docelowy na adres lokalny routera - same przydziela jeden konkretny adres z zakresu podanego w to-addresses dla każdego połączenia spełniającego warunki np. /ip firewall nat add chain=srcnat any-port=53 src-address=172.16.10.1-172.16.10.255 action=same to-addresses=4.2.2.1-4.2.2.5 oznacza, że wszystkie zapytania DNS z naszej sieci będą natowane na jeden konkretny adres serwera DNS z tej puli 12 https://wiki.mikrotik.com/wiki/manual:ip/firewall/nat#masquerade 13 http://www.pwrusr.com/network-engineering/mikrotik-1-to-1-nat-with-netmap-and-masquerade

Część 3 konfiguracja zapory sieciowej Planowanie zapory sieciowej Przede wszystkim należy postarać się, żeby cały ruch sieciowy był uregulowany regułami zapory sieciowej. Można to osiągnąć na dwa sposoby: zablokować niepożądany ruch i przepuścić pozostały ostatnim warunkiem w tabeli przepuścić pożądany ruch i zablokować pozostały W praktyce każdy z powyższych modeli ma swoje wady i zalety, a najlepszym rozwiązaniem jest kombinacja ich obu i dostosowanie planu zapory sieciowej do naszych indywidualnych potrzeb. Zanim jednak przejdziemy do konkretnych przykładów zabezpieczeń, poniżej zamieszczam listę przydatnych zasad, które warto stosować: w pierwszej kolejności skonfigurować zasady dostępu do konsoli routera, żeby przypadkowy błąd podczas dalszej pracy nie skutkował koniecznością zaczynania wszystkiego od nowa każdy ruch sieciowy który da się w pewien sposób wyodrębnić (ruch w obrębie jednej sieci, jednego protokołu, portu, interfejsu itd.), warto przekierować do osobnego łańcucha i tam odfiltrować w porządany sposób. Można także stworzyć łańcuchy szczególnego przeznaczenia, najprostszym przykładem jest łańcuch "virus", w którym za pomocą serii reguł możemy odrzucić pakiety przychodzące na konkretne porty, używane przez popularne wirusy. Listę wirusów możemy znaleźć w internecie 14, jednak zanim ją skopiujemy, warto zapoznać się z jej zasadą działania. jeżeli za pomocą warunków da się jednoznacznie zidentyfikować źródło danego pakietu (inny router, serwer, dostawca usługi, źródło ataku), warto dodać jego adres i/lub port źródłowy do listy adresów (tzw. whitelist, blacklist), dzięki temu można np. zablokować cały ruch z wykrytych źródeł ataku za pomocą jednej reguły dla przejrzystości warto dodawać komentarze, nawet jeżeli w tym momencie wiemy jak działa dana reguła, warto zostawić sobie krótki opis na przyszłość dobrą praktyką jest odrzucenie całego ruchu z nieużywanych portów i interfejsów, oraz ruchu, którego zasady działania nie znamy. Znacznie prościej jest dodać kilka reguł jeżeli użytkownik zgłosi potrzebę korzystania z danej usługi niż dochodzić do tego, z jakich źródeł przyszedł atak którego nasza zapora nie była w stanie wykryć i zablokować Tworzenie zapory sieciowej na potrzeby konkretnej sytuacji 1. Sieć domowa 14 http://mikrotik.net.pl/wiki/ochrona_użytkowników