Bezpečný protokol prenosu údajov ipsec. Mastering VPN: Nastavenie IPSec na Cisco

sieť, bezpečný tunel (obrázok 5.9), cez ktorý sa prenášajú dôverné údaje alebo údaje citlivé na manipuláciu. Takýto tunel je vytvorený pomocou kryptografických metód ochrany informácií.

Protokol funguje na sieťovej vrstve modelu OSI, a preto je pre aplikácie „transparentný“. Inými slovami, aplikácie (ako napr webový server, prehliadač , DBMS atď.) nemá vplyv na to, či sú prenášané dáta chránené IPSec alebo nie.

Operačné systémy rodiny Windows 2000 a vyššie majú zabudovanú podporu protokolu IPSec. Z pohľadu vrstveného bezpečnostného modelu je tento protokol prostriedkom na zabezpečenie sieťovej vrstvy.


Ryža. 5.9.

Architektúra IPSec je otvorená, čo umožňuje najmä použitie nových kryptografických algoritmov a protokolov na ochranu prenášaných dát, napríklad tých, ktoré zodpovedajú národným štandardom. To si vyžaduje, aby komunikujúce strany tieto algoritmy podporovali a boli by štandardne zaregistrované v popise parametrov spojenia.

Proces bezpečného prenosu údajov sa riadi bezpečnostnými pravidlami prijatými v systéme. Parametre vytváraného tunela popisuje informačná štruktúra nazývaná bezpečnostný kontext alebo bezpečnostné priradenie (z anglického Security Association, skratka SA). Ako je uvedené vyššie, IPSec je súbor protokolov a zloženie SA sa môže líšiť v závislosti od konkrétneho protokolu. SA zahŕňa:

  • IP adresa príjemcu;
  • označenie bezpečnostných protokolov používaných pri prenose údajov;
  • kľúče potrebné na šifrovanie a generovanie imitácie vložky (ak je to potrebné);
  • označenie spôsobu formátovania, ktorý určuje, ako sa vytvárajú hlavičky;
  • index bezpečnostných parametrov (z angl. Security Parameter Index, skratka SPI) – identifikátor, ktorý umožňuje nájsť požadované SA.

Zvyčajne je bezpečnostný kontext jednosmerný a na prenos údajov cez tunel v oboch smeroch sa používajú dve SA. Každý hostiteľ má svoju vlastnú základňu SA, z ktorej sa vyberá požadovaný prvok buď na základe SPI alebo podľa IP adresy príjemcu.

IPSec tvoria dva protokoly:

  1. protokol overovacej hlavičky- AH (z angl. Authentication Header), ktorý zabezpečuje kontrolu integrity a autentifikáciu prenášaných dát; najnovšia verzia protokolu je opísaná v RFC 4302 (predchádzajúca - RFC 1826, 2402);
  2. Encapsulating Data Protection Protocol (ESP) Zapuzdrené bezpečnostné užitočné zaťaženie) - poskytuje dôvernosť a voliteľne môže poskytnúť kontrolu integrity a autentifikáciu, popísané v RFC 4303 (predchádzajúca - RFC 1827, 2406).

Oba tieto protokoly majú dva režimy prevádzky – transportný a tunelový, pričom ten druhý je definovaný ako hlavný. tunelový režim používa sa, ak aspoň jeden zo spojovacích uzlov je bezpečnostná brána. V tomto prípade sa vytvorí nová hlavička IP a pôvodný paket IP je úplne zapuzdrený do nového.

Dopravný režim orientované na spojenie medzi hostiteľmi. Pri použití ESP v transportnom režime sú chránené iba dáta IP paketu, hlavička nie je ovplyvnená. Pri použití AH sa ochrana rozširuje na údaje a časť polí hlavičky. Prevádzkové režimy sú podrobnejšie opísané nižšie.

AH protokol

V IP ver. 4 je overovacia hlavička umiestnená za IP hlavičkou. Pôvodný IP paket si predstavte ako kombináciu hlavičky IP, hlavičky protokolu ďalšej úrovne (zvyčajne TCP alebo UDP, na obrázku 5.10 je označený ako ULP – z anglického Upper-Level Protocol) a dát.


Ryža. 5.10.

Zvážte formát hlavičky ESP (obrázok 5.13). Začína dvoma 32-bitovými hodnotami - SPI A SN. Ich úloha je rovnaká ako v protokole AH - SPI identifikuje SA použitú na vytvorenie tohto tunela; SN- umožňuje chrániť sa pred opakovaním paketov. SN A SPI nie sú šifrované.

Ďalšie pole obsahuje zašifrované údaje. Po nich - zástupné pole, ktoré je potrebné na zarovnanie dĺžky šifrovaných polí na hodnotu, ktorá je násobkom veľkosti bloku šifrovacieho algoritmu.


Ryža. 5.12.


Ryža. 5.13.

Za zástupným symbolom nasledujú polia obsahujúce dĺžku zástupného symbolu a označenie protokolu vyššej úrovne. Štyri uvedené polia (údaje, zástupný symbol, dĺžka, ďalší protokol) sú zašifrované.

Ak sa ESP používa aj na autentifikáciu dát, potom paket končí poľom s premenlivou dĺžkou, ktorý obsahuje ICV. Na rozdiel od AH sa v ESP pri výpočte hodnoty vloženia nezohľadňujú polia hlavičky IP (nové - pre tunelový režim, upravené staré - pre transport).

Keď sa protokoly AH a ESP používajú spolu, po hlavičke IP nasleduje AH, po nej - ESP. V tomto prípade ESP rieši problémy zabezpečenia dôvernosti, AH - zabezpečenie integrity a autentifikácie zdroja pripojenia.

Pozrime sa na množstvo ďalších problémov súvisiacich s používaním IPSec. Začnime tým, odkiaľ pochádzajú informácie o parametroch pripojenia - SA. Vytvorenie základne SA môže byť vykonané rôznymi spôsobmi. Najmä môže byť vytvorený bezpečnostného správcu manuálne, alebo vytvorené pomocou špeciálnych protokolov - SKIP, ISAKMP (Internet Security Association and Key Management Protocol) a IKE (Internet Key Exchange).

IPSec a NAT

Pri pripájaní sietí organizácií na internet sa často využíva mechanizmus prekladu sieťových adries - NAT (Network Address Translation). To vám umožní znížiť počet registrovaných IP adries používaných v danej sieti. Vo vnútri siete sa používajú neregistrované adresy (spravidla z rozsahov špeciálne pridelených na tento účel, napr. adresy ako 192.168.x.x pre siete triedy C). Ak je paket z takejto siete odoslaný do internetu, potom router, ktorého externé rozhranie má priradenú aspoň jednu registrovanú IP adresu, upraví hlavičky IP sieťové pakety, nahradením súkromných adries registrovanou adresou. Spôsob suplovania je zaznamenaný v špeciálnej tabuľke. Po prijatí odpovede v súlade s tabuľkou sa vykoná spätná výmena a paket sa prepošle do vnútornej siete.

Zvážte príklad použitia NAT na obr. 5.14. V tomto prípade sa vo vnútornej sieti používajú súkromné ​​adresy 192.168.0.x. Z počítača s adresou 192.168.0.2 pristupujú na externú sieť do počítača s adresou 195.242.2.2. Nech je to pripojenie k webovému serveru (protokol HTTP, ktorý používa port TCP 80).

Keď paket prechádza cez smerovač, ktorý vykonáva preklad adresy, IP adresa odosielateľa (192.168.0.2) bude nahradená adresou externé rozhranie router (195.201.82.146) a záznam podobný tomu, ktorý je zobrazený v

IPsec (zabezpečenie IP)- súbor protokolov na bezpečný prenos prevádzky cez IP sieť. Možno najkomplexnejší a najrozvetvenejší zásobník protokolov podporovaný systémom VPNKI.

Obsahuje tri hlavné protokoly:

  • AH (Authentication Header) - správa integrity prenášaných dát a autentifikácia
  • ESP (Encapsulating Security Payload) – šifrovanie dát
  • ISAKMP (Internet Security Association and Key Management Protocol) - správa nadväzovania spojenia, vzájomná autentifikácia koncovými uzlami navzájom a výmena tajných kľúčov

