Router programowy z firewallem oparty o iptables

Podobne dokumenty
Zarządzanie bezpieczeństwem w sieciach

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

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

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

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

Pakiet Iptables. Filtrowanie pakietów i filtrowanie stanowe

Instalacja i konfiguracja pakietu iptables

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

Iptables informacje ogólne

Tomasz Greszata - Koszalin

Sieci Komputerowe Translacja adresów sieciowych

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

Pakiet Iptables. Filtrowanie pakietów i filtrowanie stanowe

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

Bezpieczeństwo w M875

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

Zadania do wykonania Firewall skrypt iptables

Co to jest iptables?

Tomasz Greszata - Koszalin

iptables/netfilter co to takiego?

Warsztaty z Sieci komputerowych Lista 9

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Opracowany na podstawie

Warsztaty z Sieci komputerowych Lista 8

Linux. iptables, nmap, DMZ

Zapory sieciowe i techniki filtrowania danych

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

Tworzenie maszyny wirtualnej

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

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

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

7. Konfiguracja zapory (firewall)

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

Firewalle, maskarady, proxy

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

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

Projektowanie bezpieczeństwa sieci i serwerów

Firewall bez adresu IP

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

Zdalne logowanie do serwerów

Jak blada twarz psuje serwer HTTP? Kamil Porembiński thecamels.org

Filtrowanie stateful inspection w Linuksie i BSD

BRINET Sp. z o. o.

Ćwiczenie 5b Sieć komputerowa z wykorzystaniem rutera.

Sieci komputerowe laboratorium

Firewalle, maskarady, proxy

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Bezpieczeństwo systemów komputerowych. Laboratorium 1

OUTSIDE /24. dmz. outside /24. security- level 50. inside security- level /16 VLAN /

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

Laboratorium Ericsson HIS NAE SR-16

Metody ataków sieciowych

Ping. ipconfig. getmac

Firewall'e. Cele firewalli

9. Internet. Konfiguracja połączenia z Internetem

Filtr Połączeń. nie. tak odrzucenie

ZiMSK NAT, PAT, ACL 1

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

Ćwiczenie 7 Sieć bezprzewodowa z wykorzystaniem rutera.

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

Laboratorium 6.7.1: Ping i Traceroute

Którą normę stosuje się dla okablowania strukturalnego w sieciach komputerowych?

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

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

Spoofing. Wprowadzenie teoretyczne

Przekierowanie portów w routerze - podstawy

4. Podstawowa konfiguracja

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

Zdalna obsługa transcievera. H A M R A D I O D E L U X E R e m o t e S e r v e r C o n f i g u r a t i o n

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

Instrukcja dla instalatora systemu SMDP Enterprise/Professional

Sieci komputerowe. Wykład 11: Podstawy bezpieczeństwa sieci. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

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

LABORATORIUM - SINUS Firewall

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Laboratorium sieci komputerowych Firewall

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

Skanowanie portów. Autorzy: Jakub Sorys, Dorota Szczpanik IVFDS

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

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

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

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

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

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

Firewalle do zastosowań domowych

Wykład 6: Bezpieczeństwo w sieci. A. Kisiel, Bezpieczeństwo w sieci

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

Instrukcja konfiguracji funkcji skanowania

Sieci komputerowe - administracja

SIECI KOMPUTEROWE - BIOTECHNOLOGIA

Ćwiczenie 5a Sieć komputerowa z wykorzystaniem rutera.

Menu Status routera to pojedyncze okno, prezentujące aktualny stan oraz statystykę interfejsów z uwzględnieniem łącza dostępu do Internetu:

IP: Maska podsieci: IP: Maska podsieci: Brama domyślna:

cennik usługi transmisja danych DSL tp Tabela 1 Tabela 2 Opłaty instalacyjne za usługę transmisja danych DSL TP

Podstawy działania sieci komputerowych

Metody zabezpieczania transmisji w sieci Ethernet

Ściana ogniowa w systemie operacyjnym LINUX. Autor: Gładysz Krystian IVFDS

TELEFONIA INTERNETOWA

Ćw. I. Środowisko sieciowe, połączenie internetowe, opcje internetowe

Bazy Danych i Usługi Sieciowe

Narzędzia diagnostyczne protokołów TCP/IP

Transkrypt:

