November 10, 2024, Sunday, 314

SK Zadanie 3

From Łukasz Graczykowski

Revision as of 20:13, 10 November 2016 by Lgraczyk (Talk | contribs)
Jump to: navigation, search

Contents

Zadania

Zadanie A

Należy skonfigurować router Linksys Model WRT54G w celu stworzeia sieci bezprzewodowej zabezpieczonej hasłem zaszyfrowanym w standardzie WPA2.

Zadania:

  • Ustawić hasło do wifi na “alamakota”
  • Ustawić nazwę sieci na “sk2016”
  • Ukryć sieć tak, by nie była dostępna dla osób, które nie znają jej nazwy.

Przy realizacji zadania trzeba pamiętać również o:

  • Zmiana hasła administratora “alamakotaadmin”
  • Wybraniu optymalnego kanału Wifi (np. program “Wifi Analyzer na systemach Android”)

Zadanie B

Konfigurujemy router programowy z wykorzystaniem mini komputera Raspberry Pi z zainstalowanym systemem operacyjnym Linux Mate. Do komputera podłączony jest na wejściu sygnał internetowy od dostawcy internetu (w naszym przypadku z "gniazdka" wydziałowego), zaś na wyjściu podpinany jest switch przekazujący sygnał do poszczególnych komputerów podłączanych do tworzonej przez nas sieci. W Rasperry Pi należy:

  • podłączyć kabel Ethernet z sygnałem internetowym oraz switch
  • utworzyć odpowiednie reguły przekierowania (forwarding) z wykorzystaniem narzędia iptables
  • skonfigurować serwery DHCP do automatycznego przydzielania adresów IP oraz DNS do rozpoznawania nazw wewnątrz podsieci, z wykorzystaniem narzędzia dnsmasq

Zadanie C

Zadanie manualne polegające na przygotowaniu kabla sieciowego z końcówkami typu RJ45 bez przeplotu, służącego do połączenia komputera z routerem.

Zadanie D