Hlavné používané porty a čísla protokolov

  • Protokol UDP, port 500 (IKE, správa kľúčov)
  • Protokol UDP, port 4500 (režim IPSEC NAT-Traversal)
  • Protokol ESP, hodnota 50 (pre IPSEC)
  • Protokol AH, hodnota 51 (pre IPSEC)

Vo všeobecnosti nie je sada protokolov IPsec jednoduchá, pokiaľ ide o jej použitie, ktoré je dosť mnohostranné. Základnou črtou všetkej interakcie nad týmto protokolom je však koncept SA (Security Association) – ide o súbor parametrov o tom, ako budú strany naďalej využívať určité vlastnosti protokolov z IPsec.

Za zmienku stoja aj dva hlavné režimy prevádzky IPsec – tunel a transport. Zhruba povedané, v transportnom režime je šifrovaná iba užitočná časť paketu IP, zatiaľ čo v režime tunela sú šifrované všetky údaje vrátane hlavičiek IP.

Overenie

Interakcia dvoch uzlov začína založením SA. Presnejšie, z dvoch asociácií - pre protokol AH a ESP a v jednom a druhom smere. SA začína autentifikáciou a potom sa strany dohodnú na budúcich parametroch relácie:

  • pre protokol AH - použitý autentifikačný algoritmus, kľúče, životnosť kľúča a ďalšie parametre,
  • pre protokol ESP - šifrovacie a autentifikačné algoritmy, kľúče, inicializačné parametre, životnosť kľúča a ďalšie parametre.

Tu sa strany dohodnú na tuneli alebo režime prenosu IPsec.

Na konci procesu by ste mali mať nainštalovaných niekoľko SA, ale ... trochu viac o tom, ako to v skutočnosti je.

Fáza 1 a Fáza 2

V IPsec sa všetko deje vo fázach.

Vo fáze 1 sa vytvorí SA prvej fázy. V prvej fáze sa zmluvné strany dohodnú na metóde identifikácie, šifrovacom algoritme, hashovacom algoritme a skupine Diffie Hellman. Táto fáza môže byť vykonaná výmenou troch nešifrovaných paketov (agresívny režim) alebo šiestich nešifrovaných paketov - štandardný režim. Ak všetko pôjde dobre, potom sa vytvorí SA fázy 1 s názvom IKE SA a uskutoční sa prechod do druhej fázy.

Vo fáze 2 sa strany dohodnú na politike a vytvoria sa samotné kľúče. Táto fáza je na rozdiel od prvej úplne zašifrovaná a nastáva len v prípade úspešného ukončenia prvej fázy. Keďže prevádzka v tejto fáze je plne šifrovaná, je ťažké riešiť problémy, ale ak všetko pôjde dobre, vytvorí sa SA fázy 2 s názvom IPSec SA. V tomto bode môžeme povedať, že tunel je založený.

Kompresia údajov

IPsec nemá vlastný mechanizmus kompresie údajov, ale môžete použiť mechanizmus IPcomp na kompresiu obsahu paketu IP pred jeho odovzdaním procesu IPsec. Niektorí démoni IPsec podporujú povolenie tohto mechanizmu z konfiguračných súborov ipsec.conf (napr. balík Strongswan)

Automatická kontrola stavu pripojenia VPN

Vo vnútri IPsec neexistuje štandardný nástroj na kontrolu stavu pripojenia (napríklad ping), takže fungovanie tunela je možné kontrolovať externými prostriedkami.

Ukončite pripojenie VPN a zmeňte kľúče

Kľúče dohodnuté v dvoch fázach musia fungovať počas doby špecifikovanej v politike. To znamená, že strany možno budú musieť prežiť postup zmeny kľúča, inak sa dojednané AKD rozpadnú. Ako je uvedené vyššie, strany majú kľúče ako súčasť procesu fázy 1 (IKE) a fázy 2 (IPsec). Postupy ich zmeny sú rôzne, rovnako ako časovače, ktoré sú za to zodpovedné. Aby nedošlo k prerušeniu komunikácie počas procesu prekľúčovania, zmluvné strany si najskôr dohodnú parametre nového SA a až po tomto úspešnom postupe zničia starý SA.

V IPsec existuje niekoľko spôsobov, ako zmeniť kľúče v každej z fáz – s autentifikáciou alebo bez nej, ale nebudeme sa tomu príliš venovať. Pre tento postup je jednoducho príliš veľa nuancií, ktoré závisia od verzií softvéru a pomeru časovačov - pre IKE a IPsec.

    predzdieľaný kľúč: Dvaja démoni racoon sa navzájom spoja, potvrďte, že sú tým, za koho sa vydávajú (pomocou predvoleného súkromného kľúča, ktorý ste nastavili v /etc/racoon/psk.txt). Démoni potom vygenerujú nový súkromný kľúč a použijú ho na šifrovanie prevádzky cez VPN. Tento kľúč pravidelne menia, takže aj keď útočník zlomí jeden z kľúčov (čo je teoreticky takmer nemožné), príliš mu to nedá - zlomil kľúč, ktorý už dvaja démoni zmenili na iný. Predzdieľaný kľúč sa nepoužíva na šifrovanie prevádzky cez pripojenie VPN, je to len token, ktorý umožňuje démonom kľúčov navzájom si dôverovať. Povolenia v súbore psk.txt musia byť 0600 (t. j. zapisovať a čítať iba pre root).

    IPsec pozostáva z dvoch protokolov:

    Encapsulated Security Payload (ESP), ktorý chráni dáta paketov IP pred zásahmi tretích strán šifrovaním obsahu pomocou symetrického kryptografické algoritmy(ako napríklad Blowfish, 3DES, AES).

    Authentication Header (AH), ktorý chráni hlavičku IP paketu pred zásahmi tretích strán a falšovaním vypočítaním kryptografického kontrolného súčtu a hashovaním polí hlavičky IP paketu pomocou funkcie bezpečného hashovania. Do paketu sa pridá dodatočná hash hlavička, ktorá umožní overenie informácií o pakete.

ESP a AH môžu byť použité spoločne alebo oddelene, v závislosti od okolností.

esp a ah sú pakety ipsec, ktoré generuje jadro po tom, čo sa hostitelia s pomocou racoon dohodnú na kľúči pomocou protokolu isakmp (500/udp).

Prevádzkové režimy IPsec (preprava, tunel)

Existujú dva režimy prevádzky IPsec: transportný režim a tunelový režim (keď v transportnom režime fungujú iba smerovače).

IPsec možno použiť buď na priame šifrovanie prenosu medzi dvoma hostiteľmi (režim prenosu); alebo na vybudovanie „virtuálnych tunelov“ medzi dvoma podsieťami, ktoré možno použiť na zabezpečenie spojení medzi dvoma podnikovými sieťami (režim tunela). Tunelový režim sa bežne označuje ako virtuálna súkromná sieť (Virtual Private Network, čo je to VPN).

IN spôsob dopravy iba informatívna časť IP paketu je zašifrovaná (alebo podpísaná). Smerovanie nie je ovplyvnené, pretože hlavička IP paketu sa nemení (nie je šifrovaná). Transportný režim sa zvyčajne používa na vytvorenie spojenia medzi hostiteľmi. Môže byť tiež použitý medzi bránami na ochranu tunelov organizovaných iným spôsobom (IP tunel, GRE tunely atď.).

IN tunelový režim Celý IP paket je zašifrovaný. Aby mohol byť prenášaný cez sieť, je umiestnený v inom IP pakete. V podstate ide o bezpečný IP tunel. Tunelový režim možno použiť na pripojenie vzdialených počítačov k virtuálnej súkromnej sieti alebo na organizáciu bezpečného prenosu údajov cez otvorené komunikačné kanály (napríklad internet) medzi bránami na prepojenie rôznych častí virtuálnej súkromnej siete. Tunelový režim zapuzdruje celý pôvodný IP paket a pridáva novú IP hlavičku.

