IPsec je sada protokolov, ktorá zabezpečuje bezpečnú komunikáciu medzi dvomi sieťovými uzlami. Ide o otvorený štandard zastrešený organizáciou IETF, čo zabezpečuje kompatibilitu medzi zariadeniami od rôznych výrobcov. Ukážeme si, ako môže vyzerať konfigurácia IPsec LAN-to-LAN tunela medzi Cisco routrom a Fortigate firewallom.
IPsec zahŕňa najmä
- šifrovanie komunikácie – Aby naša komunikácia bola prakticky nerozlúštiteľná, čo zabezpečuje kryptovací algoritmus.
- integritu dát – Kontrola, či dáta neboli pozmenené, čo zabezpečuje hash algoritmus.
- autentizáciu zariadení – Aby sme si overili, či komunikujeme so správnym zariadením (a nie s útočníkom). Najčastejšie sa používa heslo, tzv. pre-shared key.
IPsec sa využíva najmä pri prenose dát cez nezabezpečené prostredie, ako napríklad cez internet. Ide o efektívnu obranu aj voči Man in the middle útokom, ako napr. ARP Spoofing. IPsec sa dá použiť aj na vzdialený prístup do siete, ale najčastejšia aplikácia je práve zabezpečenie LAN-to-LAN komunikácie, ako si ukážeme v tomto príklade.
Zostavenie tunela a jeho parametre
Zostavenie IPsec tunela prebieha v dvoch fázach. V prvej fáze prebehne dohodnutie si parametrov pre komunikáciu a autentizácia sieťových prvkov. Ak sa parametre zhodujú, zostaví sa tunel prvej fázy. Následne sa môže vytvoriť tunel v druhej fáze, kde sa tiež musia zhodovať konfiguračné parametre, ako kryptovací, alebo hash algoritmus. Môžu, ale nemusia byť rovnaké, ako v prvej fáze. V tuneli druhej fázy prechádza skutočná prevádzka medzi LAN jedného uzla a LAN druhého uzla.
Konfigurácia IPsec tunela na Cisco routri
Konfigurácia IP adries na portoch
interface GigabitEthernet0/0 description WAN ip address 172.16.0.1 255.255.255.252 ! interface GigabitEthernet0/1 description LAN ip address 192.168.0.1 255.255.255.0
Konfigurácia parametrov 1. fázy
crypto isakmp policy 1 encr aes 128 hash sha256 authentication pre-share group 5 lifetime 3600
Konfigurácia hesla pre-shared key
crypto isakmp key SilneHeslo123 address 172.16.0.2 no-xauth
Konfigurácia parametrov 2. fázy
crypto ipsec transform-set vpnconfig esp-aes esp-sha256-hmac
Definovanie zdrojovej IP adresy pomocou interface-u
crypto map vpn local-address gi0/0
Konfigurácia crypto map
Tu definujeme IP adresu druhej strany, s ktorou chceme komunikovať, dodatočné parametre 2. fázy a SA (Security Associations) pomocou ACL (access list). Každý riadok v ACL definuje jednu SA, čiže zdrojovú a cieľovú sieť. Nakoniec crypto map pridáme na odchodzí fyzický interface.
crypto map vpn 10 ipsec-isakmp set peer 172.16.0.2 set transform-set vpnconfig set pfs group5 match address 110 ! int gi0/0 crypto map vpn
Konfigurácia ACL s definovaným SA
access-list 110 remark VPN access-list 110 permit ip 192.168.0.0 0.0.0.255 192.168.1.0 0.0.0.255
Konfigurácia IPsec tunela na Fortigate firewalle
Pre zmenu si ukážeme, ako vyzerá konfigurácia IPsec cez GUI na zariadení Fortigate. Po prihlásení sa na zariadenie sa preklikáme na nasledovnú sekciu:
VPN -> IPsec -> Tunnels -> Create New
V tejto fáze by sme mohli zvoliť ponúkanú šablónu „Site to Site – Cisco“, ale keďže sme fajnšmekri, šablónu nepoužijeme a zvolíme možnosť „Custom VPN Tunel (No Template)“. Tým zároveň zovšeobecníme tento návod aj na zriadenie VPN tunela medzi Fortigate a zariadením od ľubovolného iného výrobcu. Vyplníme názov tunela a klikneme Next.
Vyplníme parametre prvej fázy a scrollneme nižšie.
Pokračujeme vo vyplnení parametrov druhej fázy a klikneme OK.
Keďže ide o firewall a implicitne je všetko zakázané, musíme v pravidlách povoliť komunikáciu z LAN smerom do IPsec tunela a späť. Do sekcie pravidiel sa preklikneme následovnou cestou:
Policy & Objects -> Policy -> IPv4
Pravidlo smer LAN -> Tunel
Pravidlo smer Tunel -> LAN
Nastavenie static route
Na Cisco routri nám stačila default route smerujúca smerom do WAN. Na Fortigate budeme musieť pridať statickú route smerujúcu do tunela. Preklikáme sa nasledovne:
Network -> Routing -> Create New (v sekcii static routes)
Vyplníme cieľový subnet, odchodzí interface a klikneme OK.
Overenie funkčnosti
V tejto chvíli by malo všetko fungovať. Funkčnosť môžeme overiť napríklad pingom z jednej LAN do druhej LAN. Na obrázku nižšie môžeme vidieť úspešný ping z LAN interface na Cisco routri smerujúci na LAN interface na Fortigate.
Pomocou príkazu „show crypto isakmp sa“ môžeme na Cisco routri skontrolovať stav prvej fázy. Funkčnosť naznačuje state QM_IDLE.
Pomocou príkazu „show crypto ipsec sa“ môžeme na Cisco routri skontrolovať stav druhej fázy. Funkčnosť potvrdzuje kryptovanie a dekryptovanie packetov v oboch smeroch.
Ak vás tento článok zaujal a chcete dostávať mailovú notifikáciu, pri publikovaní podobných článkov o hackingu, sieťovej bezpečnosti, Linux serveroch, Cisco zariadeniach, či o programovaní, môžete sa prihlásiť na odber článkov.