ZABEZPIECZENIE PRZED ZMIANĄ ADRESU IP PRZEZ UŻYTKOWNIKA Andrzej Angowski UCI, UMK Toruń



Podobne dokumenty
Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Opracowany na podstawie

Ćwiczenie 5a Sieć komputerowa z wykorzystaniem rutera.

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

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

Ćwiczenie 5b Sieć komputerowa z wykorzystaniem rutera.

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

Tomasz Greszata - Koszalin

Ćwiczenie 7 Sieć bezprzewodowa z wykorzystaniem rutera.

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

Zadania do wykonania Firewall skrypt iptables

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Router programowy z firewallem oparty o iptables

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

FAQ: /PL Data: 19/11/2007 Programowanie przez Internet: Przekierowanie portu na SCALANCE S 612 w celu umo

Usługi sieciowe systemu Linux

Serwer DHCP (dhcpd). Linux OpenSuse.

Konfiguracja zapory Firewall w systemie Debian.

FAQ: /PL Data: 16/11/2007 Programowanie przez Internet: Konfiguracja modułów SCALANCE S 612 V2 do komunikacji z komputerem przez VPN

Udostępnianie zasobów Gentoo Linux systemom Microsoft Windows 7 za wykorzystaniem ku temu serwera plików i drukarek SAMBA.

pasja-informatyki.pl

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Administratora CSIZS - OTM

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

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

Oprogramowanie OpenVPN jest oprogramowaniem darmowym, które można pobrać ze strony:

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Synchronizacja czasu - protokół NTP

UNIFON podręcznik użytkownika

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

DHCP + udostępnienie Internetu

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

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

Zarządzanie użytkownikami w

Sieciowa instalacja Sekafi 3 SQL

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

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

PAP-2T w sieci FreePhone

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

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Laboratorium Ericsson HIS NAE SR-16

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

Windows Server Active Directory

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

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

Kancelaria instalacja sieciowa

Instrukcja konfiguracji urządzenia Comarch TNA Gateway Plus

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

podstawowa obsługa panelu administracyjnego

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

Pomoc: konfiguracja PPPoE

DLA DREAMBOX & FLASHWIZARD

Instalacja i konfiguracja serwera DHCP.

Zarządzanie bezpieczeństwem w sieciach

Tworzenie maszyny wirtualnej

1 Powłoka programu Windows PowerShell Skrypty programu Windows PowerShell Zarządzanie dziennikami... 65

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Projektowanie Bezpieczeństwa Sieci Łukasz Jopek Projektowanie Bezpieczeństwa Sieci - Laboratorium. Konfiguracja NAP Network Access Protection

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

System kontroli dostępu ACCO NET Instrukcja instalacji

WAŻNE: Słowo 'auto' oznacza, że konfigurujemy interfejs fizyczny. Wymienione po nim nazwy

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

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

DOKUMENTACJA TECHNICZNA DO PROJEKTU:

Konfiguracja SNMP z wykorzystaniem pakietu MRTG

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.

Instrukcja obsługi. Grand IP Camera III. Kamera IP do monitoringu

Warsztaty z Sieci komputerowych Lista 9

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 18. ZASADY ADRESOWANIA IP cz. I. Opracował Sławomir Zieliński

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

Zapoznanie się z konfiguracją i zarządzaniem serwerem Samba.

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

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

KolNet. Konfiguracja kolektora Honeywell i instalacja programu. NET Innovation Software Sp. z o. o.

Instalacja i konfiguracja pakietu iptables

podstawowa obsługa panelu administracyjnego

1. Przygotowanie konfiguracji wstępnej Windows Serwer 2008 R2

TP-LINK 8960 Quick Install

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

1. INSTALACJA SERWERA

Kasowanie domyślnej konfiguracji Konfiguracja wstępna. Nadanie adresu IP i bramy domyślnej Konfiguracja nowego hotspota...

1. Ściągnąłem wersję dla Linuksa, ale jak ją zainstalować?

Rejestratory Trend szybka konfiguracja do obsługi przez sieć.

Wskazówki do instalacji Systemu Symfonia Forte. Szybki start

Współpraca z platformą Emp@tia. dokumentacja techniczna

VPN e-science.pl Podręcznik użytkownika

Konfiguracja połączenia internetowego serwera w pracowni Microsoft

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Firewall bez adresu IP