Ak sa IPsec používa v spojení s tunelmi GRE, ktoré zapuzdrujú pôvodný paket a pridáva novú hlavičku IP, je logické použiť dopravy režim.

Režimy IPsec sa navzájom nevylučujú. Na tom istom hostiteľovi môžu niektoré SA používať transportný režim, zatiaľ čo iné môžu používať tunelový režim.

Asociácie bezpečnosti (SA). Aby bolo možné vykonať zapuzdrenie / dekapsuláciu, strany zapojené do procesu výmeny musia byť schopné uložiť tajné kľúče, algoritmy a IP adresy. Všetky tieto informácie sú uložené v bezpečnostných asociáciách (SA), SA sú zase uložené v databáze bezpečnostných asociácií (SAD). Konfigurácia Security Association , umožňuje nastaviť napr spôsob dopravy | tunel | ro | in_trigger | repa- bezpečný režim asociácie. V súlade s tým môže mať jednu z hodnôt, čo znamená transport, tunel, repa (Bound End-to-End Tunnel), optimalizácia trasy (optimalizácia trasy) alebo režimy in_trigger. (posledné dve sa používajú v kontexte mobilného ipv6).

Bezpečnostná politika (SP)- bezpečnostná politika, uložená v SPD (Security Policy Database). SA špecifikuje, ako má IPsec chrániť prevádzku, SPD zase obchody Ďalšie informácie potrebné na určenie toho, ktorý prenos sa má chrániť a kedy. SPD môže určiť jednu z troch akcií pre dátový paket: zahodiť paket, nespracovať paket pomocou IPSec, spracovať paket pomocou IPSec. V druhom prípade SPD tiež špecifikuje, ktorý SA má použiť (samozrejme za predpokladu, že vhodný SA už bol vytvorený) alebo špecifikuje, s akými parametrami má byť vytvorený nový SA. SPD je veľmi flexibilný riadiaci mechanizmus, ktorý umožňuje veľmi dobré riadenie spracovanie každého paketu. Pakety sú klasifikované podľa veľkého počtu polí a SPD môže skontrolovať niektoré alebo všetky polia, aby určil vhodnú akciu. To môže viesť k tomu, že všetka prevádzka medzi dvoma počítačmi bude odoslaná pomocou jedného SA alebo že sa pre každú aplikáciu alebo dokonca pre každé TCP spojenie použijú samostatné SA.

IPSec (net-to-net) medzi servermi FreeBSD

    Krok 1: Vytvorte a otestujte „virtuálne“ sieťové pripojenie.

    • Nastavte obe jadrá pomocou gif zariadenia. Vo FreeBSD je podpora gif zahrnutá v jadre.

      Upravte súbor /etc/rc.conf na smerovačoch a pridajte nasledujúce riadky (v prípade potreby nahraďte adresy IP). A.B.C.D je skutočná IP prvého smerovača, W.X.Y.Z je skutočná IP druhého smerovača. # Brána IPsec #1 > ee /etc/rc.conf ... # IPsec na S cez ISP_V gif_interfaces="gif0" # gifconfig_gif0="local-ip(A.B.C.D) remote-ip (W.X.Y.Z)" gifconfig_gif0="194.x.x.x 91.x.x.x "ifconfig_gif0 =" inet 10.26.95.254 192.168.1.254 Netmask 255.255.255.255 "static_routes =" vpn vpn1 "| .1.254" # brána IPsec #2 > ee /etc/rc.conf ... # IPsec na G cez ISPGate gif_interfaces="gif0" # gifconfig_gif0="W.X.Y.Z A.B.C.D" gifconfig_gif0="91.x.x.x 194".xconfig. inet 192.168.1.254 10.26.95.254 maska ​​siete 255.255.255.255" static_routes="vpn" route_vpn="-net 10.26.95.0/24 10.26.95.254"

      Upravte skript brány firewall na oboch smerovačoch a pridajte # IPFW ipfw pridajte 1 povoliť ip z ľubovoľného do ľubovoľného cez gif0 # PF set skip na gif0

Teraz by mal ping prejsť medzi sieťami.

    Zabezpečenie spojenia s IPsec

    Krok 2: Zabezpečené pripojenie s IPsec

    • Nakonfigurujte obe jadrá: > sysctl -a | grep ipsec

      ak príkaz nevypísal nič, musíte znova zostaviť jadrá na oboch smerovačoch s parametrami

      # IPSEC pre FreeBSD 7.0 a vyššie voľby IPSEC voľby IPSEC_FILTERTUNNEL šifrovanie zariadenia # IPSEC pre FreeBSD 6.3 voľby IPSEC # IP bezpečnostné voľby IPSEC_ESP # IP zabezpečenie (krypto; definovať s IPSEC) IPSEC_DEBUG # Voliteľné. ladenie pre bezpečnosť IP

      Nastavte port ipsec-tools. > cd /usr/ports/security/ipsec-tools > make config > make install clean > ee /etc/rc.conf racoon_enable="YES" ipsec_enable="YES" > mkdir -p /usr/local/etc/racoon/ cert > cp /usr/local/share/examples/ipsec-tools/racoon.conf /usr/local/etc/racoon/racoon.conf > cd /usr/local/etc/racoon/cert/

      Tvoríme SSL certifikáty na každom hostiteľovi. Kopírujeme súbory *.public z jedného do druhého. Názvy kľúčov sú v zásade nepodstatné, môžete ich volať aj podľa IP, s príslušnými príponami.

      > openssl req -new -nodes -newkey rsa:1024 -sha1 -keyform PEM -keyout your.key1.private -outform PEM -out your.key1.pem > openssl x509 -req -in your.key1.pem -signkey your. key.private -out your.key1.public

    Vytvoríme súbor ipsec.conf. Nastavenie na bráne č. 1 (kde je verejná IP adresa A.B.C.D), aby sa umožnilo šifrovanie všetkej prevádzky smerovanej do W.X.Y.Z. A.B.C.D/32 a W.X.Y.Z/32 sú adresy IP a masky siete, ktoré definujú siete alebo hostiteľov, ktorým túto politiku. V tomto prípade ich chceme použiť na prevádzku medzi týmito dvoma hostiteľmi. Voľba ipencap hovorí jadru, že táto politika by sa mala vzťahovať iba na pakety, ktoré zapuzdrujú iné pakety. Voľba -P out hovorí, že táto politika sa vzťahuje na odchádzajúce pakety a ipsec, že ​​pakety budú šifrované.

Zvyšok riadku určuje, ako budú tieto pakety šifrované. Použije sa protokol esp a parameter tunela indikuje, že paket bude neskôr zapuzdrený do paketu IPsec. Opätovné použitie A.B.C.D a W.X.Y.Z je na výber, ktoré možnosti zabezpečenia sa majú použiť, a nakoniec možnosť vyžadovať umožňuje šifrovanie paketov, ktoré spadajú pod toto pravidlo.

Toto pravidlo sa zhoduje iba s odchádzajúcimi paketmi. Na spárovanie prichádzajúcich paketov budete potrebovať podobné pravidlo.

> ee /etc/ipsec.conf spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/požadovať; spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P v ipsec esp/tunel/W.X.Y.Z-A.B.C.D/require;

Nastavenie na bráne č. 2 je podobné, len IP adresy sú obrátené.

Nastavenie nástroja racoon