Projektowanie Bezpieczeństwa Sieci Router programowy z firewallem oparty o iptables Celem ćwiczenia jest stworzenie kompletnego routera (bramki internetowej), opartej na iptables. Bramka umożliwiać ma nie tylko dostęp do sieci komputerom będącym w sieci wewnętrznej, ale także zapewniać ma podstawową ochronę tej sieci przed atakami intruzów (firewall). 1. Skonfiguruj sieć według poniższego rysunku: Klienci sieci wewnętrznej mogą być zarówno komputery, będące pod kontrolą systemów Windows, jak i Linux, natomiast bramkę stanowi komputer pracujący pod kontrola systemu Linux. Pamiętaj także o dodaniu adresu bramki oraz serwerów DNS do konfiguracji klientów. Sprawdź, czy tak skonfigurowana sieć działa (za pomocą polecenia ping.) 1.1 Skonfiguruj bramkę, aby miała dostęp do Internetu. 2. Na komputerze bramce stwórz plik o nazwie firewall i nadaj mu prawa wykonywania. 2.1 W pliku firewall umieszczony będzie skrypt odpowiedzialny zarówno za routing jak i za filtrowanie pakietów. Pierwszym krokiem jest wyczyszczenie tablic iptables. Można to zrobić za pomocą następujących poleceń:

iptables -F -t nat iptables -X -t nat iptables -F -t filter iptables -X -t filter Teraz można przystąpić do budowy firewalla, wcześniej jednak należy włączyć przekazywanie pakietów, aby umożliwić routing. echo "1" > /proc/sys/net/ipv4/ip_forward Firwall doskonały nie przepuszcza żadnych pakietów, co można osiągnąć stosując polecenia: iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP Powyższe polecenia sprawiają, że wszystkie pakiety zostają porzucone. Zapisz skrypt i sprawdź, czy rzeczywiście nie ma dostępu ani z zewnątrz sieci ani do wewnątrz. Zobacz jak wygląda teraz konfiguracja firewalla za pomocą polecanie iptables - L 2.2 Udostępnianie wybranych usług na komputerze-bramce: Ponieważ firewall w tym momencie nie przepuszcza żadnych pakietów, jest więc nieużyteczny. W tym kroku odblokowane zostaną wybrane usługi tylko te, z których będziemy chcieli korzystać, reszta nadal będzie blokowana. Akceptujemy pakiety IMCP z lokalnej maszyny: iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT Uruchom ponowie skrypt i sprawdź, czy możliwa jest komunikacja za pomocą protokołu IMCP z komputerami wewnątrz i na zewnątrz sieci. Użyj ponownie polecenia iptables L Co się zmieniło? Czy możliwe jest uzyskane połączenie z dowolną maszyna z sieci zewnętrznej: a) z komputera z sieci wewnętrznej? b) z komputera-bramki? Akceptujemy pakiety WWW iptables -A INPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

Akceptujemy pakiety ssh iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --sport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT Akceptujemy pakiety poczty wychodzącej (smtp) iptables -A INPUT -p tcp --sport 25 -j ACCEPT iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT Akceptujemy pakiety poczty przychodzącej (pop3) iptables -A INPUT -p tcp --sport 110 -j ACCEPT iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT Akceptujemy pakiety DNS iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -d [IP_SERWER_DNS_1] -p udp --dport 53 -m state --state NEW -j ACCEPT Protokół FTP : #przepuść ftp IPTABLES -A FORWARD -p tcp --dport 20:21 -j LOG IPTABLES -A FORWARD -p tcp --dport 20:21 -j ACCEPT IPTABLES -A FORWARD -p tcp --sport 20:21 -j LOG IPTABLES -A FORWARD -p tcp --sport 20:21 -j ACCEPT ftp niezbedne do trybu pasywnego IPTABLES -A FORWARD -p tcp --dport 47000:54000 -j LOG IPTABLES -A FORWARD -p tcp --dport 47000:54000 -j ACCEPT W ten sposób odblokowaliśmy usługi takie jak WWW, DNS, pocztę elektroniczną (protokoły SMTP i POP3) na komputerze-bramce. 2.3 Forwardowanie pakietów. Forwardowanie pakietów do komputerów znajdujących się wewnątrz sieci powoduje, ze cały ruch sieciowy, który związany jest z komputerami w Siecie wewnętrznej niejako tylko przechodzi przez bramkę. Z drugiej strony nadal mamy możliwość filtrowania tego ruchu. dla karty z ip 192.168.65.1 iptables -t filter -A FORWARD -s 192.168.65.1/255.255.255.0 -d 0/0 -j ACCEPT iptables -t filter -A FORWARD -s 0/0 -d 192.168.65.1/255.255.255.0 -j ACCEPT iptables -t filter -A INPUT -j ACCEPT ustawienie nat i maskarady. W tym przypadku dla eth0 (interfejs WAN) iptables -t nat -A POSTROUTING o eth0 -j MASQUERADE

