Usługi sieciowe Wykład 7 Zapora sieciowa, NAT iptables- debian

Slides:



Advertisements
Podobne prezentacje
Usługi sieciowe Wykład VPN -Debian
Advertisements

Usługi sieciowe Wykład 6 Apache2- debian
Usługi sieciowe Wykład 5 DHCP- debian
Sieci komputerowe Protokół TCP/IP Piotr Górczyński 27/09/2002.
Użytkowanie Sieci Marcin KORZEB WSTI - Użytkowanie Sieci.
Sieci komputerowe Protokół TCP/IP.
ZAPORY SIECIOWE Firewall – ściana fizycznie oddzielająca silnik od pasażerów w samochodzie Sposób zabezpieczenia komputera/sieci przed osobami niepowołanymi.
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
Przypisywanie adresów TCP/IP
SIECI KOMPUTEROWE Adresowanie IP Usługa NAT.
SIECI KOMPUTEROWE Adresowanie IP Adresy IPv4.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE PODSTAWOWE.
Architektura Systemów Komputerowych
Jarosław Kurek WZIM SGGW
Usługi sieciowe Wykład 5 DHCP- debian Jarosław Kurek WZIM SGGW 1.
Network Address Translation
Użytkowanie Sieci Marcin KORZEB WSTI - Użytkowanie Sieci.
Autorzy: Damian Dziuba Stanisław Glezner
Wrocław DHCP Autorzy: Paweł Obuchowski Paweł Szuba.
Honorata Prokop, Izabela Ubowska
Piotr Doskocz Aleksandra Lechki Krzysztof Lewicki
Konfiguracja DHCP i dzielenie łącza
PING: Program używany do diagnozowania połączeń sieciowych.
FIREWALL Paweł Woźnica.
Sieci komputerowe: Firewall
PLANET ADE-3410, ADE-3400v2, ADE-4400v2 Modem Router A DSL 2/2+
Bramka internetowa z menadżerem pasma
Komunikaty sterujące zestawu protokołów TCP/IP
Rozwiązywanie problemów z routerem
Listy kontroli dostępu (ACL)
Konfiguracja polcenie SUDO
POŁĄCZENIE MODEMOWE 1. Połączenie modemowe w Ubuntu.
SPRZĘT W UBUNTU 1. Sterowniki do sprzętu w naszym komputerze? Większość sterowników jest już dostępnych w ramach jądra Linuksa i są zainstalowane wraz.
Przegląd zagadnień Struktura sieci systemu Windows 2003
Komputer w sieci – „parametry”
Protokoły komunikacyjne
FireWall Grzegorz Śliwiński.
KONFIGURACJA KOMPUTERA
MODEL WARSTWOWY PROTOKOŁY TCP/IP
Adresy komputerów w sieci
Linux - polecenia.
BUDOWA I DZIAŁANIE SIECI KOMPUTEROWYCH
Informatyka 1 Sieć.
Realizacja prostej sieci komputerowej
Opracował: mgr Artem Nowicki
Sieci komputerowe.
Podstawy działania wybranych usług sieciowych
Konfiguracja IP i sieci w Win XP
ADRES IP – unikatowy numer przyporządkowany urządzeniom sieci komputerowych. Adres IPv4 składa się z 32 bitów podzielonych na 4 oktety po 8 bitów każdy.
Sieć oparta o serwer Ubuntu 12.10
Linux w sieci Konfigurowanie interfejsu sieciowego.
Partner Handlowy Konfiguracja sieci TCP/IP - Windows 9x.
Konfiguracja sieci TCP/IP - Windows for Workgroup 3.11
SYSTEMY OPERACYJNE Adresowanie IP cz3.
Adresowanie w sieci komputerowej
Laboratorium systemów operacyjnych
Sieci komputerowe.
Administracja systemami operacyjnymi wiosna 2014
Aplikacje TCP i UDP. Łukasz Zieliński
Sieci komputerowe Konfiguracja hosta.
Systemy operacyjne i sieci komputerowe
Konfiguracja VPN Klienta – Windows 7
Wybrane systemy operacyjne
Systemy operacyjne i sieci komputerowe
Konfiguracja VPN Serwera – Windows 7
Polecenie chmod change mode - zmiana atrybutu. chmod [opcje] uprawnienia plik Opis klas użytkowników u - użytkownik (user) g - grupa (group) o - inni.
DHCP „I’m a DHCP server at a local restaurant. This chick came up and asked me for my address, and I told her she was out of my scope.” DHCP Server (date.
PODSTAWOWE ZARZĄDZANIE KOMPUTERAMI Z SYSTEMEM WINDOWS
Sieci komputerowe Usługi sieciowe 27/09/2002.
Routing statyczny Sieci IP: / /24
Zapis prezentacji:

Usługi sieciowe Wykład 7 Zapora sieciowa, NAT iptables- debian Jarosław Kurek WZIM SGGW

Jak zmienić UUID dla dysków vdi Zmiana UUID pozwala na uruchomienie dwóch instancji VirtualBoxa (dwóch Dysków vdi) VBoxManage internalcommands setvdiuuid c:\...\disk2.vdi VBoxManage – domyślnie w katalogu c:\program files\sun\virtualbox 2

Iptables –podstawy Reguła, łańcuch, tabela W celu zbadania danego pakietu netfilter/iptables wykorzystuje tzw. reguły. Jest to najmniejsza jednostka filtra netfilter. Zawiera ona zbiór warunków, jakie musi spełniać pakiet oraz akcję, która zostanie wykonana gdy warunki zostaną spełnione. Pojedyncze reguły grupowane są w łańcuchy. Zbiór łańcuchów natomiast tworzy tabelę. Istnieją trzy tabele: 1. filter domyślna tabela; filtrowanie pakietów 2. nat tabela używana przez pakiety nawiązujące połączenie; translacja adresów 3. mangle tabela służąca do modyfikacji przepływających pakietów Każda z tabel zawiera kilka predefiniowanych łańcuchów oraz łańcuchy zdefiniowane przez administratora. Istnieją następujące predefiniowane łańcuchy: ✗ INPUT - wywoływany dla pakietów przybywających z sieci przeznaczonych dla lokalnej maszyny. ✗ FORWARD - wywoływany dla pakietów routowanych przez lokalną maszynę, lecz pochodzących spoza niej i nie przeznaczonych dla niej. ✗ OUTPUT - wywoływany dla pakietów tworzonych lokalnie i wychodzących poza maszynę. ✗ PREROUTING - wywoływany dla pakietów z zewnątrz jeszcze przed ich routowaniem. ✗ POSTROUTING - wywoływany dla pakietów, które właśnie opuszczają maszynę 3

Iptables – konfiguracja reguł Konfiguracja reguł Do zarządzania regułami służy polecenie iptables. Można je wywołać na następujące sposoby: • iptables -t tabela -A łańcuch opis_reguły Dodaje regułę na koniec wskazanego łańcucha we wskazanej tabeli. Parametr -t można pominąć, zostanie wtedy użyta tabela filter. • iptables -t tabela -D łańcuch opis_reguły Usuwa zadaną regułę z łańcucha. • iptables -t tabela -I łańcuch numer_reguły opis_reguły Dodaje regułę we wskazanym miejscu łańcucha. Jeśli pominie się numer_reguły, reguła zostanie wstawiona na początku łańcucha. • iptables -t tabela -R łańcuch numer_reguły opis_reguły Zamienia regułę wskazaną numerem na opisaną w poleceniu. • iptables -t tabela -D łańcuch numer_reguły Usuwa regułę o podanym numerze. • iptables -t tabela -L łańcuch Listuje reguły we wskazanym łańcuchu. Pominięcie nazwy łańcucha spowoduje wylistowanie całej zawartości tabeli. • iptables -t tabela -N łańcuch Tworzy łańcuch użytkownika o zadanej nazwie. • iptables -t tabela -X łańcuch Usuwa łańcuch użytkownika. Warunkiem jest brak odwołań do wskazanego łańcucha w innych łańcuchach. • iptables -t tabela -P łańcuch domyślny_cel Ustawia policy (domyślną akcję) zadanego łańcucha 4

Iptables – przykłady • iptables -P INPUT -j DROP blokujemy wszystko, co do nas dochodzi • iptables -A INPUT -s 0.0.0.0/0 --dport 80 -j ACCEPT zezwalamy na ruch przychodzący z dowonego miejsca na nasz port :80 • iptables -A INPUT -s 192.168.0.15 --dport 22 -j ACCEPT zezwalamy na połączenia ssh z maszyny o podanym adresie • iptables -A INPUT -s 158.75.2.7 -j ACCEPT zezwalamy na połączenia od waldemara (DNS) • iptables -A INPUT -p TCP -s ! 10.0.0.1 --syn -j DENY blokujemy dostęp do naszego komputera dla wszystkich adresów różnych od podanego, które mają ustawioną flagę SYN • iptables -A INPUT -p icmp -j ACCEPT zaczynamy odpowiadać na ping (dotąd blokowała to pierwsza reguła) • iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT przyjmujemy tylko odpowiedzi na nasze zapytania ping (usuń regułę powyżej, aby ta miała sens) • iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT umożliwiamy korzystanie z portów 20, 21 przez klientów ftp (tylko passive mode) • iptables -A INPUT -m state --state RELATED -j ACCEPT umożliwia korzystanie z klientów ftp w trybie aktywnym (potrzebne moduły: ip_conntrack i ip_conntrack_ftp) • iptables -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o ppp0 -j MASQUERADE prosta “maskarada” czyli translacja adresów NAT umożliwiająca dostęp do ppp0 komputerom z sieci 10.0.0.0/8. UWAGA! Aby powyższe polecenie miało sens należy włączyć przekazywanie pakietów w jądrze linuxa: [root@localhost:~]# echo ”1” > /proc/sys/net/ipv4/ip_forward • iptables -A PREROUTING -t nat -p tcp -d 83.156.33.14 --dport 8080 -j DNAT --to 10.0.0.1:80 próba połączenia się z maszyną o wskazanym adresie i podanym porcie z maszyny w sieci lokalnej (w której działa NAT) spowoduje przekierowanie na 10.0.0.1:80 • iptables -A OUTPUT -t nat -p tcp -d 83.156.33.14 --dport 8080 -j DNAT --to 10.0.0.1:80 próba połączenia się z maszyną o wskazanym adresie i podanym porcie z komputera lokalnego spowoduje przekierowanie na 10.0.0.1:80 5

Iptables – warunki Najczęściej używane warunki to: • -p protokół - protokół, do którego należy pakiet. Może być to tcp, udp, icmp lub all (wszystkie). Może być również użyta wartość numeryczna. Wykrzyknik przed nazwą protokołu odwraca znaczenie warunku. • -s adres_źródłowy/maska - adres źródłowy pakietu. Maska może być zapisana tradycyjnie - w postaci czterech liczb oddzielonych kropkami, np. 255.255.255.0 - bądź jako liczbę oznaczającą ilość bitów ustawionych po lewej stronie maski. W przypadku nie podania maski, przyjmowana jest wartość domyślna /32 - akceptowany jest więc tylko zadany adres. Wykrzyknik przed adresem odwraca znaczenie warunku. • -d adres_źródłowy/maska - adres docelowy pakietu. Zasady zapisu adresu takie same, jak dla adresu źródłowego. • -i interfejs - interfejs, z którego pakiet został przyjęty. Można użyć wykrzyknika dla odwrócenia znaczenia warunku. • -o interfejs - interfejs, przez który pakiet zostanie wysłany. • --source-port port - port źródłowy lub zakres portów wg. schematu port_minimalny:port_maksymalny. Użyteczne jedynie z -p tcp lub udp. • --destination-port port - port docelowy lub zakres portów wg. schematu port_minimalny:port_maksymalny. Użyteczne jedynie z -p tcp lub udp. 6

Ćwiczenie 1 Udostępnianie połączenia internetowego Tworzymy sieć, którą można przedstawić następująco ----internet--------eth0-[serwer]--eth1------sieć lokalna----- eth0 - interfejs wychodzący/wchodzący internetowy eth1 - interfejs wychodzący/wchodzący na sieć lokalną 7

Ćwiczenie 1 Udostępnianie połączenia internetowego 1.) W przypadku gdy mamy adres IP przydzielany dynamicznie plik /etc/network/interfaces wygląda następująco: auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 (Adres dla serwera w sieci lokalnej w powyższym przypadku to 192.168.1.1) 8