> ee /usr/local/etc/racoon/racoon.conf cesta obsahuje "/usr/local/etc/racoon"; certifikát cesty "/usr/local/etc/racoon/cert/"; # nasledujúci riadok aktivuje protokolovanie a mal by sa neskôr deaktivovať ladenie protokolov; # ak nie je zadaná žiadna direktíva počúvať, racoon počúva na všetkých dostupných # adresách rozhrania. počúvať ( #isakmp::1 ; isakmp 202.249.11.124 ; #admin ; # administratívny port pre racoonctl. #strict_address; # vyžaduje, aby všetky adresy boli zviazané. ) # opíšte vzdialeného hostiteľa (na druhom počítači - identický, # aktuálny iná IP a kľúče) remote 217.15.62.200 ( exchange_mode agresivní,hlavný; môj_identifikátor asn1dn; peers_identifier asn1dn; # certifikáty tohto stroja certificate_type x509 "via.epia.public" "via.epia.private"; # certifikát vzdialeného počítača peers_certfile x509 "test.su .public"; návrh ( encryption_algorithm 3des; hash_algorithm sha1; authentication_method rsasig; dh_group 2 ; ) ) sainfo anonymné ( pfs_group 2; encryption_algorithm 3des; authentication_sha1gorithm_pression; hmacation_algorithm_algorithm

    Nastavenie filtra paketov PF, kde esp_peers je brána, pomocou ktorej sa vytvára šifrovaný tunel. Umožňujeme prechod paketov ESP a IPENCAP oboma smermi.

#pass IPSec odovzdanie $ext_if_a inet proto udp z ( $esp_peers ) do ($ext_if_a) port isakmp odovzdanie $ext_if_a inet proto esp z ( $esp_peers ) do ($ext_if_a) # odovzdanie $ext_if_a inet proto udp z ( $esp_peers ) do ($ext_if_a) port isakmp prejde na $ext_if_a inet proto esp z ( $esp_peers ) do ($ext_if_a)

Pozeráme sa na protokoly /var/log/security a /var/log/messages.

Po nastavení možností zabezpečenia ich môžete zobraziť pomocou tlačidla setkey (8). Bežať

> /etc/rc.d/ipsec start > /usr/local/etc/rc.d/racoon start > setkey -D # zoznam vytvorených zabezpečených kanálov > setkey -DP # zobrazenie zoznamu bezpečnostných politík

na ktoromkoľvek z hostiteľov, aby ste si mohli pozrieť informácie o nastaveniach zabezpečenia.

    Kontrola zdravia:

    ping medzi sieťami by mal fungovať

    Začneme počúvať fyzické rozhranie, na ktorom je tunel postavený (a nie virtuálny gif0). V inom okne, napríklad, ping na vzdialenú sivú sieť (napríklad ping 192.168.1.11) tcpdump -i em0 -n host 91 .x.x.81 ... 16:15:54.419117 IP x.x.x.x >

Príklady použitia tcpdump Linuxu by mali zobrazovať pakety ESP.

IPSec (site-to-site) medzi servermi Linux

# aptitude install ipsec-tools racoon

    Algoritmus konfigurácie IPsec

    Nastavenie balíka racoon

    Vytvorte bezpečnostnú politiku

    virtuálne rozhrania. Sú potrebné na smerovanie sietí umiestnených v lokálnych sieťach. Dva pripojené servery sa uvidia bez rozhraní (niekedy sa to bez nich medzi servermi nespustí, je to vlastne zvláštne).

Nižšie sú uvedené konfigurácie pre prípad s preddefinovanými kľúčmi.

> cesta nano /etc/racoon/racoon.conf obsahuje "/etc/racoon"; cesta pre_shared_key "/etc/racoon/psk.txt"; #cestovný certifikát "/etc/racoon/certs"; remote 10.5.21.23 ( exchange_mode agresivní,hlavný; doi ipsec_doi; situácia identity_only; adresa my_identifier; #Definuje metódu identity, ktorá sa má použiť pri autentifikácii uzlov. životnosť 2 min; zapnutý počiatočný_kontakt; návrh (šifrovací_algoritmus 3des; hash_algorithm_method shared_sha1; authentication_algorithm # Určuje metódu autentifikácie použitú pri vyjednávaní uzlov dh_group 2;) návrh_kontrol prísne;) sainfo anonymný # Označuje, že SA môže automaticky inicializovať pripojenie k akémukoľvek peeru, keď sa poverenia IPsec zhodujú. ( pfs_group 2; doba životnosti 2 min ; šifrovací_algoritmus 3des, blowfish 448, des, rijndael ; autentifikačný_algoritmus hmac_sha1, hmac_md5 ; deflácia kompresného_algoritmu; )

Vytvorme bezpečnostnú politiku

> nano pol.cfg #!/sbin/setkey -f flush; spdflush; spdadd 10.5.21.24 10.5.21.23 ľubovoľný -P out ipsec esp/transport//vyžadovať; spdadd 10.5.21.23 10.5.21.24 akékoľvek -P v ipsec esp/transport//vyžadovať; > chmod +x pol.cfg > ./pol.cfg

Vytvorme spustiteľný súbor na vytváranie rozhraní a spustite ho.

>nano tun.sh #!/bin/sh ip tunel del tun0 ip tunel pridať režim tun0 ipip remote 10.5.21.23 local 10.5.21.24 dev eth0 # vytvorte rozhranie tun0 a vytvorte tunel # medzi hostiteľmi (tu musíte použiť skutočné adresy IP sieťových rozhraní). ifconfig tun0 10.0.9.1 pointopoint 10.0.9.2 # priraďuje IP adresy k rozhraniu, pre aktuálneho hostiteľa a pre druhý koniec # tunela (voliteľné). ifconfig tun0 mtu 1472 ifconfig tun0 up # nižšie môžete špecifikovať trasy, ktoré potrebujeme, napríklad route add -net ... maska ​​siete 255.255.255.0 gw ... route add -net ... maska ​​siete 255.255.255.0 gw ... > ./ tun.sh

Pre automatické sťahovanie pravidlá, súbor tun.sh by mal byť správne umiestnený pre Debian v adresári /etc/network/if-up.d

Všetky IPSec tunely medzi sieťami sú nakonfigurované.

iptables IPSec

$IPT -A INPUT -p udp -m udp -s xxx.xxx.xxx.xxx -d xxx.xxx.xxx.xx --dport 500 -j PRIJAŤ $IPT -A INPUT -p esp -j PRIJAŤ $IPT - A INPUT -p ah -j PRIJAŤ $IPT -A INPUT -p ipencap -j PRIJAŤ $IPT -A INPUT -p udp -m udp -s xxx.xxx.xxx.xxx -d xxx.xxx.xxx.xx -- dport 4500 -j PRIJAŤ

IPsec host-to-host bez virtuálnych rozhraní

Úloha. Použite IPSec (pre_shared_key) na prepojenie dvoch serverov (Debian 5 a Debian 7). Obaja majú skutočnú IP. Nie je potrebné preposielať žiadne siete. Prevádzka medzi týmito adresami IP musí byť šifrovaná. To znamená, že vytvárame režim dopravy (medzi dvoma hostiteľmi).

Nastavenie sa týka dvoch bodov

    Nastavenie balíka racoon

    Vytvorenie bezpečnostnej politiky: je potrebné zadať režim prenosu a akékoľvek spdadd x.x.x.x/32 y.y.y.y/32 akékoľvek -P out ipsec esp/transport//require; spdadd y.y.y.y/32 x.x.x.x/32 any -P in ipsec esp/transport//require;

IPSec (GRE) (host-to-network) medzi Debianom a Cisco

Úloha: vytvoriť IPsec v tunelovom režime. Protokol RFC Popis SIP signalizácia medzi poskytovateľom (Cisco) a klientom (Debian 5) je šifrovaná pomocou IPsec a RTP obchádza tunel najkratšou cestou cez bežný internet.

    Klientsky koncový bod tunela je: 193.xxx.xxx.xxx

    Koncový bod tunela servera je: 62.xxx.xxx.xxx

    Klient Sip Server je: 193.xxx.xxx.xxx

    Servery SIP sú: 62.xxx.237.xxx/26 a 62.xxx.246.xxx/26

a pred nastavením tunela (pred auto tun0), pred spustením modprobe ip_gre

# modprobe ip_gre

Skript na vytvorenie tunelov GRE v Debiane:

#!/bin/sh -e modprobe ip_gre #ip tunnel del tun0 ip tunnel add tun0 mode gre remote 62.xxx.xxx.xxx local 193.xxx.xxx.xxx dev eth0 ifconfig tun0 mtu 1472 ifconfig tun0 up route add -net 62.xxx.237.xxx maska ​​siete 255.255.255.192 dev tun0 pridanie trasy -net 62.xxx.246.xxx maska ​​siete 255.255.255.192 dev tun0

