Laboratorní úloha č. 4

Bezpečnost síťové vrstvy

Návrh, správa a bezpečnost počítačových sítí (MPC-NSB)

Úvod

Cílem laboratorní úlohy je seznámit se s možnými hrozbami a analyzovat zranitelnosti ohrožující síťovou vrstvu počítačových sítí, zejména s útokem IP spoofing, a také demonstrovat způsoby kryptografického zabezpečení datových přenosů využitím technologie IPsec.

V první části laboratorní úlohy pomocí vhodných nástrojů ve virtuálním stroji Kali Linux nejprve provedete simulaci síťového útoku IP spoofing za účelem demonstrace manipulace s řídicími informacemi obsaženými v IP záhlaví přenášeného datového paketu, konkrétně generováním paketů s podvrženou zdrojovou IP adresou zařízení, které má být cílem tohoto útoku. Kromě samotného provedení útoku budete sledovat a následně analyzovat jeho průběh v prostředí síťového analyzátoru Wireshark. Nakonec se zaměříte na implementaci bezpečnostního rozšíření IPsec za účelem zabezpečení datových přenosů na úrovni síťové vrstvy, a to nejprve v transportním a později i v tunelovém režimu.

Teoretický úvod

V této laboratorní úloze budete seznámeni s problematikou možných bezpečnostních hrozeb na úrovni síťové vrstvy referenčního modelu ISO/OSI. Seznámíte se se základním principem útoku IP spoofing, jehož simulaci si také prakticky vyzkoušíte. Ve druhé části cvičení se pokusíte za účelem ochrany probíhajících datových přenosů na úrovni síťové vrstvy implementovat bezpečnostní rozšíření IPsec které pomocí kryptografických mechanismů zajišťuje důvěrnost a také autentizaci IP paketů.

Hrozby na síťové vrstvě: IP spoofing

IP spoofing je typ síťového útoku spočívající ve falšování (podvržení) zdrojové IP adresy v IP záhlaví odesílaných paketů s cílem vyvolat dojem, že pakety pocházejí z jiného zařízení než z útočníkova. Tato technika umožňuje útočníkovi obejít určitá bezpečnostní opatření, jako jsou pravidla firewallu pro filtrování komunikace nebo autentifikační mechanismy, které používají jako identifikátor při ověřování identity právě IP adresu. IP spoofing může útočník využit například při realizaci DDoS útokov Typicky se s IP spoofingem můžeme setkat při realizaci útoku typu SYN flood ([2], [3]), nebo při útoku ICMP flood či Smurf útoku. , kdy je cílem útočníka zpravidla zahlcení cílové stanice (oběti) generováním a odesíláním falešných požadavků s podvrženými IP adresami.

Základní mechanismus IP spoofing útoku spočívá v odesílání IP paketů, ve kterých útočník manuálně a cíleně upraví informace přenášené v poli zdrojové IP adresy na IP adresu oběti (konkrétního zařízení v síti) nebo legitimního serveru. [1]

Vhodnou ochranou proti popsanému typu útoku může být použití technik jako např.  ingress filtering, Více informací o technice Network Ingress Filtering naleznete v oficiálním RFC dokumentu. které blokují příjem příchozích paketů se zdrojovou IP adresou, která neodpovídá očekávané adrese pro dané rozhraní, nebo použití bezpečnostního rozšíření IPsec (Internet Protocol Security) pro zabezpečení komunikace pomocí autentizace a šifrování přenášených dat.

Pozn.: Zabezpečení datových přenosů pomocí IPsec bude podrobněji rozebráno v další části úlohy.

Technologie IPsec

IPsec (Internet Protocol Security) představuje bezpečnostní rozšíření síťového IP protokolu. Jedná se o sadu protokolů, které společně poskytují kombinaci bezpečnostních mechanismů pro komplexní zabezpečení datových přenosů probíhajících na úrovni síťové vrstvy počítačových sítí využívajících IP protokol. IPsec je používán v různých prostředích, zpravidla se s jeho implementací setkáme například při zabezpečení virtuálních privátních sítí VPN.

IPsec zajišťuje integritu, autentizaci a šifrování přenášených IP paketů, čímž chrání datové přenosy před neoprávněným přístupem a manipulací.

Protokol IPsec může být implementován ve dvou základních režimech:

Tunelový a transportný režim
IPsec: transportní a tunelový režim.

Součásti protokolu IPsec

Bezpečnostní rozšíření IPsec poskytuje možnosti komplexního zabezpečení přenášených datových jednotek prostřednictvím dvou hlavních protokolů:

Zapouzdření přenášeného IP paketu, které spočívá v přidání odpovídajících záhlaví a zápatí nesoucích řídicí informace, při použití AH a/nebo ESP protokolu pro zabezpečení přenášeného datového obsahu, je znázorněno pro oba režimy IPsec (transportní i tunelový) na obr. 2.

Podrobnější popis technologie IPsec lze nalézt v literatuře.

Schematické znázornenie zapuzdrovania IPsec paketu
Schematické znázornění zapouzdření IPsec paketu

