Warsztaty z Sieci komputerowych Lista 8

Podobne dokumenty
Warsztaty z Sieci komputerowych Lista 9

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

Router programowy z firewallem oparty o iptables

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

Zarządzanie bezpieczeństwem w sieciach

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

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

Warsztaty z Sieci komputerowych Lista 3

Warsztaty z Sieci komputerowych Lista 3

Iptables informacje ogólne

Tomasz Greszata - Koszalin

Warsztaty z Sieci komputerowych Lista 4

Warsztaty z Sieci komputerowych Lista 1

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

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

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

Pakiet Iptables. Filtrowanie pakietów i filtrowanie stanowe

Problemy techniczne SQL Server

iptables/netfilter co to takiego?

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

Warsztaty z Sieci komputerowych Lista 4

Warsztaty z Sieci komputerowych Lista 1

Sieci Komputerowe Translacja adresów sieciowych

Projektowanie bezpieczeństwa sieci i serwerów

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

Laboratorium - Konfigurowanie zapory sieciowej systemu Windows 7

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres.

Instalacja i konfiguracja pakietu iptables

KONFIGURACJA USŁUGI ZSIMED NA SERWERZE ZDALNYM

Laboratorium - Konfiguracja zapory sieciowej systemu Windows Vista

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

Warsztaty z Sieci komputerowych Lista 7

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

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

Zapory sieciowe i techniki filtrowania danych

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Pakiet Iptables. Filtrowanie pakietów i filtrowanie stanowe

Instrukcja połączenia z programem Compas LAN i import konfiguracji

Problemy techniczne SQL Server. Jak odblokować porty na komputerze-serwerze, aby umożliwić pracę w sieci?

Zapora systemu Windows Vista

Firewall bez adresu IP

Warsztaty z Sieci komputerowych Lista 5

Ćwiczenie Konfiguracja statycznych oraz domyślnych tras routingu IPv4

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

Ping. ipconfig. getmac

Konfiguracja zapory Firewall w systemie Debian.

Bezpieczeństwo w M875

Przykłady wykorzystania polecenia netsh

Tomasz Greszata - Koszalin

Stacja graficzna szkoleniowa typ A1, A2, B - Procedura odbioru sprzętu

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

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

SIECI KOMPUTEROWE - BIOTECHNOLOGIA

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

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Ćwiczenie a Budowanie sieci z wykorzystaniem koncentratorów

4. Podstawowa konfiguracja

Co to jest iptables?

Laboratorium 6.7.1: Ping i Traceroute

7. Konfiguracja zapory (firewall)

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

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

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

Nazwa kwalifikacji: Projektowanie lokalnych sieci komputerowych i administrowanie sieciami Oznaczenie kwalifikacji: E.13 Numer zadania: 01

Wireshark analizator ruchu sieciowego

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

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

MONITOROWANIE WINDOWS Z NETCRUNCHEM 7 P A G E 1

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Opracowany na podstawie

Instalacja i konfiguracja serwera telnet.

Laboratorium 2 Sieci Komputerowe II Nazwisko Imię Data zajęd

Laboratorium Badanie topologii i budowa małej sieci

Telefon IP 620 szybki start.

Linux. iptables, nmap, DMZ

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

Puk, puk! Kto tam? Eeeee... Spadaj!

Instrukcja dla instalatora systemu SMDP Enterprise/Professional

Sieci komputerowe : zbuduj swoją własną sieć - to naprawdę proste! / Witold Wrotek. wyd. 2. Gliwice, cop Spis treści

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

Zadania do wykonania Firewall skrypt iptables

eth /30 eth1 eth /30 eth /30 Serwer IPERF

Uwaga: NIE korzystaj z portów USB oraz PWR jednocześnie. Może to trwale uszkodzić urządzenie ZyWALL.

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

Strona1. Suse LINUX. Konfiguracja sieci

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 ZASADY OCENIANIA

Instrukcja do programu Roger Licensing Server v1.0.0 Rev. A

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

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 ZASADY OCENIANIA

T: Zabezpieczenie dostępu do komputera.

Tworzenie maszyny wirtualnej

ABA-X3 PXES v Podręczna instrukcja administratora. FUNKCJE SIECIOWE Licencja FDL (bez prawa wprowadzania zmian)

Badanie tunelowania. lp wykonawca grupa (g) 1. Grzegorz Pol 2. Michał Grzybowski 3 3. Artur Mazur