Verejné služby

    Na ovládanie môžete použiť nástroj racoonctl racoonctl show-sa esp

    Zoznam vytvorených zabezpečených kanálov > setkey -D

    zoznam bezpečnostných politík > setkey -DP

Monitorovanie IPsec

Monitorovanie IPsec v Debiane 5.0 2.6.26-2-686-bigmem i686. Úroveň podrobnosti oznámenia alebo ladenia protokolu je nastavená v súbore racoon.conf.

# chvost -F /var/log/syslog | grep racoon

IPSec Openswan

OpenSWAN sa začal vyvíjať ako fork už neexistujúceho projektu FreeS/WAN (Free Secure Wide-Area Networking), vydania sú naďalej vydávané pod bezplatnou GNU General Public License. Na rozdiel od projektu FreeS/WAN, OpenSWAN nie je vyvinutý len špeciálne pre operačný systém GNU/Linux. OpenSWAN poskytuje balík protokolov IpSec: AH a ESP pre jadro Linuxu a nástroje na ich správu.

OpenSWAN pre vetvu jadra 2.6 poskytuje vstavanú NETKEY implementáciu IpSec, ako aj vlastný KLIPS.

CentOS 6.6 podporuje Openswan iba v základných balíkoch.

Úloha. Vytvorte šifrovaný tunel medzi CentOS 6.6 a Debian 7.8 Wheezy. Tunely GRE + Openswan (typ=doprava)

    Openswan zašifruje našu komunikáciu v režime prenosu (host-to-host) bez toho, aby zasahoval do smerovania. Nainštalujte balíky na oba servery yum install openswan aptitude install openswan

    Na oboch koncoch tunela nastavte pravidlá iptables. Otvorte port 500 na výmenu certifikátov a kľúčov. iptables -A INPUT -p udp --dport 500 -j PRIJAŤ iptables -A INPUT -p tcp --dport 4500 -j PRIJAŤ iptables -A INPUT -p udp --dport 4500 -j PRIJAŤ # Prísnejšie napíšte pravidlá pre IPSec IPT ="/sbin/iptables" $IPT -A INPUT -p udp -s x.x.x.x -d x.x.x.x --dport 500 -m komentár - komentár"IpSec" -j PRIJAŤ $IPT -A INPUT -p tcp -s x.x.x.x -d x.x.x.x --dport 4500 -m komentár --komentár "IpSec" -j PRIJAŤ $IPT -A INPUT -p udp -s x.x.x.x -d x.x.x --dport 4500 -m komentár --komentár "IpSec" -j PRIJAŤ

    Príprava konfiguračných súborov. Použité súbory a adresáre / etc/ ipsec.d/ / etc/ ipsec.conf

    Kontrola správneho prostredia systému pre overenie IPsec ipsec

    Pridajte na koniec súboru sysctl.conf

    # IPSec Verify Compliant # Povoliť preposielanie paketov medzi rozhraniami pre IPv4 net.ipv4.ip_forward = 1 # zakázať presmerovanie icmp net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.default.accept_redirects = 0

    Použiť možnosti jadra bez reštartu

    Prvý konfiguračný súbor je /etc/ipsec.conf. Nastavte explicitne v sekcii config setup config setup protostack =netkey plutoopts ="--perpeerlog" dumpdir =/ var/ run/ pluto/ nat_traversal =yes virtual_private =% v4:10.0.0.0/ 8 ,% v4:192.168.0.0/ 16 , % v4:172.16.0.0/ 12 ,% v4:25.0.0.0/ 8 ,% v6:fd00::/ 8 ,% v6:fe80::/ 10 oe =off #plutostderrlog=/dev/null

    Najprv musíte vygenerovať kľúče používané bránami na autentifikáciu. V Debiane je možné tento kľúč vytvoriť počas inštalácie. Spustíme ipsec newhostkey na oboch systémoch a vygenerujeme kľúče, ktoré potrebujeme. ipsec newhostkey --output / etc/ ipsec.secrets ipsec showhostkey --left ipsec showhostkey --right

    Bez ohľadu na to, ako konfigurujete server, vždy si predstavte, že vaša podsieť je „vľavo“ (vľavo) a podsieť, ku ktorej sa pristupuje na diaľku, lokalita, je „vpravo“ (vpravo). Nasledujúca konfigurácia sa vykonáva na server VPN na ľavej strane. Druhý server by mal mať presne tie isté nastavenia pre toto spojenie. conn gagahost-to-miraxhost auto =štart vľavo =188 .x.x.x leftrsasigkey =0sN4vI6ooUyMyL ... vpravo =91 .x.x.x rightrsasigkey =0sfAhuo4SQ0Qt ... typ =transport scp / etc/ ipsec.conf [e-mail chránený] 192.168.35.254:/home/admin/

Diagnostika IPSec Openswan

Spustenie služby a riešenie problémov.

Denníky Openwan (pluto): /var/log/auth.log /var/log/syslog /var/log/pluto/peer/a/b/c/d/a.b.c.d.log

Ak na oboch serveroch nie sú žiadne chyby, tunel by sa mal teraz spustiť. Tunel môžete otestovať pomocou príkazu ping s nasledujúcim. Ak tunel nefunguje, súkromná podsieť na strane B by nemala byť prístupná zo strany A, t. j. príkaz ping by nemal fungovať. Po spustení tunela vyskúšajte príkaz ping na prístup k súkromnej podsieti na strane B zo strany A. Malo by to fungovať.

Okrem toho by sa cesty do súkromnej podsiete mali objaviť v smerovacej tabuľke servera.

# ip route cez dev eth0 src predvolene cez dev eth0

    Príkazy kontroly stavu pripojenia: overenie služby ipsec stav ipsec ip zoznam stavov xfrm - správa SAD, viac možností ako setkey ipsec addconn --checkconfig - kontrola konfigurácie ipsec auto --status - podrobný stav ip xfrm monitor

    Politiky ipsec, ktoré rozhodujú o tom, ktorá prevádzka sa má poslať do tunela ip xfrm pol show

    Príklady použitia tcpdump Linuxu sa spúšťajú, aby si ohmatali fyzické rozhranie, na ktorom je postavený tunel (nie virtuálny GRE). V inom okne napríklad ping na vzdialenú sivú sieť (napríklad ping 192.168.1.11). tcpdump by mal zobrazovať pakety ESP. tcpdump -i em0 -n hostiteľ 91 .x.x.81 ... 16 :15 :54.419117 IP x.x.x.x > 91 .x.x.81: ESP(spi =0x01540fdd,seq =0xa20), dĺžka 92 ...

Odkazy

Koncom šesťdesiatych rokov sa Americká agentúra pre pokročilý výskum obrany (DARPA) rozhodla vytvoriť experimentálnu sieť s názvom ARPANet. V 70. rokoch sa ARPANet začal považovať za prevádzkovú sieť USA a prostredníctvom tejto siete bolo možné získať prístup k popredným univerzitám a vedeckým centrám USA. Začiatkom osemdesiatych rokov sa začala štandardizácia programovacích jazykov a potom protokoly pre sieťovú interakciu. Výsledkom tejto práce bol vývoj sedemvrstvového modelu sieťovej interakcie ISO/OSI a rodiny protokolov TCP/IP, ktorý sa stal základom pre budovanie lokálnych aj globálnych sietí.

Základné mechanizmy výmeny informácií v sieťach TCP/IP sa vo všeobecnosti vytvorili začiatkom osemdesiatych rokov a boli zamerané predovšetkým na zabezpečenie doručovania dátových paketov medzi rôznymi operačné systémy pomocou heterogénnych komunikačných kanálov. Napriek tomu, že myšlienka vytvorenia siete ARPANet (neskôr sa zmenila na moderný internet) patril vládnej obrannej organizácii, v skutočnosti sieť vznikla vo výskumnom svete a zdedila tradíciu otvorenosti akademickej obce. Ešte pred komercializáciou internetu (ku ktorej došlo v polovici deväťdesiatych rokov) mnohí uznávaní výskumníci zaznamenali problémy spojené s bezpečnosťou zásobníka protokolov TCP/IP. Základné koncepty protokolov TCP/IP plne nevyhovujú (a v niektorých prípadoch sú v rozpore) s modernými predstavami o počítačovej bezpečnosti.