Použité nástroje

V rámci této laboratorní úlohy budou pro útok IP spoofing, záznam a analýzu probíhající datové komunikace a později pro implementaci bezpečnostního rozšíření IPsec postupně využity níže uvedené nástroje

Nástroj hping3

hping3 je flexibilní nástroj umožňující generovat TCP/IP pakety, simulovat různé typy útoků, jako jsou IP spoofing, port scanning nebo různé typy DoS útoků, a může být použit také k testování firewallů. Pomocí hping3 je možné vytvářet vlastní pakety s upraveným IP záhlavím, což umožňuje analyzovat reakce cílových systémů (jestli reagují na požadavky, blokují komunikaci anebo generují chyby apod.).

Při práci s nástrojem hping3 lze využít „pomocníka“ k zobrazení dostupných příkazů podporujících různé funkce nástroje pomocí příkazu:

hping3 --help

Nástroj hping3 umožňuje také ověřit i dostupnost cílové služby (např. webového serveru). Pomocí níže uvedeného příkazu lze zjistit, zda je služba dostupná a zda firewall neblokuje přístup k příslušnému portu:

sudo hping3 -S 192.168.126.130 -p 80 -c 3

kde přepínač -S zajistí odeslaní postupně tří TCP/IP paketů s nastaveným příznakem SYN = 1 na port 80 cílového zařízení s uvedenou IP adresou

Pro účely simulace IP spoofingu je možné hping3 použít následovně:

sudo hping3 -a 192.168.126.129 -S 192.168.126.130 -p 80 -c 5

Uvedený příkaz vygeneruje celkem pět TCP SYN paketů směřovaných na port 80 cílové IP adresy 192.168.126.130, přičemž do hlavičky těchto paketů bude vložena (pomocí přepínače -a) falešná zdrojová IP adresa s hodnotou 192.168.126.129.

Vysvětlení použitých přepínačů a parametrů příkazu:

Wireshark

Wireshark je pokročilý síťový analyzátor umožňující zachytávat, vizualizovat a analyzovat síťový provoz v reálném čase. Je vhodný pro analýzu komunikačních protokolů a obsahu přenášených datových jednotek, detekci podezřelých paketů a identifikaci síťových problémů. Nástroj nabízí možnost filtrování zachycené komunikace podle různých kritérií (např. zdrojová/cílová IP adresa, protokol, port).

S nástrojem Wireshark jste se již seznámili v předchozím cvičení, kdy jste si rovněž vyzkoušeli jeho praktické použití. Pro účely praktické části tohoto počítačového cvičení je v tabulce níže uveden přehled několika základních filtrů pro selektivní zobrazení paketů.

Wireshark : příklady použitých filtrů komunikace.
účel filtr
zobrazení všech paketů ICMP protokolu: icmp
sledování datové komunikace mezi dvěma IP adresami: ip.src == 192.168.126.129 &&
ip.dst == 192.168.126.130
zobrazení všech ESP paketů: esp

Strogswan

strongSwan je open-source implementace protokolů IPsec a  IKE (Internet Key Exchange) IKE (Internet Key Exchange) je protokol používaný v rámci IPsec spojení pro bezpečnou výměnu kryptografických klíčů a vyjednání bezpečnostních parametrů mezi dvěma komunikujícími stranami. Jeho cílem je vytvořit a spravovat tzv. Security Associations (SA), které definují, jaké kryptografické mechanismy budou použity k zajištění důvěrnosti a integrity přenášených dat. V rámci knihovny strongSwan představuje IKE nezbytnou součást, která zajišťuje bezpečné navázání IPsec spojení a následné obnovení a/nebo ukončení vytvořeného tunelu. , která umožňuje vytvoření bezpečného propojení mezi dvěma nebo více uzly (zařízeními) na síťové vrstvě. Podporuje jak IPv4, tak IPv6, a umožňuje provoz v transportním i tunelovém režimu IPsec. V rámci IKE protokolu podporuje statickou i dynamickou výměnu klíčů.

Pro konfiguraci bezpečnostního rozšíření IPsec k zabezpečení síťové komunikace jsou klíčové následující konfigurační soubory:

Pro práci s knihovnou strongSwan je nutné spustiť odpovídající službu příkazem:

sudo systemctl start strongswan

Knihovna strongSwan umožňuje navázání IPsec spojení, resp. tunelu mezi dvěma koncovými body komunikace. Manuální navázání zabezpečeného spojení lze provést příkazem:

sudo ipsec up <název_spojení>

Aktuální stav aktivních IPsec tunelů lze zobrazit pomocí příkazu:

sudo ipsec statusall

Praktická část

V rámci praktické části počítačového cvičení bude simulován útok IP spoofing pomocí nástroje hping3, následovaný analýzou síťové komunikace prostřednictvím nástroje Wireshark.Simulovaný útok bude probíhat ve virtuální síti složené ze tří virtuálních strojů s OS Kali Linux (klient, server a útočník), jejíž topologie je schematicky znázorněna na obrázku níže. Komunikace mezi těmito virtuálními stroji bude probíhá postřednictvím virtuálního přepínače VMware Virtual Switch, jak je znázorněno v uvedeném schématu. Cílem útoku IP spoofing, který spočívá v generování IP paketů s podvrženou zdrojovou IP adresou, může být vyvolání následného DDoS útoku, jehož účelem je způsobit nefunkčnost nebo nedostupnost cílového zařízení (tzv. oběti útoku).