Ćwiczenie 1 Udostępnianie połączenia internetowego 2.) Posiadamy stały, zewnętrzny adres IP (posiadamy dane dotyczące zewnętrznego adresu ip, masce sieci, adres sieci, bramie) plik /etc/network/interfaces będzie wyglądal tak: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address adres_ip_z_umowy netmask maska_sieci_z_imowy network adres_sieci_Z_umowy gateway brama_z_umowy auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 9

Ćwiczenie 1 Udostępnianie połączenia internetowego nasz plik /etc/resolv.conf będzie wyglądał np. tak nameserver 194.204.152.34 nameserver 194.204.159.1 Po umieszczeniu prawidłowych wpisów restartujemy ustawienia interfejsów internetowych poleceniem /etc/init.d/networking restart 10

Ćwiczenie 1 Udostępnianie połączenia internetowego Teraz udostępnimy połączenie internetowe dla komputerów w sieci lokalnej – tworzymy plik /etc/init.d/firewall poleceniem: touch /etc/init.d/firewall i nadajemy mu uprawnienia do uruchamiania chmod +x /etc/init.d/firewall 11

Ćwiczenie 1 Udostępnianie połączenia internetowego edytujemy powyższy plik wpisując do niego poniższą zawartość (przykład) # uruchomienie przekazywania pakietów echo 1 > /proc/sys/net/ipv4/ip_forward #kasowanie starych reguł iptables -F iptables -X iptables -t nat -X iptables -t nat -F # polityka działania iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # polaczenia nawiazane iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED # udostepniaie internetu dla sieci lokalnej iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT 12