Internet sa donedávna používal najmä na spracovanie informácií pomocou pomerne jednoduchých protokolov: e-mail, prenos súborov, vzdialený prístup. V súčasnosti sa vďaka širokému využívaniu WWW technológií čoraz viac využívajú prostriedky distribuovaného spracovania multimediálnych informácií. Zároveň rastie objem dát spracovávaných v prostrediach klient/server a určených na simultánny zdieľaný prístup veľkého počtu účastníkov. Na zabezpečenie bolo vyvinutých niekoľko protokolov aplikačnej vrstvy informačná bezpečnosť aplikácie ako e-mail (PEM, PGP atď.), WWW (Secure HTTP, SSL atď.), Správa siete (SNMPv2 atď.). Prítomnosť bezpečnostných nástrojov v základných protokoloch rodiny TCP/IP však umožní výmenu informácií medzi širokou škálou rôznych aplikácií a služieb.

Stručné historické pozadie vzhľadu protokolu

V roku 1994 vydala Rada pre internetovú architektúru (IAB) správu „Internet Architectural Security“. Tento dokument popisuje hlavné oblasti použitia dodatočných bezpečnostných nástrojov na internete, konkrétne ochranu pred neoprávneným monitorovaním, spoofing paketov a kontrolu toku údajov. Medzi prioritné a najdôležitejšie ochranné opatrenia bola označená potreba vypracovať koncepciu a základné mechanizmy na zabezpečenie integrity a dôvernosti dátových tokov. Keďže zmena základných protokolov rodiny TCP/IP by spôsobila úplnú reštrukturalizáciu internetu, úlohou bolo zabezpečiť bezpečnosť výmeny informácií v otvorených telekomunikačných sieťach založených na existujúcich protokoloch. Začala sa tak vytvárať špecifikácia Secure IP, ktorá dopĺňa protokoly IPv4 a IPv6.

Architektúra IPSec

IP Security je sada protokolov zaoberajúcich sa šifrovaním, autentifikáciou a bezpečnosťou pri prenose IP paketov; teraz obsahuje takmer 20 návrhov noriem a 18 RFC.

Špecifikáciu IP Security (dnes známu ako IPsec) vyvíja pracovná skupina IP Security Protocol IETF. IPsec spočiatku obsahoval 3 základné špecifikácie nezávislé od algoritmov publikované ako RFC „IP Security Architecture“, „Authentication Header (AH)“, „Encrypted Data Encapsulation (ESP)“ (RFC1825, 1826 a 1827). Je potrebné poznamenať, že v novembri 1998 navrhla pracovná skupina protokolu IP Security Protocol nové verzie týchto špecifikácií, ktoré majú v súčasnosti štatút predbežných noriem, sú to RFC2401 - RFC2412. Všimnite si, že RFC1825-27 sa už niekoľko rokov považuje za zastaraný a v skutočnosti sa nepoužíva. Okrem toho existuje niekoľko špecifikácií závislých od algoritmu, ktoré používajú protokoly MD5, SHA, DES.

Ryža. 1 - IPSec architektúra.

IP Security Protocol Working Group tiež vyvíja protokoly správy kľúčových informácií. Úlohou tejto skupiny je vyvinúť Internet Key Management Protocol (IKMP), protokol správy kľúčov aplikačnej vrstvy, ktorý je nezávislý od používaných bezpečnostných protokolov. Koncepcie správy kľúčov sa v súčasnosti zvažujú pomocou špecifikácie Internet Security Association a Key Management Protocol (ISAKMP) a protokolu Oakley Key Determination Protocol. Špecifikácia ISAKMP popisuje mechanizmy vyjednávania o atribútoch používaných protokolov, zatiaľ čo protokol Oakley umožňuje nastaviť kľúče relácie na počítačoch na internete. Predtým sa uvažovalo aj o možnostiach využitia mechanizmov správy kľúčov SKIP, no v súčasnosti sa takéto možnosti prakticky nikde nevyužívajú. Štandardy správy kľúčových informácií, ktoré sa vytvárajú, budú pravdepodobne podporovať centrá distribúcie kľúčov podobné tým, ktoré sa používajú v systéme Kerberos. Protokoly správy kľúčov pre IPSec založené na Kerberos sú v súčasnosti spracované relatívne novým pracovná skupina KINK (Kerberized Internet Negotiation of Keys).

Záruky integrity a dôvernosti údajov v špecifikácii IPsec sú poskytované prostredníctvom mechanizmov autentifikácie a šifrovania. Tie sú zasa založené na predbežnej dohode strán o takzvanej výmene informácií. "bezpečnostný kontext" - použité kryptografické algoritmy, algoritmy správy kľúčových informácií a ich parametre. Špecifikácia IPsec poskytuje stranám možnosť vymieňať si informácie na podporu rôznych protokolov a parametrov na autentifikáciu a šifrovanie dátových paketov, ako aj rôznych schém distribúcie kľúčov. V tomto prípade je výsledkom vyjednávania bezpečnostného kontextu vytvorenie indexu bezpečnostných parametrov (SPI), ktorý je ukazovateľom na určitý prvok vnútornej štruktúry strany výmeny informácií, ktorý popisuje možné súbory bezpečnostných parametrov.

V skutočnosti IPSec, ktorý sa stane súčasťou IPv6, funguje na tretej vrstve, teda na sieťovej vrstve. V dôsledku toho budú prenášané IP pakety chránené spôsobom, ktorý je transparentný pre sieťové aplikácie a infraštruktúru. Na rozdiel od SSL (Secure Socket Layer), ktorý funguje na štvrtej (t. j. transportnej) vrstve a je užšie spojený s vyššími vrstvami modelu OSI, je IPSec navrhnutý tak, aby poskytoval bezpečnosť na nízkej úrovni.


Ryža. 2 - OSI / ISO model.

IPSec pridáva hlavičku k údajom IP pripraveným na odoslanie cez VPN na identifikáciu chránených paketov. Pred prenosom cez internet sú tieto pakety zapuzdrené do iných IP paketov. IPSec podporuje niekoľko typov šifrovania, vrátane Data Encryption Standard (DES) a Message Digest 5 (MD5).

Na vytvorenie bezpečného spojenia sa musia byť obaja účastníci relácie schopní rýchlo dohodnúť na bezpečnostných parametroch, ako sú autentifikačné algoritmy a kľúče. IPSec podporuje dva typy schém správy kľúčov, prostredníctvom ktorých môžu účastníci vyjednávať parametre relácie. Táto dvojitá podpora spôsobila v pracovnej skupine IETF v tom čase určité rozpory.

S aktuálnou verziou IP, IPv4, je možné použiť buď Internet Secure Association Key Management Protocol (ISAKMP) alebo Simple Key Management for Internet Protocol. S Nová verzia IP, IPv6, bude musieť používať ISAKMP, teraz známy ako IKE, aj keď nie je vylúčená možnosť použitia SKIP. Treba však mať na pamäti, že SKIP sa už nepovažuje za kľúčového kandidáta na manažment a už v roku 1997 bol vyškrtnutý zo zoznamu možných kandidátov.

AH hlavička

Autentifikačná hlavička (AH) je normálna voliteľná hlavička a zvyčajne sa nachádza medzi hlavičkou hlavného IP paketu a dátovým poľom. Prítomnosť AH neovplyvňuje proces prenosu informácií transportných a vyšších vrstiev. Hlavným a jediným účelom AH je poskytnúť ochranu pred útokmi spojenými s neoprávnenými zmenami obsahu balíka, vrátane spoofingu pôvodnej adresy sieťovej vrstvy. Protokoly vyššej úrovne sa musia upraviť, aby bolo možné overiť pravosť prijatých údajov.