Uruchom skrypt i sprawdź, czy komputery z sieci wewnętrznej mają dostęp do sieci zewnętrznej. Można to zrobić za pomocą protokołu IMCP jak również za pomocą przeglądarki lynx (linux) czy IE (windows). iptables -A FORWARD -p all -i Adres_WAN -o Adres_LAN -m state --state ESTABLISHED,RELATED -j ACCEPT Na koniec wpuszczamy tylko nawiązane i spokrewnione połączenia (dla wszystkich protokołów) 2.4 Przekierowanie portów Przekierowanie portów (ang. port forwarding, port redirection) przekierowanie pakietów z sieci zewnętrznej (np. Internetu), przychodzących na określony port serwera, do innego komputera w sieci lokalnej. Forwardowane mogą być protokoły TCP, UDP i inne. W zależności od implementacji i używanego narzędzia przekierowanie pakietów następuje domyślnie na te same porty do maszyny wewnątrz sieci lokalnej, bądź są one zmieniane na inne. Umożliwia komputerom spoza sieci wewnętrznej (LAN) połączyć się z komputerem stojącym za bramą (np. w strefie zdemilitaryzowanej - DMZ). Przekierowanie portów stosowane jest w razie konieczności łączenia się z zewnątrz z komputerami w sieci wewnętrznej (np. gdy użytkownik chce stworzyć serwer na swoim komputerze, podłączonym do sieci poprzez mechanizm maskarady). Jest to standardowa opcja dostępna w większości routerów. iptables -t nat -I PREROUTING -p tcp -i eth0 -d 0/0 --dport port -j DNAT --to Adres_wewnetrzny iptables -t nat -I PREROUTING -p udp -i eth0 -d 0/0 --dport port -j DNAT --to Adres_wewnetrzny Powyższy przykład ilustruje przykład przekierowania portu port do komputera znajdującego się w sieci wewnętrznej, o adresie Adres_wewnętrzny. Korzystając z tego przykładu przekierujemy następujące porty : a) Dla komputera o adresie 192.168.65.2 przekieruj port 433 (TCP) (port wykorzystywany przez Skype do transferu plików.) b) Dla komputera o adresie 192.168.65.3 przekieruj port 443 protokołu TCP dla potrzeb protokołu HTTPS. 3. Ochrona przed skanowaniem portów oraz wybranymi atakami sieciowymi. a) Ochrona przed atakiem typu Ping of death Ping of death sposób ataku za pomocą wysłania zapytania ping (ICMP Echo Request) w pakiecie IP o rozmiarze większym niż 65535 bajtów. Atak : ping -l 65510 <adres ip>

Powyższe polecenia wykonać można z poziomu systemu windows 98/NT, oraz niektórych dystrybucji systemu linux, obecnie, w wielu systemach operacyjnych nie można wykonać takiego polecenia za pomocą wbudowanej implementacji polecenia ping. Do 65510 bajtów dodany zostanie nagłówek IP (20 bajtów) i zapytanie ICMP Echo Request (8 bajtów). Może to spowodować awarię atakowanego systemu lub zawieszenie działającej na nim aplikacji. Ochrona : iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT b) Ochrona przed atakiem Syn-flood Atak ten polega na tym, iż komputer (często jest to serwer) odpowiada na pakiety SYN atakującego ale nie otrzymuje pakietów ACK. Powoduje to, że zwykły użytkownik nie otrzymuje odpowiedzi na swoje żądanie. Atak : Atak polega na wysyłaniu dużej ilości pakietów z ustawioną w nagłówku flagą synchronizacji (SYN) i najczęściej ze sfałszowanym adresem IP nadawcy (IP spoofing). Ochrona : iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT Powyższa reguła powoduje, że na pakiety z ustawiona flagą SYN nałożony zostanie limit czasowy, co spowoduje, ze atakowany serwer (tutaj zakładamy, że znajduje się on w sieci wewnętrznej) nie zostanie zablokowany przez fałszywe pakiety SYN, ponieważ tylko ich część będzie docierała do celu, co nie powinno spowodować zablokowania systemu. c) Ochrona przed atakiem IDENT i SOCK SCANNING Atak polega na nawiązywaniu pełnego połączenia TCP i próbie ustalenia, poprzez protokół ident, właściciela procesu na danym porcie. Jeśli właścicielem jest root, można próbować ataku na ten właśnie port. Ochrona : iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable iptables -A INPUT -p tcp --dport 1080 -j REJECT --reject-with icmp-port-unreachable Reguła powoduje, że odrzucamy przychodzące zapytania o IDENT i SOCKS z odpowiedzią port nieosiągalny. c) Ochrona przed skanowaniem portów

Wykorzystując informacje z poprzednich zajęć (instrukcja nr 2 znajduje się na stronie mgr inż. B Matusiaka) zabezpiecz sieć przed skanowaniem potów. d) Ochrona przed atakami typu LAND : - polega na blokowaniu pakietów, których adres docelowy i źródłowy są takie same i jest to jednocześnie adres interfejsu danego hosta.