W maszynie wirtualnej należy zainstalować serwer ssh, umożliwiający zdalne łączenie się z komputerem. Następnie przetestować działanie zdalengo logowania ssh oraz zdalnego kopiowania pomiędzy komputerami w sieci za pomocą scp (ustawienia sieciowe maszyny wirtualnej przełączamy w "Bridged Adapter").
Następnie na maszynie wirtualnej należy zainstalować aplikację x11vnc służącą do zdalnego przekazywania środowiska graficznego. Na drugim komputerze odpalamy system Windows, na który należy ściągnać aplikację VNC Viewer(https://www.realvnc.com/download/viewer/) służącą do dobioru sygnału VNC i następnie przetestować działanie zdalnego dostępu do systemu maszyny wirtualnej.

Zadanie A - Sieci bezprzewodowe - podstawowe informacje

Należy skonfigurować router Linksys Model WRT54G w celu stworzeia sieci bezprzewodowej zabezpieczonej hasłem zaszyfrowanym w standardzie WPA2.

Zadania:

  • Ustawić hasło do wifi na "alamakota"
  • Ustawić nazwę sieci na "sk2016"
  • Ukryć sieć tak, by nie była dostępna dla osób, które nie znają jej nazwy.

Przy realizacji zadania trzeba pamiętać również o:

  • Zmiana hasła administratora "alamakotaadmin"
  • Wybraniu optymalnego kanału Wifi (np. program Wifi Analyzer na systemach Android)

Sieć bezprzewodowa lokalna (ang. WLAN, Wireless Local Area Network, w Polsce często jako synonim funkcjonuje nazwa Wi-Fi) jest to sieć lokalna, w której połączenia między urządzeniami sieciowymi zrealizowano bez użycia przewodów.

SSID (ang. service set identifier) – identyfikator sieci (max 32 znaki). Pełni on rolę loginu przy próbie nawiązywania połączeń z punktami dostępowymi.

Kanały. Sygnał WiFi jest nadawany na tzw. kanałach. Gdy sieci WiFi w okolicy jest bardzo dużo może to prowadzić do problemów: niejednokrotnie używają tych samych kanałów, powodując zakłócenia. Te nie przekładają się na błędy połączenia, ale na wolniejszy transfer danych. Istnieją specjalne programy, które pozwalają sprawdzić, jakie kanały w okolicy są zajęte i przestawić nasz router tak, aby nadawał na kanałach wolnych. Więcej informacji: Sloneczko net

Logowanie się do routera. Zwykle router można znaleźć wpisując w przeglądarkę adres IP 192.168.1.1 (czasem bywa to 192.168.0.1). Po restarcie routera wraca on zawsze do ustawień domyślnych. W takim wypadku by zalogować się do konsoli administratora można skorzystać z domyślnego loginu / hasła administratora dla naszego routera. Zwykle są to słowa “admin”, ale wyszukanie odpowiednich informacji w google nie powinno zająć więcej niż 2 minuty.

Zabezpieczenia sieci bezprzewodowych

  • Popularne:

WEP (Wired Equivalent Privacy). Jest to najczęściej używany standard bezpieczeństwa na świecie powstały pod koniec lat 90-tych. Występuje zwykle na pierwszej pozycji na listach w ustawieniach routerów. A zarazem jest najsłabszym i najbardziej podatnym na ataki standardem jaki można wybrać.

WPA (Wi-Fi Protected Access). WPA jest następcą mniej bezpiecznego standardu WEP. Niestety, ze względu na chęć łatwego wdrożenia standardu do wszystkich urządzeń WPA musiał posiadać pewien poziom wstecznej kompatybilności z WEP. Z tego względu TKIP (protokół będący kluczową częścią standardu WPA) cierpi na podobne przypadłości, co WEP.

WPA2 (Wi-Fi Protected Access II) - najlepszy wybór. Dla sieci domowej WPA2 jest obecnie najlepszym zabezpieczeniem z trzech (WEP, WPA, WPA2) omawianych. Radzimy upewnić się, że to właśnie WPA2 (z typem szyfrowania AES) jest wybrany w ustawieniach sprzętu sieciowego. Użycie któregokolwiek ze starszych standardów naraża nasze bezpieczeństwo, gdyż złamanie zabezpieczeń WEP i WPA zajmuje od kilku do kilkunastu minut.

Personal vs Enterprise. Jak nazwa wskazuje, szyfrowanie typu “Personal” przewidywane jest dla użytku domowego, a “Enterprise” zostało zaprojektowane do ochrony organizacji i firm.

  • Zaawansowane:

Filtrowanie adresów MAC. Technika ta polega na ustawieniu w Punkcie Dostępowym listy adresów kart sieciowych, które legalnie mogą (bądź nie mogą) korzystać z sieci. Jeżeli adres MAC klienta nie znajduje się na tej liście, nie uzyska on połączenia z siecią. Ten rodzaj zabezpieczenia zwykle łączy się również z innymi. Przykład ustawiania tego zabezpieczenia na używanych na laboratoriach routerach Linksys: link.

RADIUS (Remote Authentication Dial-In User Service). RADIUS jest protokołem, umożliwiającym autentykację, autoryzację oraz rozliczanie (AAA - Authencication, Authorization, Accounting). Więcej informacji https://pl.wikipedia.org/wiki/RADIUS

VPN (Virtual Private Network). Dzięki VPN, za pośrednictwem publicznej sieci (Internetu), możemy utworzyć bezpieczny tunel pomiędzy dwoma klientami/sieciami prywatnymi/klientem a siecią prywatną. Jednym ze sposobów podniesienia bezpieczeństwa sieci VPN jest zastosowanie zbioru protokołów kryptograficznych znanych jako IPsec. Więcej informacji https://pl.wikipedia.org/wiki/IPsec

Zadanie B - Konfigurowanie routera programowego

Translacja adresów sieciowych (NAT)

  • Potrzebujemy uzyskać nazwę interfejsu, dla którego będziemy stawiać serwer DHCP. Komenda
/sbin/ifconfig

powinna pokazać nazwy wszystkich interfejsów danego urządzenia. Poszukujemy linijki podobnej do:

enxbabebc616263

Jeśli do jednego urządzenia mamy podłączone dwa kable sieciowe, uzyskamy dwa interfejsy typu "ethernet". Właściwy można wybrać np. analizując przydzielone numery IP.

  • W celu skonfigurowania sieci musimy zmienić plik interfaces:
sudo nano /etc/network/interfaces

dodając linijki:

auto  <enx_ustawiany_interfejs>
iface  <enx_ustawiany_interfejs> inet static
address 192.168.155.254
netmask 255.255.255.0

Uwaga! Interfejs ustawiany to ten, który nie ma w tym momencie przydzielonego adresu IP. Sprawdzoną nazwę podstawiamy zamiast <enx_ustawiany_interfejs>.

W ten sposób dla naszego switcha wybraliśmy prywatną sieć 192.168.155.x. Dla sieci większych niż 250 maszyn należy wybrać prywatną sieć z zakresu podsieci 172.x.x.x albo 10.x.x.x.

  • Teraz możemy zrestartować połączenia sieciowe.
sudo service networking restart

i sprawdzić czy oba interfejsy ustawione są poprawnie, ponownie używając komendy:

/sbin/ifconfig

Zakładamy, że drugi interfejs ethernet został automatycznie skonfigurowany poprawnie, umożliwiając dostęp do internetu konfigurowanej maszynie.

  • Należy dodać nazwę naszego hosta do pliku hosts:
sudo nano /etc/hosts

Do pliku należy dopisać linijki:

127.0.0.1 routersk
192.168.155.254 routersk.podsiecsk routersk

Oczywiście używane nazwy mogą być dowolne.

  • Teraz należy skonfigurować NAT (ang. Network Address Translation, znane również jako maskarada sieci). Jest to technika przesyłania ruchu sieciowego poprzez router (w tym wypadku: nasze Raspberry Pi) która wiąże się ze zmianą źródłowych lub docelowych adresów IP.

Wpierw musimy się upewnić, że w pliku /etc/sysctl.conf znajduje się linijka (niezakomentowana):

net.ipv4.ip_forward = 1  

Uruchamiamy ją poprzez:

sysctl -p /etc/sysctl.conf

Następnie należy dodać poprawne reguły przekazywania (tzw. forwarding rules). W tym celu wpisujemy w terminalu komendy:

sudo iptables -t nat -A POSTROUTING -o <enx_interfejs_sieci_zewnetrznej> -j MASQUERADE
sudo iptables -A FORWARD -i <enx_interfejs_sieci_zewnetrznej> -o <enx_ustawiany_interfejs> -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i <enx_ustawiany_interfejs> -o <enx_interfejs_sieci_zewnetrznej> -j ACCEPT

Przy użyciu komendy

sudo iptables -L

można sprawdzić, czy nowe reguły pojawiły się w łańcuchu. Jeśli wszystko jest w porządku, należy je zapisać i upewnić się, że będą używane również po restarcie systemu:

sudo iptables-save > iptables.up.rules
sudo mv iptables.up.rules /etc/

Tworzymy skrypt w folderze /etc/network/if-pre-up.d/ o nazwie iptables:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

a następnie nadajemy uprawnienia do wykonywania.

DNS i DHCP

Teraz musimy skonfigurować DHCP (ang. Dynamic Host Configuration Protocol) w ten sposób, by numery IP dla naszego switcha były alokowane dynamicznie, oraz serwer DNS (and. Domain Name Server) zapewniający możliwość używania nazw wewnątrz naszej sieci. Obie te funkcjonalności zapewnia jeden program dnsmasq.

  • Wpierw musimy się upewnić, że Network Manager nie zacznie kolidować z naszym programem używając swojej własnej, okrojonej wersji dnsmasq.

W pliku /etc/NetworkManager/NetworkManager.conf następująca linijka

#dns=dnsmasq

powinna być zakomentowana (znak #).

  • Następnie instalujemy pełną wersję dnsmasq:
sudo apt-get install dnsmasq
  • Zatrzymujemy program:
sudo service dnsmasq stop

i konfigurujemy, edytując plik /etc/dnsmasq.conf. Mianowicie, dodajemy linijki odpowiadające naszej nazwie oraz przestrzeni adresowej:

interface=<enx_ustawiany_interfejs>
domain=routersk
dhcp-range=<enx_ustawiany_interfejs>,192.168.155.1,192.168.155.254,255.255.255.0
dhcp-host=<adres MAC>,192.168.155.254
    • Uwaga! Należy użyć poprawnego adresu (numeru) MAC - pole HWaddr z informacji wypisanych przez komendę ifconfig!
    • Należy zwrócić uwagę, że trzecia linia zawiera zakres adresów IP które będą przydzielane przez nasz serwer DHCP. Będą również automatycznie dodane do wewnętrznego DNS.
    • Należy szczególnie uważać, by użyć nazwy wewnętrznego interfejsu, w przeciwnym wypadku stworzony serwer DHCP mógłby zakłócić DHCP istniejący w naszej sieci "zewnętrznej"!
    • Można zwrócić uwagę, że zakres adresów zawiera również adres przydzielony dla naszego komputera. Jest to możliwe, gdyż w ostatniej linijce zarezerwowalśmy ten adres ręcznie przypisując adres MAC. W teorii, moglibyśmy w ten sposób przyporządkować numery IP dla wszystkich podłączanych urządzeń. Jednakże wtedy dołączanie ich nie byłoby "automatyczne" - za każdym razem gdy w naszej sieci pojawiałoby się nowe urządzenie, trzebaby dopisywać kolejną linijkę w pliku konfiguracyjnym. Dużo łatwiej jest określić nazwę dla każdego z urządzeń, a serwerowi DHCP umożliwić wybranie losowych adresów za każdym razem. To oznacza również, że będziemy identyfikować nasze urządzenia po nazwach a nie numerach IP. Nazwy pozostaną stałe, a adresy IP mogą się zmienić po restarcie systemu.
  • Należy zrestartować serwer
sudo service dnsmasq restart

W razie problemów należy spróbować:

sudo service dnsmasq status
sudo service dnsmasq start
  • Po podłączeniu nowego urządzenia do switcha, takie urządzenie powinno uzyskać numer IP z puli 192.168.155.x oraz dostęp do internetu poprzez nasz Raspberry-Pi-Router.

Zadanie C - Zaciskanie kabli sieciowych

Często się zdarza, że chcemy podłączyć jakieś urządzenie, np. komputer, do routera i nie posiadamy kabla o odpowiedniej długości. Najczęściej wybieramy się wtedy do sklepu i próbujemy kupić kabel, którego długość by nam odpowiadała. W przypadku pojedyńczego komputera nie ma z tym problemu, co jeśli próbujemy podłączyć kilkadziesiąt komputerów i uniknąć plątaniny zbyt długich kabli? Kupujemy wtedy szpulę kabla sieciowego, tniemy na odpowiednie dla nas długości i samodzielnie zaciskamy końcówki. Samodzielne zaciśnięcie końcówek kabla sieciowego jest zadaniem do wykonania dla Państwa.

Do budowy sieci komputerowej typu Ethernet wykorzystuje się dedykowane kable miedziane typu skrętka, które ustandaryzowane są według europejskiej normy EN 50173. Norma ta dzieli skrętki na kilka kategorii, z czego najpopularniejsza jest kategoria 5 lub jej nowsza wersja 5e (mówimy wtedy, że jest to kabel Cat 5 albo Cat 5e), wykorzystywana właśnie do transmisji danych w sieciach komputerowych.

Kabel Cat 5/5e składa się z 8 żył, które są skręcone ze sobą parami w celu eliminacji różnego rodzaju zakłóceń. Transmisja odbywa się w technologii zwanej 100Base-TX, pozwalającej na przesył danych z prędkością 100 Mb/s. Poszczególne żyły oznaczone są kolorami, jak również kolorami są one ze sobą skręcone. Wyróżniamy pary:

  1. niebieski - biało-niebieski
  2. pomarańczowy - biało-pomarańczowy
  3. zielony - biało-zielony
  4. brązowy - biało-brązowy

Do transmisji danych wykorzystywane są jedynie dwie pary żył. Przykład kabla sieciowego Cat 5/5e przedstawia poniższe zdjęcie: Cat5cable.jpg

Kabel Cat 5e zakończony jest z dwóch stron końcówką zwaną RJ45 (zdjęcie pniżej), która może mieć dwojaki układ żył (tzw. standardy 100BASE-T568A - typ A oraz 100BASE-T568B - typ B).

Rj45.jpeg

Wyróżniamy dwie możliwe konfiguracje kabla Cat 5/5e i wtyczki RJ45:

  • kabel nieskrosowany (prosty, straight lub patch) - obie końcówki są typu B, wykorzystywany np. do podłączenia komputera do routera albo dysku sieciowego
  • kabel skrosowany (z przeplotem, crossover lub crossed) - jedna końcówka jest typu A a druga typu B, wykorzystywany do połączenia dwóch komputerów (urządzeń tego samego typu) ze sobą

Oba typu kabli przedstawione są na rysunkach poniżej:

Straight.gifCrossed.gif

Pomimo istniena aż 8 żył, do transmisji danych (połączenia) wykorzystywane są tylko 4 żyły. Pozostałe żyły są nieużywane - wynika z faktu, że do gniazdka RJ45 można podpiąć wtyczkę RJ11 służącą do połączeń telefonicznych, która wykorzystywałaby z kolei pozostałe 4 żyły. Tabelka poniżej prezentuje wykorzystanie żył:

Used.png

Państwa zadanie polega na przygotowaniu kabla prostego (obie końcówki typu B) za pomocą dostępnych narzędzi (nożyczki, zaciskarka).

Zadanie D - Tunelowanie SSH oraz system VNC

Zadania z tej części powinien wykonać każdy student samodzielnie.

Zmiana interfejsu sieciowego (Zadanie D.0)

  • Wyłączamy maszyny wirtualne
  • Settings -> Network Adapters -> Attached to: Bridged Adapter, eth0.
  • Startujemy maszyny.

Serwer ssh

SSH to standard protokołów komunikacyjnych, które umożliwiają:

  • Bezpieczną zdalną pracę na komputerze podłączonym do Internetu
  • Bezpieczne logowanie za pomocą pary kryptograficznych kluczy (będziemy ćwiczyć na innych zajęciach)
  • Tworzenie bezpiecznych tuneli pozwalających na np. omijanie niektórych firewalli.

Zadanie D.1

W maszynie wirtualnej należy zainstalować serwer ssh, umożliwiający zdalne łączenie się z komputerem. Następnie przetestować działanie zdalengo logowania ssh:

  • należy zalogować się na komputer kolegi poprzez ssh i utworzyć w katalogu $HOME katalog foo_123

Należy przetestować działanie zdalnego kopiowania pomiędzy komputerami w sieci za pomocą scp:

  • należy stworzyć plik ze swoim imieniem i nazwiskiem, i umieścić go w uprzednio utworzonym katalogu $HOME/foo_123

VNC

VNC (ang. Virtual Network Computing) jest to system przekazywania obrazu ze środowiska graficznego.

Program składa się z części klienta oraz serwera. Serwer udostępnia swój pulpit, który poprzez program klienta możemy oglądać zdalnie. Istnieje możliwość, że klient będzie sterował myszką bądź klawiaturą serwera. Komputery te muszą być połączone ze sobą za pomocą protokołu TCP/IP (internet, sieć lokalna). Klient i serwer mogą pracować równocześnie na różnych systemach operacyjnych.

Najczęściej wykorzystywane są następujące tryby pracy programu:

  • Klient steruje serwerem, by zdalnie coś naprawić, sprawdzić bądź skonfigurować.
  • Wielu klientów ogląda pulpit serwera. Jest to tryb "nauczyciela" który chce pokazać coś wielu "uczniom".
  • Jeden klient ogląda pulpit wielu serwerów w celu kontroli innych komputerów.

Zadanie D.2

Serwer. Na maszynie wirtualnej należy zainstalować aplikację x11vnc służącą do zdalnego przekazywania środowiska graficznego.

Klient. Na drugim komputerze odpalamy system Windows (login i hasło należy pobrać od prowadzącego), na który należy ściągnać aplikację VNC Viewer służącą do odbioru sygnału VNC.

Następnie przetestować działanie zdalnego dostępu do systemu maszyny wirtualnej.

Serwer

  • Instalacja programu x11vnc:
sudo apt-get install x11vnc
  • Utworzenie pliku z hasłem:
sudo x11vnc --storepasswd ~/x11vnc.pass

Należy również nadać utworzonemu plikowi uprawnienia do odczytu

  • Uruchomienie serwera VNC
x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth  ~/x11vnc.pass -rfbport 5900 -shared

Więcej informacji: help.ubuntu.com

Klient

  • Instalacja klienta VNC: RealVNC
  • Należy podać adres IP serwera wraz z numerem portu (5900)
  • Należy podać hasło