Formát AH je pomerne jednoduchý a pozostáva z 96-bitovej hlavičky a údajov s premenlivou dĺžkou 32-bitových slov. Názvy polí odrážajú ich obsah celkom jasne: Next Header označuje nasledujúcu hlavičku, Payload Len predstavuje dĺžku paketu, SPI je ukazovateľ na bezpečnostný kontext a Sequence Number Field obsahuje poradové číslo paketu.


Ryža. 3 - Formát hlavičky AH.

Sekvenčné číslo paketu bolo zavedené do AH v roku 1997 počas procesu revízie špecifikácie IPsec. Hodnota tohto poľa je generovaná odosielateľom a slúži na ochranu pred útokmi súvisiacimi s opätovné použitieúdaje o autentifikačnom procese. Keďže internet negarantuje poradie, v akom budú pakety doručené, príjemca musí uchovávať informácie o maximálnom sekvenčnom čísle paketu, ktorý bol úspešne overený, a o prijatí určitého počtu paketov obsahujúcich predchádzajúce poradové čísla (zvyčajne je toto číslo 64).

Na rozdiel od algoritmov na výpočet kontrolného súčtu používaných v protokoloch na prenos informácií cez dial-up komunikačné linky alebo cez LAN kanály a zameraných na opravu náhodných chýb v prenosovom médiu, mechanizmy integrity dát v otvorených telekomunikačných sieťach musia mať prostriedky ochrany pred vykonaním cielených zmien. . Jedným z týchto mechanizmov je špeciálna aplikácia algoritmu MD5: počas tvorby AH sa postupne vypočítava hašovacia funkcia z kombinácie samotného paketu a nejakého vopred dohodnutého kľúča a potom z kombinácie výsledku a transformovaného kľúč. Tento mechanizmus sa štandardne používa s cieľom poskytnúť všetkým implementáciám IPv6 aspoň jeden spoločný algoritmus, ktorý nepodlieha vývozným obmedzeniam.

Hlavička ESP

V prípade zapuzdrenia šifrovaných dát je hlavička ESP posledná z voliteľných hlavičiek "viditeľných" v pakete. Keďže hlavným účelom ESP je zabezpečiť dôvernosť údajov, rôzne typy informácií môžu vyžadovať použitie výrazne odlišných šifrovacích algoritmov. Preto môže formát ESP prejsť významnými zmenami v závislosti od použitých kryptografických algoritmov. Je však možné rozlíšiť nasledujúce povinné polia: SPI označujúce bezpečnostný kontext a Sekvenčné číslo Pole obsahujúce poradové číslo paketu. Pole "ESP Authentication Data" (kontrolný súčet) je v hlavičke ESP nepovinné. Príjemca paketu ESP dešifruje hlavičku ESP a použije parametre a dáta použitého šifrovacieho algoritmu na dekódovanie informácií transportnej vrstvy.


Ryža. 4 - Formát hlavičky ESP.

Existujú dva spôsoby aplikácie ESP a AH (ako aj ich kombinácie) - doprava a tunel.

Dopravný režim

Transportný režim sa používa na šifrovanie dátového poľa IP paketu obsahujúceho protokoly transportnej vrstvy (TCP, UDP, ICMP), ktoré zase obsahuje informácie o aplikačných službách. Príkladom aplikácie transportného režimu je prenos Email. Všetky medziľahlé uzly na ceste paketu od odosielateľa k prijímaču používajú iba informácie o vrstve verejnej siete a prípadne niektoré voliteľné hlavičky paketov (v IPv6). Nevýhodou transportného režimu je nedostatok mechanizmov na skrytie konkrétneho odosielateľa a príjemcu paketu, ako aj možnosť analýzy prevádzky. Výsledkom takejto analýzy môžu byť informácie o objeme a smere prenosu informácií, oblastiach záujmu predplatiteľov, umiestnení manažérov.

tunelový režim

Tunelový režim zašifruje celý paket vrátane hlavičky sieťovej vrstvy. Tunelový režim sa používa, keď je potrebné skryť výmenu informácií organizácie s vonkajším svetom. Zároveň sú polia adries hlavičky sieťovej vrstvy paketu využívajúceho režim tunela vyplnené firewallom organizácie a neobsahujú informácie o konkrétnom odosielateľovi paketu. Pri prenose informácií z vonkajšieho sveta do lokálnej siete organizácie sa ako cieľová adresa používa sieťová adresa brány firewall. Keď firewall dešifruje úvodnú hlavičku sieťovej vrstvy, paket sa odošle príjemcovi.

bezpečnostné asociácie

Asociácia zabezpečenia (SA) je spojenie, ktoré poskytuje bezpečnostné služby pre prenos, ktorý ním prechádza. Dva počítače na každej strane SA ukladajú režim, protokol, algoritmy a kľúče používané v SA. Každá SA sa používa iba v jednom smere. Na obojsmernú komunikáciu sú potrebné dve SA. Každá SA implementuje jeden režim a protokol; teda, ak je potrebné použiť dva protokoly (ako AH a ESP) pre jeden paket, potom sú potrebné dva SA.

bezpečnostná politika

Bezpečnostná politika je uložená v SPD (Security Policy Database). SPD môže určiť jednu z troch akcií pre dátový paket: zahodiť paket, nespracovať paket pomocou IPSec, spracovať paket pomocou IPSec. V druhom prípade SPD tiež špecifikuje, ktorý SA má použiť (samozrejme za predpokladu, že vhodný SA už bol vytvorený) alebo špecifikuje, s akými parametrami má byť vytvorený nový SA.

SPD je veľmi flexibilný riadiaci mechanizmus, ktorý umožňuje veľmi dobrú kontrolu nad spracovaním každého paketu. Pakety sú klasifikované podľa veľkého počtu polí a SPD môže skontrolovať niektoré alebo všetky polia, aby určil vhodnú akciu. To môže viesť k tomu, že všetka prevádzka medzi dvoma počítačmi bude odoslaná pomocou jedného SA alebo že sa pre každú aplikáciu alebo dokonca pre každé TCP spojenie použijú samostatné SA.

ISAKMP/Oakley

Definuje protokol ISAKMP celková štruktúra protokoly, ktoré sa používajú na vytvorenie SA a na vykonávanie iných funkcií správy kľúčov. ISAKMP podporuje niekoľko domén interpretácie (DOI), jednou z nich je IPSec-DOI. ISAKMP nedefinuje úplný protokol, ale poskytuje „stavebné bloky“ pre rôzne DOI a protokoly výmeny kľúčov.

Protokol Oakley je protokol na určenie kľúča, ktorý používa algoritmus na nahradenie kľúča Diffie-Hellman. Protokol Oakley podporuje Perfect Forward Secrecy (PFS). Prítomnosť PFS znamená, že všetku komunikáciu nemožno dešifrovať, ak je ohrozený akýkoľvek kľúč v systéme.

IKE

IKE je predvolený protokol výmeny kľúčov pre ISAKMP av súčasnosti je jediný. IKE stojí na vrchole ISAKMP a skutočne zakladá ISAKMP SA aj IPSec SA. IKE podporuje sadu rôznych primitívnych funkcií na použitie v protokoloch. Medzi nimi je hašovacia funkcia a pseudonáhodná funkcia (PRF).

Hašovacia funkcia je funkcia, ktorá je odolná voči kolíziám. Odolnosť voči kolízii sa vzťahuje na skutočnosť, že nie je možné nájsť dve rôzne správy m 1 A m2, také že H(m1)=H(m2), Kde H- hašovacia funkcia.