Rozdział 8. Sieci lokalne

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

Konfiguracja zapory ogniowej w trybie standardowym na module SCALANCE S623

Konfiguracja podglądu obrazu z kamery IP / rejestratora BCS przez sieć LAN.

Narzędzia diagnostyczne protokołów TCP/IP

Telefon AT 530 szybki start.

8. Sieci lokalne. Konfiguracja połączenia lokalnego

Transkrypt:

Warsztaty z Sieci komputerowych Lista 8 Na dzisiejszej pracowni wszystkie komputery są podłączone interfejsami enp3s0 do przełącznika, zaś interfejsy enp1s0 spinają parami sąsiednie komputery. Do konfiguracji zapory wykorzystamy program iptables; zapora jest po prostu listą reguł, które rozpatrywane są od początku do końca (kolejność ma znaczenie). Konfiguracja przeprowadzana jest interaktywnie przez wpisanie reguł w odpowiednie miejsca listy. Wygodniej jest jednak wykorzystać następujące podejście: 1. Tworzymy plik firewall.sh, na którego początku znajduje się polecenie wyczyszczenia listy reguł. 2. Kolejne polecenia z pliku firewall.sh to wywołania programu iptables, dopisujące reguły na koniec listy. Dzięki temu jeśli wykonamy plik firewall.sh, reguły zapory będą dokładnie takie, jak zapisane w tym pliku. Zadanie 1. W tym zadaniu stworzymy podstawowe reguły zapory. Upewnij się, że interfejs enp3s0 jest aktywny a przypisany do niego adres IP należy do podsieci 172.16.0.0/16. Utwórz plik firewall.sh i nadaj mu prawa do uruchamiania. Następnie wpisz do niego następujące wiersze pomijając numery i następujące po nich dwukropki. 1: #!/bin/bash 2: set -x 3: 4: sudo iptables -F 5: sudo iptables -t nat -F 6: 7: sudo iptables -P INPUT DROP 8: sudo iptables -P FORWARD DROP 9: sudo iptables -P OUTPUT ACCEPT 10: 11-15: # tu będą reguły zapory 16: 17-21: # a tu będą reguły NAT 22: 23: sudo iptables -A INPUT -j LOG --log-prefix "blokada INPUT " 24: sudo iptables -A FORWARD -j LOG --log-prefix "blokada FORWARD " Wiersze 1 2 informują, że skrypt będzie skryptem powłoki bash i że podczas jego uruchamiania mają być wypisywane poszczególne instrukcje (ułatwia to późniejsze znajdowanie 1

błędów). Wiersze 4 5 powodują usunięcie wszystkich reguł (z domyślnej tabeli filter i tabeli nat). Wiersze 7 9 ustawiają domyślną politykę modułów (chains) INPUT i FORWARD na wyrzucanie pakietów, zaś modułu OUTPUT na ich przyjmowanie. Wiersze 11 15 i 17 21 wypełnimy później. Będą tam znajdować się reguły zezwalające na różne typy pakietów przychodzących (moduł INPUT) albo przechodzących przez nasz komputer (moduł FORWARD). Do wierszy 22 23 dotrą zatem pakiety, które nie zostaną wpuszczone przez żadne wcześniejsze reguły. Reguły z tych wierszy powodują zapisanie informacji o takich pakietach do pliku dziennika (typowo do /var/log/messages). Po wpisaniu poleceń do pliku firewall.sh uruchom je poleceniem $>./firewall.sh A następnie wyświetl bieżące ustawienia zapory poleceniami #> iptables -L -n #> iptables -t nat -L -n Powyższe polecenia należy wykonywać po każdej edycji pliku firewall.sh; nie będzie to zaznaczone w poniższych zadaniach. W osobnej konsoli wpisz (i pozostaw uruchomione) polecenie $> tail -f /var/log/messages Będzie ono wyświetlać bieżącą końcówkę pliku dziennika, czyli w szczególności zablokowane pakiety. Spróbuj teraz połączyć się teraz z zewnętrznym serwerem SSH poleceniem $> ssh 192.168.254.254 Czy udaje się nawiązać połączenie? Oglądając plik dziennika wywnioskuj, że przyczyną problemów jest niewpuszczanie odpowiedzi od serwera SSH. Spróbuj wpisać też polecenie: $> ssh eagle-server.example.com Tym razem przyczyną powinno być niewpuszczanie odpowiedzi od serwera DNS. Zadanie 2. Zaktualizuj firewall.sh dopisując regułę wpuszczającą pakiety należące do już nawiązanych połączeń 11: sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT Ponownie sprawdź połączenie z serwerem SSH poleceniem $> ssh eagle-server.example.com Tym razem powinno ono zadziałać. Sprawdź, czy możesz połączyć się z serwerem SSH swojego sąsiada wpisując 2