Data modyfikacji:

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Pomoc dla usługi GMSTHostService. GMSTHostService. Pomoc do programu 1/14

* konfiguracja routera Asmax V.1501 lub V.1502T do połączenia z Polpakiem-T lub inną siecią typu Frame Relay

Tomasz Greszata - Koszalin

HotSpot. 1. Wstęp. Partnerzy:

Tworzenie połączenia szerokopasmowego /PPPoE/ dla sieci SOLARNET w systemie Linux

Transkrypt:

ZABEZPIECZENIE PRZED ZMIANĄ ADRESU IP PRZEZ UŻYTKOWNIKA Andrzej Angowski UCI, UMK Toruń Wprowadzenie Zgodnie z ujednoliconą polityką bezpieczeństwa wśród organizacji partnerskich projektu eduroam, na dostawcy usługi dostępu do sieci Internet spoczywa obowiązek przechowywania dostatecznej ilości informacji, aby być w stanie jednoznacznie powiązać adres fizyczny (MAC) karty sieciowej użytkownika z otrzymanym przez niego w momencie zalogowania adresem logicznym (IP). Aby tego dokonać administrator przechowuje informacje o transakcjach DHCP (zapisywany jest czas uzyskania dzierżawy, adres fizyczny (MAC) i adres logiczny (IP)) dokonywanych przez klienta. Problem pojawia się, gdy użytkownik zmieni adres IP. Wówczas tracona jest informacja o powiązaniu pomiędzy adresem IP i MAC. Z tej sytuacji są dwa wyjścia: logować każdy pakiet przechodzący przez firewall zapisując nie tylko informacje o adresie IP, ale też MAC lub wprowadzić mechanizm zabezpieczający przed zmianą adresu IP przez użytkownika. Na Uniwersytecie Mikołaja Kopernika w Toruniu wybrano drugie rozwiązanie. Aby uniemożliwić zmianę adresu IP przez klienta standardowo firewall eduroam nie przekazuje pakietów z Internetu do eduroam i odwrotnie. Dopiero po udanej transakcji DHCP możliwa jest komunikacja klienta ze światem zewnętrznym. Zamiast standardowego serwera DHCP zwykle dołączanego do dystrybucji Linux'a (Internet Systems Consortium's DHCPD) zastosowano do tego celu dnsmasq (więcej na: http://thekelleys.org.uk/dnsmasq/doc.html), który umożliwia wywołanie skryptu w momencie uzyskania dzierżawy adresu IP z DHCP. W ten sposób ilość przechowywanych informacji potrzebna, aby sprostać wymaganiom nałożonym na dostawcę usługi dostępu do Internetu znacznie się zmniejszyła. Wymagania Aby wprowadzić powyższy schemat w życie potrzebny będzie serwer oparty na systemie Linux. Serwer będzie obsługiwał zapytania DHCP klientów, będzie także firewall'em i routerem dla klientów podłączonych do sieci eduroam. Na Uniwersytecie Mikołaja Kopernika zastosowano maszynę klasy PC z procesorem Intel Pentium IV 1.6GHz, 512MB RAM. Na maszynie zainstalowano Fedorę Core 5. W dalszej części zakładam, że na maszynie zainstalowano standardowy zestaw pakietów z dystrybucji Fedora Core 5. Serwer jest skonfigurowany i działa poprawnie jako router dla użytkowników sieci eduroam.

Konfiguracja standardowej polityki firewalla W ustawieniu firewalla należy zmienić standardową politykę przekazywania pakietów z ACCEPT na DROP (lub REJECT). Aby tego dokonać wydajemy polecenie (jako root): #> iptables -P FORWARD DROP lub zmieniamy odpowiedni wpis w pliku /etc/sysconfig/iptables #> vim /etc/sysconfig/iptables z :FORWARD ACCEPT [0:0] na :FORWARD DROP [0:0] i restartujemy iptables poleceniem: #> service iptables restart Ponadto należy zadbać, aby standardowo łańcuch FORWARD nie posiadał żadnych reguł. Dla pewności wpisujemy z pozycji uprzywilejowanego użytkownika root: #> iptables -F FORWARD Instalacja oprogramowania dnsmasq (http://thekelleys.org.uk/dnsmasq/doc.html) Standardowo oprogramowanie dnsmasq dołączone jest do dystrybucji Fedora Core 5 jako pakiet extras. Wystarczy więc wpisać (znów jako root): #> yum install dnsmasq W ogólnym przypadku należy pobrać z http://www.thekelleys.org.uk/dnsmasq/ najnowszą wersję źródeł, rozpakować i zbudować pakiet za pomocą narzędzia make zgodnie z instrukcjami zawartymi wewnątrz spakowanych źródeł. Konfiguracja środowiska Ze względów bezpieczeństwa skrypt obsługujący dodawanie i usuwanie reguł z łańcucha FOR WARD nie powinien być wywoływany jako użytkownik root. Do tego celu tworzymy użytkownika i grupę dnsmasq: #> groupadd dnsmasq -g <GID> #> useradd dnsmasq -u <UID> -g <GID> -M gdzie <GID> oznacza nieużywany do tej pory w systemie identyfikator grupy, <UID> oznacza nieużywany jeszcze w systemie identyfikator użytkownika. Następnie w pliku /etc/shadow w miejsce hasła użytkownika dnsmasq wstawiamy!! aby uniemożliwić mu logowanie do systemu. Wykonujemy więc polecenia (jako root):

#> cp /etc/shadow /etc/shadow-kopia #> vim /etc/shadow Aby użytkownik dnsmasq miał możliwość manipulacji łańcuchem FORWARD niezbędne jest dodanie wiersza do pliku /etc/sudoers: dnsmasq ALL=(root) NOPASSWD: /sbin/iptables -L FORWARD, \ /sbin/iptables -A FORWARD *, /sbin/iptables -D FORWARD * za pomocą poleceń: #> cp /etc/sudoers /etc/sudoers-kopia #> vim /etc/sudoers Przygotowanie skryptu obsługującego reguły łańcucha FORWARD Najprostszy skrypt dodający i usuwający reguły z łańcucha FORWARD ma postać: #!/bin/sh ############################################# # Uniwersytet Mikołaja Kopernika w Toruniu # # Pracowania Sieci Uczelnianej # # # # Przykładowy skrypt zarządzający regułami # # firewalla sieci eduroam # ############################################# # # skrypt posiada trzy parametry: # 1) add (nowa dzierżawa DHCP) # del (wygasająca dzierżawa) # old (odnowiona dzierżawa # np. w wypadku restartu dnsmasq w czasie trwania dzierżawy) # 2) adres MAC klienta # 3) adres IP klienta otrzymany z DHCP IPTABLES='/sbin/iptables' EXT_INTERFACE=<EXTERNAL INTERFACE> INT_INTERFACE=<INTERNAL INTERFACE> # jeśli dzierżawa jest nowa ($1 = add) lub odnowiona ($1 = old) # i nie ma jeszcze takiej reguły w łańcuchu FORWARD # to pozwalamy na przekazywanie pakietów w obie strony. if [ \( $1 = 'add' -o $1 = 'old' \) -a \ `sudo $IPTABLES -L FORWARD grep -i -c $3 ` -eq 0 ] then sudo $IPTABLES -A FORWARD -i $INT_INTERFACE -o $EXT_INTERFACE \ -m mac --mac-source $2 -s $3 -j ACCEPT sudo $IPTABLES -A FORWARD -o $INT_INTERFACE -i $EXT_INTERFACE \ -d $3 -j ACCEPT fi

# jeśli dzierżawa wygasa ($1 = del) # i istnieją reguły w łańcuchu FORWARD # pozwalające na przekazywanie pakietów w obie strony # to je usuwamy. if [ $1 = 'del' -a \ `sudo $IPTABLES -L FORWARD grep -i -c $3 ` -ne 0 ] then sudo $IPTABLES -D FORWARD -i $INT_INTERFACE -o $EXT_INTERFACE \ -m mac --mac-source $2 -s $3 -j ACCEPT sudo $IPTABLES -D FORWARD -o $INT_INTERFACE -i $EXT_INTERFACE \ -d $3 -j ACCEPT fi gdzie <EXTERNAL_INTERFACE> to interfejs zewnętrzny (wyjście na świat), np. eth0, <INTER NAL_INTERFACE> to interfejs wewnętrzny (klienci eduroam), np. eth1 UWAGA! Sprawdzenie czy reguły już istnieją czy nie potrzebne jest w przypadku, gdy: Maszyna została zrestartowana, łańcuch FORWARD jest pusty. Przy starcie dnsmasq przywraca trwające dzierżawy (old) i próbuje usunąć te, które zdążyły wygasnąć w trakcie wyłączenia maszyny (del). Przy próbie usunięcia nieistniejącej reguły otrzymujemy błąd: iptables: Bad rule (does a matching rule exist in that chain?) Dnsmasq został zrestartowany, np. aby wprowadzić zmiany w konfiguracji dnsmasq, Reguły w łańcuchu FORWARD cały czas istnieją. Jak w poprzednim punkcie, przy starcie dnsmasq dopisuje reguły dla trwających dzierżaw (old) i usuwa te, których dzierżawy zdążyły wygasnąć w trakcie restartu dnsmasq (del). Następuje zdublowanie reguł. Powyższe sprawdzenie istnienia reguł zapobiega obu sytuacjom. Skrypt umieszczamy np. w katalogu /opt/local/dnsmasq/dnsmasq_event. Plik oraz katalog, w którym go umieszczamy dodatkowo zabezpieczamy przed niepowołanym dostępem: #> chown dnsmasq:dnsmasq /opt/local/dnsmasq/ #> chmod 700 /opt/local/dnsmasq/ #> chown dnsmasq:dnsmasq /opt/local/dnsmasq/dnsmasq_event #> chmod 700 /opt/local/dnsmasq/dnsmasq_event

Konfiguracja dnsmasq Standardowo konfiguracja oprogramowania dnsmasq znajduje się w /etc/dnsmasq.conf. Minimalna konfiguracja dla potrzeb eduroam może być następująca: ############################################ # Uniwersytet Mikołaja Kopernika w Toruniu # # Pracowania Sieci Uczelnianej # # # # Przykładowy plik konfiguracyjny serwera # # dnsmasq (DHCP) sieci eduroam # ############################################ # Configuration file for dnsmasq. # # Format is one option per line, legal options are the same # as the long options legal on the command line. See # "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details. # dnsmasq uruchamiany jest jako użytkownik dnsmasq, grupa dnsmasq user=dnsmasq group=dnsmasq # wypisujemy interfejsy, na których nasłuchuje dnsmasq interface=<internal_interface> # wypisujemy interfejsy, na których _NIE_ nasłuchuje dnsmasq except-interface=<external_interface> # podajemy dokładnie, na których adresach # dnsmasq powinien nasłuchiwać listen-address=127.0.0.1 listen-address=<ip_address> # wymuszamy bindowanie określonego adresu dla usług # zadeklarowanych powyżej bind-interfaces # ustawiamy domenę domain=<domain> # ustawiamy skrypt, który ma być uruchamiany # przy uzyskaniu/wygaśnięciu dzierżawy DHCP dhcp-script=/opt/local/dnsmasq/dnsmasq_event # ustawiamy (umowną) nazwę sieci na mynetwork1, # zakres adresów IP i okres dzierżawy DHCP dhcp-range=mynetwork1,<lowest_ip>,<highest_ip>,2h # serwer DHCP ma być "autorytatywny" dhcp-authoritative gdzie <EXTERNAL_INTERFACE> to interfejs zewnętrzny (wyjście na świat), np. eth0, <INTER NAL_INTERFACE> to interfejs wewnętrzny (klienci eduroam), np. Eth1, <IP_ADDRESS> to adres IP nadany interfejsowi <INTERNAL_INTERFACE>, <DOMAIN> to nazwa domeny pod którą pracować będą klienci eduroam, <LOWEST_IP> i <HIGHEST_IP> to najniższy i najwyższy dostępny adres IP w puli adresów przeznaczonej do przydzielenia dla klientów DHCP.

Następnie ustawiamy automatyczny start demona dnsmasq przy starcie systemu (jako root): #> setup -> usługi systemowe -> zaznaczamy opcje dnsmasq lub #> chkconfig --add dnsmasq Uwagi dodatkowe Oprogramowanie dnsmasq powstało głównie z myślą o małych i średnich sieciach za maskaradą. Integruje ono w sobie demona DHCP, ale także DNS. Dobrze więc jest wykorzystać go w swojej sieci jako serwer cache'ujacy zapytania DNS. Dla danych interfejsów standardowo obie usługi (DHCP i DNS) są wystawione. Istnieje możliwość wyłączenia funkcjonalności DHCP przy zachowaniu DNS za pomocą opcji w pliku dnsmasq.conf: no-dhcp-interface=<internal_interface> niestety nie ma możliwości zachowania funkcjonalności DHCP i wyłączenia DNS.