Ćwiczenie 1 Udostępnianie połączenia internetowego Zapisujemy plik. Sprawdzamy czy działa: /etc/init.d/firewall Wydajemy polecenie za pomocą którego skrypt będzie uruchamiał się przy starcie systemu update-rc.d firewall defaults 20 13

Ćwiczenie 1 Udostępnianie połączenia internetowego Konfiguracja stanowisk w sieci Stanowisko 1 IP 192.168.1.2 Maska Sieci 255.255.255.0 Brama 192.168.1.1 DNS'y 194.204.159.1 194.204.152.34 Stanowisko 2 IP 192.168.1.3 14

Ćwiczenie 1 Udostępnianie połączenia internetowego Jeżeli wszystko poprawnie wykonaliśmy sprawdzamy działanie ze stanowisk: Np. traceroute 194.29.146.3 I potem traceroute www.wp.pl 15

Ćwiczenie 2 Instalowanie skanera portów nmap Apt-get install nmap Użycie: nmap 127.0.0.1 16

Ćwiczenie 3 Włączenie ICMP na firewallu: SERVER_IP="202.54.10.20" iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -d $SERVER_IP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type 0 -s $SERVER_IP -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT Wyłączenie: iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP lub iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP 17

Ćwiczenie 4 Przepuszczenie WWW: 18

Ćwiczenie 5 Forwarding SSH do innego hosta w sieci lokalnej: 19

Ćwiczenie 6 Filtrowanie pakietów po MAC Aby dopuścić połączenia z internetem dla komputera z sieci lokalnej o adresie MAC: 4C:00:10:53:D5:47 należy wydać polecenie iptables -I FORWARD -m mac --mac-source 4C:00:10:53:D5:47 -j ACCEPT 20

Ćwiczenie 7 Filtrowanie pakietów po MAC Jeśli chcielibyśmy np dopuścić tylko połączenia na porcie 80 (protkół HTTP) to uczynimito poleceniem: # iptables -I FORWARD -p tcp --destination-port 80 -m mac --mac-source 4C:00:10:53:D5:47 -j ACCEPT 21

Ćwiczenie 8 Filtrowanie pakietów po MAC Jeśli chcielibyśmy np dopuścić tylko połączenia na porcie 80 (protkół HTTP) to uczynimito poleceniem: # iptables -I FORWARD -p tcp --destination-port 80 -m mac --mac-source 4C:00:10:53:D5:47 -j ACCEPT 22