Čo sa týka pseudonáhodných funkcií, v súčasnosti sa v dizajne HMAC namiesto špeciálnych PRF používa hašovacia funkcia (HMAC je mechanizmus autentifikácie správ pomocou hašovacích funkcií). Na definovanie HMAC potrebujeme kryptografickú hašovaciu funkciu (označenú ako H) a tajný kľúč K. Predpokladáme, že H je hašovacia funkcia, kde sa údaje hašujú pomocou kompresnej procedúry aplikovanej sekvenčne na sekvenciu dátových blokov. Dĺžku takýchto blokov v bajtoch a dĺžku blokov získaných hašovaním označíme ako L (L

Ipad = bajt 0x36 opakovaný B-krát;
opad = byte 0x5C opakovaný B-krát.

Ak chcete vypočítať HMAC z „textových“ údajov, musíte vykonať nasledujúcu operáciu:

H(K XOR opad, H(K XOR ipad, text))

Z popisu vyplýva, že IKE používa hodnoty HASH na autentifikáciu strán. Všimnite si, že HASH v tomto prípade odkazuje výlučne na názov Payload v ISAKMP a tento názov nemá nič spoločné s jeho obsahom.

Útoky na AH, ESP a IKE.

Všetky typy útokov na komponenty IPSec možno rozdeliť do nasledujúcich skupín: útoky využívajúce obmedzenosť systémových prostriedkov (typickým príkladom je útok Denial of Service, Denial-of-service alebo útok DOS), útoky využívajúce funkcie a chyby konkrétnej implementácie IPSec a napokon útoky založené na slabinách samotných protokolov. AH a ESP. Čisto kryptografické útoky možno ignorovať – oba protokoly definujú pojem „transformácií“, kde je všetka kryptografia skrytá. Ak je použitý kryptoalgoritmus odolný a transformácia ním definovaná neprináša ďalšie slabé miesta (nie je to vždy tak, preto je správnejšie zvážiť stabilitu celého systému - Protocol-Transform-Algorithm), potom z toho zo strany je všetko v poriadku. Čo zostáva? Replay Attack - vyrovnaný pomocou poradového čísla (v jednom prípade to nefunguje - pri použití ESP bez autentifikácie a bez AH). Ďalej, poradie akcií (najprv šifrovanie, potom autentifikácia) zaručuje rýchle odmietnutie „zlých“ paketov (navyše podľa najnovších výskumov vo svete kryptografie ide o najbezpečnejšie poradie akcií, v niektorých prípadoch opačné poradie). , aj keď veľmi špeciálne prípady, môžu viesť k potenciálnym bezpečnostným dieram; našťastie ani SSL, ani IKE, ani iné bežné protokoly s protokolom „najskôr autentifikujte, potom zašifrujte“ medzi tieto špeciálne prípady nepatria, a preto tieto diery nemajú ). Čo zostáva, je útok Denial-Of-Service. Ako viete, ide o útok, proti ktorému neexistuje úplná ochrana. Rýchle odmietnutie zlých paketov a absencia akejkoľvek vonkajšej reakcie na ne (podľa RFC) však umožňuje vysporiadať sa s týmto útokom viac-menej dobre. V zásade platí, že väčšine (ak nie všetkým) známym sieťovým útokom (sniffing, spoofing, hijacking, atď.) úspešne čelia AH a ESP, ak sa používajú správne. S IKE je to trochu zložitejšie. Protokol je veľmi zložitý, ťažko sa analyzuje. Navyše kvôli preklepom (vo výpočtovom vzorci HASH_R) pri jej písaní a nie celkom úspešným riešeniam (rovnaké HASH_R a HASH_I) obsahuje niekoľko potenciálnych „dier“ (najmä nie všetky užitočné zaťaženia v správe sú overené v prvá fáza), nie sú však veľmi závažné a vedú nanajvýš k odmietnutiu nadviazania spojenia. IKE je viac či menej úspešne chránené pred útokmi, ako je opakované prehrávanie, spoofing, sniffing, hijacking. Kryptografia je o niečo zložitejšia - nevykresľuje sa, ako v AH a ESP, oddelene, ale je implementovaná v samotnom protokole. Pri použití perzistentných algoritmov a primitív (PRF) by však nemali nastať žiadne problémy. Do určitej miery možno považovať za slabinu IPsec, že ​​DES je v súčasných špecifikáciách označený ako jediný povinný kryptalgoritmus na implementáciu (to platí pre ESP aj IKE), ktorého 56 bitov kľúča sa už neberie do úvahy. dostatočné. Ide však o čisto formálnu slabinu – samotné špecifikácie sú nezávislé na algoritme a takmer všetci známi predajcovia už dávno implementovali 3DES (a niektorí už implementovali AES). Ak sa teda implementuje správne, Denial-Of-Service zostáva „najnebezpečnejší“ útok.

Hodnotenie protokolu

Protokol IPSec získal zmiešané recenzie od odborníkov. Na jednej strane je potrebné poznamenať, že protokol IPSec je najlepší zo všetkých ostatných protokolov na ochranu údajov prenášaných cez sieť, vyvinutých skôr (vrátane protokolu vyvinutého spoločnosťou Microsoft PPTP). Podľa druhej strany ide o nadmernú zložitosť a redundanciu protokolu. Napríklad Niels Ferguson a Bruce Schneier vo svojej práci „A Cryptographic Evaluation of IPsec“ poznamenávajú, že našli vážne bezpečnostné problémy takmer vo všetkých hlavných komponentoch IPsec. Títo autori tiež poukazujú na to, že balík protokolov vyžaduje veľa práce, aby poskytoval dobrú úroveň zabezpečenia. Článok popisuje množstvo útokov, ktoré využívajú slabé stránky všeobecnej schémy spracovania údajov a tiež slabé stránky kryptografických algoritmov.

Záver

V tomto článku sme sa zaoberali niektorými hlavnými bodmi týkajúcimi sa protokolu zabezpečenia siete IPsec. Stojí za zmienku, že IPsec dominuje väčšine implementácií virtuálnych privátnych sietí. V súčasnosti sú na trhu prezentované obe softvérové ​​implementácie (napr. protokol je implementovaný v operačnom systéme Microsoft Windows2000), softvérové ​​a hardvérové ​​implementácie IPsec sú riešenia Cisco, Nokia. Napriek veľkému množstvu rôznych riešení sú všetky navzájom celkom dobre kompatibilné. Článok uzatvára tabuľka, ktorá porovnáva IPSec a dnes už bežne používané SSL.

Zvláštnosti IPSec SSL
Nezávislosť na hardvéri Áno Áno
kód Pre aplikácie nie sú potrebné žiadne zmeny. Môže vyžadovať prístup k zdrojovému kódu zásobníka TCP/IP. Vyžaduje sa zmena aplikácie. Môžu byť potrebné nové knižnice DLL alebo prístup k zdrojovému kódu aplikácie.
Ochrana Celý IP paket. Umožňuje ochranu protokolov vyššej vrstvy. Iba aplikačná vrstva.
Filtrovanie paketov Na základe overených hlavičiek, adries odosielateľa a príjemcu atď. Jednoduché a lacné. Vhodné pre routery. Založené na vysokom obsahu a sémantike. Inteligentnejší a komplexnejší.
Výkon Menej prepínania kontextu a pohybu údajov. Viac kontextových prepínačov a presun údajov. Veľké bloky údajov môžu urýchliť kryptografické operácie a poskytnúť lepšiu kompresiu.
Platformy Akékoľvek systémy vrátane smerovačov V podstate koncové systémy (klienti/servery), tiež firewally.
Firewall/VPN Všetka premávka je chránená. Chránená je iba prevádzka na úrovni aplikácie. ICMP, RSVP, QoS atď. nemusia byť chránené.
Transparentnosť Pre používateľov a aplikácie. Len pre používateľov.
Momentálna situácia vznikajúci štandard. Široko používaný WWW prehliadačmi, používaný aj niektorými ďalšími produktmi.

Odkazy

  • www.ietf.org/html.charters/ipsec-charter.html – Domovská stránka pracovnej skupiny IETF. Sú tam aj odkazy na RFC a návrhy noriem.
  • www.microsoft.com/rus/windows2000/library/security/w2k_IPSecurity.asp - Informácie o implementácii protokolu IPSec v systéme Windows2000 Server.

Vďaka

V kontakte s

Spolužiaci



Načítava...
Hore