V navazující části se dále za účelem zabezpečení přenášených dat na síťové vrstvě zaměříte na konfiguraci bezpečnostního rozšíření IPsec, které zajišťuje důvěrnost přenášených IP paketů pomocí šifrování, dále jejich autentizaci a odolnost proti narušení integrity.

Topologie virtuální sítě a konfigurace virtuálních strojů

Použité virtuální stroje:

Síťová konfigurace:

Všechny virtuální stroje musí být připojeny ve stejné virtuální podsíti pomocí síťového režimu Host-Only nebo NAT, aby bylo možné na VM „útočník“ zachytávat komunikaci mezi klientem a serverem.

Topológia
Topologie sítě laboratorní úlohy.

Seznámení s použitými nástroji

Přehled základních příkazů pro jednotlivé používané nástroje

Postup pro vypracování laboratorní úlohy

A) Příprava prostředí

Spuštění virtuálních strojů

Přihlašovací údaje:

VM „útočník“ Username: kali Password: kali
VM „klient“ Username: klient Password: kali
VM „server“ Username: server Password: kali

Ověření síťové konektivity

B) IP spoofing útok pomocí hping3

Pomocí nástroje hping3 lze na VM útočníka simulovat IP spoofing útok generováním IP paketů s podvrženou zdrojovou IP adresou. Cílem je odesílat pakety, které se jeví, jako by byly odeslány klientem. Tento útok umožňuje ověřit, že cílové zařízení (server) nedokáže odhalit skutečného odesílatele – tedy útočníka. Probíhající komunikace bude monitorována pomocí nástroje Wireshark.

Použití nástroje hping3

hping terminal
Spuštění IP spoofing útoku v terminálu Kali Linux.

Sledování příchozí komunikace (server) ve Wiresharku

Wireshark server IP spoofing
Ukázka zachycené komunikace po spuštění útoku IP Spoofing (server).

C) Zabezpečení komunikace s využitím IPsec

V následující části laboratorního úkolu si vyzkoušíte práci s knihovnou strongSwan, která podporuje implementaci IPsec.

Konfigurace IPsec v transportním režimu

Připojení a ověření konfigurace IPsec

klient ipsec status
Ověření vytvoření IPsec spojení (klient).
tcpdump server
Výpis nástroje tcpdump: sledování komunikace prostřednictvím vytvořeného IPsec tunelu (server).
Wireshark ipsec
Ukázka zachycené komunikace – přenos přes šifrovaný IPsec tunel (server).

Samostatný úkol

D) Implementace IPsec v tunelovém režimu

V poslední části úkolu si samostatně vyzkoušíte praktické nasazení bezpečnostního rozšíření IPsec v tunelovém režimu pro zabezpečení komunikace odesílané přes simulovanou „veřejnou síť“.

Cílem vaší samostatné práce bude nejprve simulovat vlastní veřejnou síť a následně správným způsobem nakonfigurovat IPsec rozšíření v tunelovém režimu pro zabezpečení komunikace mezi klientem a serverem.
Po implementaci otestujete a porovnáte výkonnost sítě při použití transportního a tunelového režimu IPsec, zejména z pohledu latence komunikace, spolehlivosti přenosu a stability vytvořeného spojení.
Zachycenou komunikaci analyzujte ve Wiresharku a porovnejte rozdíly mezi oběma režimy. Při analýze věnujte pozornost také struktuře paketů (např. viditelnost vnitřních hlaviček, šifrování obsahu a použité protokoly).

Kontrolní otázky

Poznámka: Některé otázky mohou mít více než jednu správnou odpověď. Pro správné zodpovězení otázky je nutné označit všechny správné odpovědi.

Závěr

V tomto laboratorním úkolu jste se seznámili s problematikou bezpečnosti síťové vrstvy počítačových sítí a v této souvislosti také s riziky spojenými s podvržením IP adresy (tzv. IP spoofing), což představuje častý způsob narušení integrity nebo důvěrnosti komunikace na síťové vrstvě.

V praktické části jste pomocí nástroje hping3 realizovali simulaci útoku, který ilustruje, jakým způsobem lze oklamat cílové zařízení pomocí falešné zdrojové IP adresy uvedené v hlavičce odesílaných datových jednotek. Následně jste si vyzkoušeli praktickou implementaci rozšíření IPsec, které umožňuje komplexní zabezpečení IP komunikace, a to včetně šifrování dat, autentizace a zajištění integrity přenosu. Porovnáním transportního a tunelového režimu IPsec jste získali přehled o různých způsobech ochrany datového provozu a rovněž o jejich vlivu na výslednou podobu paketů či celkový výkon počítačové sítě.