$> ssh adres IP sąsiada Co pojawia się w Twoim pliku dziennika, a co w pliku dziennika sąsiada? Połączenie nie powinno się udać, gdyż próba połączenia z portem 22 będzie odrzucana. Z tego samego powodu niemożliwe powinno być także połączenie się z własnym serwerem SSH poleceniem $> ssh 127.0.0.1 Aby to naprawić wpuść wszystkie połączenia lokalne i połączenia SSH z zewnątrz, wpisując do pliku firewall.sh następujące wiersze: 12: sudo iptables -A INPUT -i lo -j ACCEPT 13: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT Ponownie spróbuj połączyć się przez SSH z sąsiadem i samym sobą. Zadanie 3. Spróbuj pingnąć samego siebie i sąsiada. Ping sąsiada powinien być odrzucany. Sprawdź, co jest dopisywane do pliku dziennika. Aby wpuścić pakiety ICMP wykorzystywane przez ping (pakiety o typie echo-request dodaj następujące wiersze do pliku firewall.sh. 14: sudo iptables -A INPUT -p icmp --icmp-type echo-request -j LOG --log-prefix "Ktos pinga! " 15: sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT Wiersz 14 powinien być wpisany w jednej linii; został rozbity na dwie, żeby zmieścić się na kartce. Wiersz 14 powoduje rejestrowanie pingów w pliku dziennika. Reguła -j LOG jest specyficzna: nawet jeśli zostanie zastosowana do pakietu, to następne reguły są nadal przeglądane. Sprawdź, jakie komunikaty pojawiają się w plikach dziennika (Twoim i Twojego sąsiada) jeśli pingacie się nawzajem, a jakie, kiedy pingacie swoje własne komputery. Wyświetl statystyki zapory poleceniem #> iptables -L -nv Ile pakietów zostało zatrzymanych a ile przepuszczonych przez poszczególne reguły? W tym momencie w pliku firewall.sh powinny być już wypełnione wiersze 11 15. Za pomocą polecenia #> nmap -v -A adres IP sąsiada sprawdź jakie porty są otwarte na komputerze obok. Przeczytaj uważnie wyświetlane informacje. Oglądając pakiety w Wiresharku i komunikaty o zablokowanych pakietach w pliku dziennika sprawdź, z jakimi portami usiłował połączyć się nmap. Zadanie 4. W tym i kolejnym zadaniu wykorzystamy interfejsy enp1s0; zadania należy wykonywać w parach. Komputer należący do jednej z osób będzie routerem NAT, zaś drugi komputer będzie stacją roboczą. Dążymy do otrzymania działającej konfiguracji przedstawionej na poniższym rysunku (pierwsza warstwa to routery NAT zaś druga stacje robocze). 3

routery NAT enp3s0 = 172.16.x.y/16 enp1s0 = 10.0.0.1/8 stacje robocze enp1s0 = 10.0.0.2/8 Na stacjach roboczych nie będziemy już dodawać kolejnych poleceń do konfiguracji zapory. Usuń tam systemową konfigurację interfejsu enp3s0 i wyłącz go, a interfejs enp1s0 uaktywnij i przypisz mu adres 10.0.0.2/8 poleceniami: #> ifdown enp3s0 #> ip link set up dev enp1s0 #> ip addr add 10.0.0.2/8 dev enp1s0 Natomiast na routerze NAT należy skonfigurować interfejs enp1s0 przypisując mu adres 10.0.0.1/8 poleceniami #> ip link set up dev enp1s0 #> ip addr add 10.0.0.1/8 dev enp1s0 Poleceniem ping sprawdźcie, czy sąsiadujące komputery widzą się nawzajem przez interfejs enp1s0. Zauważ, że adresy z sieci 172.16.0.0/16 jednoznacznie identyfikują adresy kart enp3s0 routerów NAT, lecz takie same adresy z zakresu 10.0.0.0/8 są przypisane do wielu komputerów. Najpierw pokażemy, do jakich problemów może to prowadzić. Na stacji roboczej ustaw jako bramę domyślną sąsiedni router NAT poleceniem #> ip route add default via 10.0.0.1 Oznaczmy adres IP karty enp3s0 sąsiedniego routera NAT przez A zaś adres IP karty enp3s0 jakiegoś innego routera NAT przez B. Na stacji roboczej pingnij adresy A i B. Zaobserwuj, co pojawia sie wtedy w pliku dziennika sąsiedniego routera NAT. Okazuje, się że winne jest blokowanie ruchu przechodzącego przez router NAT. Napraw to dopisując na routerze NAT następujące wiersze do pliku firewall.sh. 17: sudo iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT 18: sudo iptables -A FORWARD -i enp1s0 -o enp3s0 -j ACCEPT Drugie z nich przepuszcza cały ruch pochodzący od stacji roboczej, zaś pierwsze wpuszcza pakiety należące do już nawiązanych połączeń. Ponownie pingnij adresy A i B ze stacji roboczej. Sprawdźcie w Wiresharku, że w drugim przypadku odpowiedź na Twojego pinga otrzymuje stacja robocza sąsiadująca z routerem B! Dlaczego tak się dzieje? Aby temu zaradzić, włączymy funkcję źródłowego NAT na routerach NAT dopisując do ich pliku firewall.sh następujący wiersz 4

19: sudo iptables -t nat -A POSTROUTING -o enp3s0 -j SNAT --to 172.16.x.y gdzie adres 172.16.x.y jest adresem IP przypisanym karcie enp3s0 routera NAT. Na stacji roboczej ponownie pingnij adresy A i B. Na routerze NAT B w Wiresharku zaobserwuj z jakiego adresu IP pochodzą dochodzące do niego pingi (wygląda to tak, jakby pingał go router A, choć pole TTL jest o 1 mniejsze niż normalnie). Tym razem oba pingnięcia powinny się udać. Natomiast na routerze NAT A sprawdź, że wszystkie pakiety są rejestrowane dwukrotnie w Wiresharku: przed i po podmianie adresów IP. Zadanie 5. W poprzednich zadaniach skonfigurowaliśmy możliwość łączenia się stacji roboczych (reprezentujących lokalne sieci) z siecią 172.16.0.0/16 (reprezentującą Internet). Co jednak zrobić, jeśli zapragniemy połączyć się ze stacją roboczą z Internetu przez protokół SSH? Wystarczy w tym celu przekierować port routera NAT (np. 2222) do portu 22 stacji roboczej sąsiadującej z tym routerem, wpisując do pliku firewall.sh na routerze NAT 20: sudo iptables -t nat -A PREROUTING -i enp3s0 -p tcp --dport 2222 -j DNAT --to 10.0.0.2:22 21: sudo iptables -A FORWARD -i enp3s0 -o enp1s0 -p tcp -d 10.0.0.2 --dport 22 -j ACCEPT Pierwszy wiersz powoduje zamianę docelowego adresu IP na 10.0.0.2, zaś drugi przepuszcza ruch przez router NAT pod warunkiem, że jest on skierowany do portu 22 stacji roboczej. (Reguły modułu PREROUTING tabeli nat są rozpatrywane wcześniej niż modułu FORWARD, więc adresy na tym etapie będą już podmienione). Sprawdź, że połączenie z serwerem SSH stacji roboczej jest możliwe zarówno w przypadku kiedy klientem jest jakiś router NAT jak i inna stacja robocza. W obu przypadkach polecenie powinno wyglądać następująco: $> ssh -p 2222 IP routera NAT gdzie IP routera NAT jest adresem karty enp3s0 routera NAT sąsiadującego ze stacją roboczą, z której usługą SSH chcemy się połączyć. Obejrzyj w Wiresharku przesyłane pakiety. Zobacz też, co zapisywane jest do pliku dziennika. Na końcu usuń na wszystkich komputerach reguły zapory i zdekonfiguruj interfejs enp1s0 poleceniami #> iptables -F #> iptables -t nat -F #> ip addr flush enp1s0 #> ip link set down dev enp1s0 Dodatkowo na stacjach roboczych przywróć systemową konfigurację interfejsu enp3s0 poleceniem ifup enp3s0. Lista i materiały znajdują się pod adresem http://www.ii.uni.wroc.pl/~mbi/dyd/. Marcin Bieńkowski 5