Ipsec koji port. Tehnologije koje se koriste u IPSEC-u. Obrada IPsec izlaznih paketa

0 Ovaj članak pruža pregled alata IP sigurnosti (IP Security) i povezanih IPSec protokola dostupnih u Cisco proizvodima koji se koriste za stvaranje virtualnih privatnih mreža (VPN). U ovom ćemo članku definirati što je IPSEC i koji su protokoli i sigurnosni algoritmi u osnovi IPSEC-a.

Uvod

IP Security je skup protokola koji se bave problemima enkripcije, autentifikacije i sigurnosti tijekom prijenosa IP paketa; sada uključuje gotovo 20 prijedloga standarda i 18 RFC-ova.

Cisco VPN proizvodi koriste paket IPSec protokola, koji je industrijski standard za pružanje bogatih VPN mogućnosti. IPSec nudi mehanizam za siguran prijenos podataka preko IP mreža, osiguravajući povjerljivost, cjelovitost i pouzdanost podataka koji se prenose preko nezaštićenih mreža kao što je Internet. IPSec pruža sljedeće VPN mogućnosti na Cisco mrežama:

  • Privatnost podataka. IPSec pošiljatelj podataka ima mogućnost šifriranja paketa prije nego što se pošalju preko mreže.
  • Integritet podataka. IPSec primatelj ima mogućnost autentifikacije strana koje s njim komuniciraju (uređaja ili softvera gdje IPSec tuneli počinju i završavaju) i IPSec paketa koje šalju te strane kako bi se osiguralo da podaci nisu izmijenjeni tijekom prijenosa.
  • Autentifikacija izvora podataka. IPSec prijamnik ima mogućnost provjere autentičnosti izvora IPSec paketa koje prima. Ova usluga ovisi o usluzi integriteta podataka.
  • Zaštita od ponovne reprodukcije. Primatelj IPSec-a može detektirati i odbiti reproducirane pakete, sprječavajući lažiranje paketa ili podvrgavanje napadima čovjeka u sredini.

IPSec je skup sigurnosnih protokola i algoritama temeljen na standardima. IPSec tehnologija i s njom povezani sigurnosni protokoli usklađeni su s otvorenim standardima koje održava Internet Engineering Task Force (IETF) i opisani su u RFC specifikacijama i IETF nacrtima. IPSec djeluje na mrežnom sloju, pružajući sigurnost i autentifikaciju za IP pakete poslane između IPSec uređaja (strana) - kao što su Cisco usmjerivači, PIX vatrozidi, Cisco VPN klijenti i koncentratori te mnogi drugi proizvodi koji podržavaju IPSec. Podrška za IPSec kreće se od vrlo malih do vrlo velikih mreža.

Udruga za sigurnost (SA)

IPSec nudi standardni način provjere autentičnosti i šifriranja komunikacije između strana koje komuniciraju. Kako bi osigurao komunikaciju, IPSec koristi standardne algoritme za šifriranje i provjeru autentičnosti (to jest, matematičke formule) koji se nazivaju transformacije. IPSec koristi otvorene standarde za pregovaranje ključeva šifriranja i upravljanje vezama kako bi se omogućila interoperabilnost između strana. IPSec tehnologija nudi metode koje omogućuju IPSec stranama da "pregovaraju" o dogovorenom korištenju usluga. IPSec koristi sigurnosne asocijacije za određivanje dogovorenih parametara.

Udruga za obranu(Security Association - SA) je dogovorena politika ili metoda obrade podataka koji su namijenjeni za razmjenu između dva uređaja strana koje komuniciraju. Jedna komponenta takve politike može biti algoritam koji se koristi za šifriranje podataka. Obje strane mogu koristiti isti algoritam i za šifriranje i za dešifriranje. Učinkoviti SA parametri pohranjuju se u bazi podataka sigurnosne asocijacije (SAD) obiju strana.

Dva računala sa svake strane SA pohranjuju način rada, protokol, algoritme i ključeve koji se koriste u SA. Svaki SA se koristi samo u jednom smjeru. Dvosmjerna komunikacija zahtijeva dva SA-a. Svaki SA implementira jedan način rada i protokol; prema tome, ako se dva protokola trebaju koristiti za jedan paket (kao što su AH i ESP), tada su potrebna dva SA.

Protokol IKE (Internet Key Exchange) je hibridni protokol koji pruža specifičnu uslugu za IPSec, odnosno provjeru autentičnosti IPSec strana, pregovaranje IKE i IPSec parametara sigurnosne asocijacije i odabir ključeva za algoritme šifriranja koji se koriste unutar IPSec. Protokol IKE oslanja se na protokole Internet Security Association and Key Management Protocol (ISAKMP) i Oakley, koji se koriste za upravljanje stvaranjem i obradom ključeva za šifriranje koji se koriste u IPSec transformacijama. IKE protokol također se koristi za formiranje sigurnosnih asocijacija između potencijalnih IPSec strana.
I IKE i IPSec koriste sigurnosne asocijacije za određivanje komunikacijskih parametara.
IKE podržava skup različitih primitivnih funkcija za korištenje u protokolima. Među njima su hash funkcija i pseudoslučajna funkcija (PRF).

Hash funkcija je funkcija otporna na sudar. Otpornost na sudar odnosi se na činjenicu da je nemoguće pronaći dvije različite poruke m1 i m2 tako da

H(m1)=H(m2), gdje je H hash funkcija.

Što se tiče pseudoslučajnih funkcija, umjesto posebnih PRF-ova u dizajnu HMAC-a trenutačno se koristi hash funkcija (HMAC je mehanizam provjere autentičnosti poruke koji koristi hash funkcije). Za definiranje HMAC-a potrebna nam je kriptografska hash funkcija (nazovimo je H) i tajni ključ K. Pretpostavljamo da je H hash funkcija gdje se podaci raspršuju korištenjem postupka kompresije koji se sekvencijalno primjenjuje na niz podatkovnih blokova. Označavamo s B duljinu takvih blokova u bajtovima, a duljinu blokova dobivenih kao rezultat hashiranja s L (L
ipad = bajt 0x36, ponovljeno B puta;
opad = bajt 0x5C ponovljen B puta.

Da biste izračunali HMAC iz "tekstualnih" podataka, morate izvršiti sljedeću operaciju:

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

Iz opisa slijedi da IKE koristi HASH vrijednosti za autentifikaciju stranaka. Imajte na umu da se HASH u ovom slučaju odnosi isključivo na ime nosivosti u ISAKMP-u, a ovo ime nema nikakve veze s njegovim sadržajem

IPSec infrastruktura

VPN mreže temeljene na IPSec-u mogu se izgraditi pomoću širokog spektra Cisco uređaja—Cisco usmjerivači, Cisco Secure PIX vatrozidi, Cisco Secure VPN klijentski softver i Cisco VPN 3000 i 5000 koncentratori serije imaju ugrađenu VPN podršku s odgovarajućim bogatim sadržajem Ciscove mogućnosti softvera IOS, što smanjuje složenost mrežnih rješenja i smanjuje ukupne troškove VPN-a, a istovremeno omogućuje zaštitu pruženih usluga na više razina. PIX Firewall mrežni je uređaj visokih performansi koji može opsluživati ​​krajnje točke tunela, pružajući im visoku propusnost i vrhunsku funkcionalnost vatrozida. CiscoSecure VPN klijentski softver podržava najstrože zahtjeve udaljenog pristupa VPN-u za aplikacije e-trgovine i mobilnog pristupa, nudeći potpunu implementaciju IPSec standarda i osiguravajući pouzdanu interoperabilnost između Cisco usmjerivača i PIX vatrozida.

Kako radi IPSec


IPSec se oslanja na brojne tehnologije i metode šifriranja, ali IPSec se općenito može zamisliti kao sljedeći glavni koraci:
  • Korak 1: Pokrenite IPSec proces. Promet koji zahtijeva enkripciju prema IPSec sigurnosnoj politici koju su dogovorile IPSec strane započinje IKE proces.
  • Korak 2: IKE prva faza. IKE proces autentificira IPSec strane i dogovara IKE parametre sigurnosne asocijacije, što rezultira sigurnim kanalom za pregovaranje IPSec parametara sigurnosne asocijacije tijekom druge faze IKE-a.
  • Korak 3: IKE Druga faza. IKE proces dogovara parametre IPSec sigurnosne asocijacije i uspostavlja odgovarajuće IPSec sigurnosne asocijacije za uređaje koji komuniciraju.
  • Korak 4: Prijenos podataka. Komunikacija se odvija između IPSec strana koje komuniciraju na temelju IPSec parametara i ključeva pohranjenih u bazi podataka sigurnosnih asocijacija.
  • Korak 5: Prekinite IPSec tunel. IPSec sigurnosne asocijacije prekidaju se ili zato što su izbrisane ili zato što je prekoračeno njihovo životno ograničenje.
Sljedeći odjeljci će detaljnije opisati ove korake.
mreža, sigurni tunel (Sl. 5.9), kroz koji se prenose povjerljivi ili osjetljivi podaci. Takav se tunel stvara korištenjem kriptografskih metoda za zaštitu informacija.

Protokol radi na mrežnom sloju OSI modela i prema tome je “transparentan” za aplikacije. Drugim riječima, na rad aplikacija (kao što su web poslužitelj, preglednik, DBMS itd.) ne utječe neovisno o tome jesu li preneseni podaci zaštićeni pomoću IPSec-a ili ne.

Operativni sustavi iz obitelji Windows 2000 i noviji imaju ugrađenu podršku za IPSec protokol. Sa stajališta višeslojnog sigurnosnog modela, ovaj protokol je sigurnosni alat na mrežnoj razini.


Riža. 5.9.

IPSec arhitektura je otvorena, što posebice omogućuje korištenje novih kriptografskih algoritama i protokola, primjerice onih koji zadovoljavaju nacionalne standarde, za zaštitu prenesenih podataka. Za to je potrebno da strane koje komuniciraju podržavaju ove algoritme, a oni bi bili registrirani na standardni način u opisu parametara veze.

Proces sigurnog prijenosa podataka reguliran je sigurnosnim pravilima usvojenim u sustavu. Parametri stvorenog tunela opisani su informacijskom strukturom koja se naziva sigurnosni kontekst ili sigurnosna asocijacija (od engleskog Security Association, skraćeno SA). Kao što je gore navedeno, IPSec je skup protokola, a sastav SA može varirati ovisno o specifičnom protokolu. SA uključuje:

  • IP adresa primatelja;
  • naznaku sigurnosnih protokola koji se koriste tijekom prijenosa podataka;
  • ključeve potrebne za šifriranje i generiranje imitativnog umetka (ako je potrebno);
  • indikacija metode oblikovanja koja određuje kako se stvaraju naslovi;
  • indeks sigurnosnih parametara (od engleskog indeksa sigurnosnih parametara, skraćeno SPI) - identifikator koji vam omogućuje da pronađete željeni SA.

Tipično, sigurnosni kontekst je jednosmjeran, a dva SA-a se koriste za prijenos podataka kroz tunel u oba smjera. Svaki host ima vlastitu SA bazu podataka, iz koje se bira traženi element na temelju SPI ili IP adrese primatelja.

Dva protokola uključena u IPSec su:

  1. protokol zaglavlja provjere autentičnosti- AH (od engleskog Authentication Header), koji omogućuje provjeru integriteta i autentifikaciju prenesenih podataka; najnovija verzija protokola opisana je u RFC 4302 (prethodni - RFC 1826, 2402);
  2. Encapsulating Data Protection Protocol - ESP (od engl. Enkapsulacija sigurnosnog tereta) - pruža povjerljivost i, izborno, može pružiti provjeru integriteta i autentifikaciju, opisanu u RFC 4303 (prethodni - RFC 1827, 2406).

Oba ova protokola imaju dva načina rada - transportni i tunelski, potonji je definiran kao glavni. Tunelski način rada koristi se ako je barem jedan od povezujućih čvorova sigurnosni pristupnik. U ovom slučaju kreira se novo IP zaglavlje, a originalni IP paket je potpuno enkapsuliran u novom.

Način transporta usmjerena na host-to-host vezu. Kada koristite ESP u transportnom načinu, samo su podaci IP paketa zaštićeni, zaglavlje nije zahvaćeno. Kada koristite AH, zaštita se proteže na podatke i dio polja zaglavlja. Načini rada su detaljnije opisani u nastavku.

AH protokol

U IP ver.4, zaglavlje za provjeru autentičnosti nalazi se nakon IP zaglavlja. Zamislimo originalni IP paket kao kombinaciju IP zaglavlja, zaglavlja protokola sljedeće razine (obično TCP ili UDP, na slici 5.10 označeno je ULP - od Upper-Level Protocol) i podataka.


Riža. 5.10.

Razmotrite format ESP zaglavlja (Sl. 5.13). Počinje s dvije 32-bitne vrijednosti - SPI I S N.. Njihova uloga je ista kao u AH protokolu - SPI identificira SA korišten za stvaranje ovog tunela; S N.- omogućuje vam zaštitu od ponavljanja paketa. S N. I SPI nisu šifrirani.

Sljedeće polje je ono koje sadrži šifrirane podatke. Nakon njih nalazi se polje rezerviranog mjesta, koje je potrebno kako bi se duljina šifriranih polja uskladila s vrijednošću koja je višekratnik veličine bloka algoritma za šifriranje.


Riža. 5.12.


Riža. 5.13.

Nakon rezerviranog mjesta nalaze se polja koja sadrže duljinu rezerviranog mjesta i naznaku protokola više razine. Četiri navedena polja (podaci, rezervirano mjesto, duljina, sljedeći protokol) zaštićena su enkripcijom.

Ako se ESP također koristi za provjeru autentičnosti podataka, tada paket završava poljem promjenjive duljine koje sadrži ICV. Za razliku od AH, u ESP-u se pri izračunavanju vrijednosti imitovsert ne uzimaju u obzir polja IP zaglavlja (novo - za tunelski način rada, modificirano staro - za transport).

Kada zajedno koristite AH i ESP protokole, nakon IP zaglavlja dolazi AH, nakon njega - ESP. U ovom slučaju, ESP rješava probleme osiguranja povjerljivosti, AH - osiguranje integriteta i autentifikacije izvora veze.

Razmotrimo niz dodatnih pitanja vezanih uz korištenje IPSec-a. Počnimo s time odakle dolaze informacije o parametrima veze – SA. Stvaranje SA baze može se izvršiti na različite načine. Konkretno, može se stvoriti sigurnosni administrator ručno, ili generirani pomoću posebnih protokola - SKIP, ISAKMP (Internet Security Association and Key Management Protocol) i IKE (Internet Key Exchange).

IPSec i NAT

Pri povezivanju organizacijskih mreža s Internetom često se koristi mehanizam za prevođenje mrežnih adresa – NAT (Network Address Translation). To vam omogućuje smanjenje broja registriranih IP adresa koje se koriste na određenoj mreži. Unutar mreže koriste se neregistrirane adrese (obično iz raspona posebno dodijeljenih za tu svrhu, na primjer, adrese poput 192.168.x.x za mreže klase C). Ako se paket s takve mreže prenese na Internet, tada usmjerivač, čijem je vanjskom sučelju dodijeljena barem jedna registrirana IP adresa, mijenja IP zaglavlja mrežnih paketa, zamjenjujući privatne adrese registriranom adresom. Način izvođenja zamjene upisuje se u posebnu tablicu. Kada se primi odgovor, vrši se obrnuta zamjena u skladu s tablicom i paket se prosljeđuje u internu mrežu.

Pogledajmo primjer korištenja NAT-a na sl. 5.14. U ovom se slučaju na internoj mreži koriste privatne adrese 192.168.0.x. S računala s adresom 192.168.0.2 pristupaju vanjskoj mreži na računalo s adresom 195.242.2.2. Neka to bude veza s web poslužiteljem (HTTP protokol koji koristi TCP port 80).

Kada paket prolazi kroz usmjerivač koji izvodi prevođenje adrese, IP adresa pošiljatelja (192.168.0.2) bit će zamijenjena adresom vanjskog sučelja usmjerivača (195.201.82.146) i unosom sličnim onome prikazanom u

(The Internet Key Exchange (IKE)) - Razmjena ključeva.

  • RFC 2410 (Nulti algoritam šifriranja i njegova upotreba s IPsec-om) - Nulti algoritam šifriranja i njegova upotreba.
  • RFC 2411 (IP Security Document Roadmap) - Daljnji razvoj standarda.
  • RFC 2412 (OAKLEY Key Determination Protocol) - Provjera usklađenosti ključa.
  • IPsec arhitektura

    IPsec protokoli, za razliku od drugih poznatih protokola SSL i TLS, rade na mrežnom sloju (sloj 3 OSI modela). To čini IPsec fleksibilnijim tako da se može koristiti za zaštitu bilo kojeg TCP i UDP protokola. IPsec se može koristiti za pružanje sigurnosti između dva IP računala, između dva sigurnosna pristupnika ili između IP računala i sigurnosnog pristupnika. Protokol je "nadgradnja" na vrhu IP protokola i obrađuje generirane IP pakete na način opisan u nastavku. IPsec može osigurati cjelovitost i/ili povjerljivost podataka koji se prenose preko mreže.

    IPsec koristi sljedeće protokole za izvođenje raznih funkcija:

    • Authentication Header (AH) osigurava cjelovitost virtualne veze (prenesenih podataka), autentifikaciju izvora informacija i dodatnu funkciju za sprječavanje ponovnog slanja paketa
    • Encapsulating Security Payload (ESP) može osigurati povjerljivost (šifriranje) prenesenih informacija, ograničavajući protok povjerljivog prometa. Osim toga, može osigurati cjelovitost virtualne veze (prenesenih podataka), autentifikaciju izvora informacija i dodatnu funkciju sprječavanja ponovnog prijenosa paketa (Kad god se koristi ESP, mora se koristiti jedan ili drugi skup podataka sigurnosnih usluga)
    • Sigurnosne asocijacije (SA) pružaju skup algoritama i podataka koji daju parametre potrebne za rad AH i/ili ESP. Internet Security Association and Key Management Protocol (ISAKMP) pruža osnovu za autentifikaciju i razmjenu ključeva, provjeravajući autentičnost ključeva.

    Udruga za sigurnost

    Koncept "Sigurne virtualne veze" (SA, "Security Association") temelj je IPsec arhitekture. SA je simpleksna veza koja se formira za prijenos odgovarajućeg prometa preko nje. Kod implementacije sigurnosnih usluga SA se formira na temelju korištenja AH ili ESP protokola (ili oba istovremeno). SA je definiran u skladu s konceptom međuterminalne veze (point-to-point) i može raditi u dva načina: transportni način (RTR) i tunelski način (RTU). Način prijenosa implementiran je sa SA između dva IP čvora. U načinu rada tuneliranja, SA formira IP tunel.

    Svi SA-ovi pohranjeni su u SADB (Security Associations Database) IPsec modula. Svaki SA ima jedinstveni token koji se sastoji od tri elementa:

    • indeks sigurnosnih parametara (SPI)
    • Odredišne ​​IP adrese
    • identifikator sigurnosnog protokola (ESP ili AH)

    IPsec modul, koji ima ova tri parametra, može pronaći unos u SADB za određeni SA. Popis SA komponenti uključuje:

    Serijski broj 32-bitna vrijednost koja se koristi za formiranje polja Redni broj u zaglavljima AH i ESP. Brojač rednog broja prekoračen Oznaka koja signalizira da je brojač rednih brojeva prekoračen. Prozor za suzbijanje napada ponavljanja Koristi se za određivanje ponovnog slanja paketa. Ako je vrijednost u polju Redni broj ne spada unutar navedenog raspona, paket se uništava. Informacije AH korišteni algoritam provjere autentičnosti, potrebni ključevi, životni vijek ključa i drugi parametri. ESP informacije algoritmi šifriranja i provjere autentičnosti, potrebni ključevi, parametri inicijalizacije (na primjer, IV), životni vijek ključa i drugi parametri Način rada IPsec tunela ili transporta MTU Maksimalna veličina paketa koji se može prenijeti preko virtualnog kanala bez fragmentacije.

    Budući da su sigurne virtualne veze (SA) simpleksne, za organiziranje dupleksnog kanala potrebna su najmanje dva SA. Osim toga, svaki protokol (ESP/AH) mora imati svoj SA za svaki smjer, odnosno kombinacija AH+ESP zahtijeva četiri SA. Svi ovi podaci nalaze se u SADB.

    • AH: algoritam provjere autentičnosti.
    • AH: tajni ključ za autentifikaciju
    • ESP: algoritam šifriranja.
    • ESP: tajni ključ šifriranja.
    • ESP: koristi autentifikaciju (da/ne).
    • Mogućnosti za razmjenu ključeva
    • Ograničenja usmjeravanja
    • IP politika filtriranja

    Uz SADB bazu podataka, IPsec implementacije podržavaju SPD (Security Policy Database) bazu podataka. SPD unos sastoji se od skupa vrijednosti polja IP zaglavlja i polja zaglavlja protokola gornjeg sloja. Ta se polja nazivaju selektorima. Selektori se koriste za filtriranje odlaznih paketa kako bi se svaki paket podudarao s određenim SA. Kada se paket generira, vrijednosti odgovarajućih polja u paketu (selektorska polja) se uspoređuju s onima sadržanim u SPD-u. Pronađeni su odgovarajući SA. Zatim se određuju SA (ako postoji) za paket i njegov pridruženi indeks sigurnosnih parametara (SPI). Nakon čega se izvode IPsec operacije (operacije AH ili ESP protokola).

    Primjeri selektora koji su sadržani u SPD-u:

    • Odredišna IP adresa
    • IP adresa pošiljatelja
    • IPsec protokol (AH, ESP ili AH+ESP)
    • Priključci pošiljatelja i primatelja

    Zaglavlje za provjeru autentičnosti

    Zaglavlje za provjeru autentičnosti format
    Pomaci Oktet 16 0 1 2 3
    Oktet 16 Bit 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0 0 Sljedeće zaglavlje Nosivost Len Rezervirano
    4 32
    8 64 Redni broj
    C 96 Vrijednost provjere integriteta (ICV)
    Sljedeće zaglavlje(8 bita) Vrsta zaglavlja protokola koje dolazi nakon AH zaglavlja. Pomoću ovog polja primateljski IP-sec modul uči o zaštićenom protokolu gornje razine. Značenje ovog polja za različite protokole može se pronaći u RFC 1700. Nosivost Len(8 bita) Ovo polje navodi ukupnu veličinu AH zaglavlja u 32-bitnim riječima, minus 2. Međutim, kada koristite IPv6, duljina zaglavlja mora biti višekratnik 8 bajtova. Rezervirano(16 bita) Rezervirano. Ispunjeno nulama. Indeks sigurnosnih parametara(32 bita) Indeks sigurnosnih parametara. Vrijednost ovog polja, zajedno s odredišnom IP adresom i sigurnosnim protokolom (AN-protokol), jedinstveno identificira sigurnu virtualnu vezu (SA) za ovaj paket. Raspon SPI vrijednosti 1...255 rezerviran je od strane IANA. Redni broj(32 bita) Serijski broj. Služi za zaštitu od retransmisije. Polje sadrži monotono rastuću vrijednost parametra. Iako se primatelj može isključiti iz usluge zaštite od ponavljanja paketa, ona je obavezna i uvijek je prisutna u AH zaglavlju. IPsec modul koji šalje uvijek koristi ovo polje, ali ga primatelj možda neće obraditi. Vrijednost provjere integriteta

    Protokol AH služi za autentifikaciju, odnosno potvrdu da komuniciramo s onim tko mislimo da jesmo i da podaci koje primamo nisu oštećeni tijekom prijenosa.

    Obrada izlaznih IP paketa

    Ako IPsec modul koji šalje odredi da je paket povezan sa SA koji uključuje AH obradu, tada započinje obradu. Ovisno o načinu (transportni ili tunelski način), različito umeće AH zaglavlje u IP paket. U načinu prijenosa, AH zaglavlje se postavlja nakon zaglavlja IP protokola i prije zaglavlja protokola gornjeg sloja (obično TCP ili UDP). U načinu tuneliranja, cijeli originalni IP paket je prvo okružen AH zaglavljem, zatim zaglavljem IP protokola. Ovo se zaglavlje naziva vanjskim, a zaglavlje originalnog IP paketa internim. Nakon toga IPsec modul koji šalje mora generirati serijski broj i upisati ga u polje Redni broj. Kada se uspostavi SA, redni broj se postavlja na 0 i povećava za jedan prije slanja svakog IPsec paketa. Osim toga, provjerava se je li brojač otišao u petlju. Ako je dosegao maksimalnu vrijednost, postavlja se natrag na 0. Ako se koristi usluga za sprječavanje ponavljanja, kada brojač dosegne svoju maksimalnu vrijednost, IPsec modul koji šalje poništava SA. Ovo osigurava zaštitu od ponovnog slanja paketa - primateljski IPsec modul će provjeriti polje Redni broj, i ignorirati ponovno pristigle pakete. Zatim se izračunava ICV kontrolni zbroj. Treba napomenuti da se ovdje kontrolni zbroj izračunava pomoću tajnog ključa, bez kojeg će napadač moći ponovno izračunati hash, ali bez poznavanja ključa neće moći generirati točan kontrolni zbroj. Specifični algoritmi koji se koriste za izračunavanje ICV-a mogu se pronaći u RFC 4305. Trenutno se, na primjer, mogu koristiti algoritmi HMAC-SHA1-96 ili AES-XCBC-MAC-96. AH protokol izračunava kontrolni zbroj (ICV) na temelju sljedećih polja IPsec paketa:

    • Polja IP zaglavlja koja nisu izmijenjena tijekom prijevoda ili su identificirana kao najvažnija
    • AH zaglavlje (Polja: “Next Header”, “Payload Len”, “Reserved”, “SPI”, “Sequence Number”, “Integrity Check Value”. Polje “Integrity Check Value” postavljeno je na 0 kada se izračunava ICV
    • podaci protokola gornjeg sloja
    Ako se polje može promijeniti tijekom prijenosa, tada se njegova vrijednost postavlja na 0 prije izračuna ICV. Iznimka su polja koja se mogu mijenjati, ali čija se vrijednost može predvidjeti po primitku. Prilikom izračunavanja ICV-a, oni se ne popunjavaju nulama. Primjer promjenjivog polja bilo bi polje kontrolne sume; primjer promjenjivog, ali unaprijed definiranog polja bila bi IP adresa primatelja. Detaljniji opis koja se polja uzimaju u obzir pri izračunu ICV nalazi se u standardu RFC 2402.

    Obrada ulaznih IP paketa

    Nakon primitka paketa koji sadrži poruku protokola AH, modul za primanje IPsec-a traži odgovarajući SADB (Baza podataka sigurnosnih udruga) koristeći IP adresu primatelja, sigurnosni protokol (SA) i SPI indeks. Ako se ne pronađe odgovarajući SA, paket se odbacuje. Pronađena sigurna virtualna veza (SA) označava koristi li se usluga sprječavanja ponovnog slanja paketa, tj. o potrebi provjere polja Redni broj. Ako se usluga koristi, polje je označeno. Za to se koristi metoda kliznog prozora. Primajući IPsec modul generira prozor širine W. Lijevi rub prozora odgovara minimalnom rednom broju ( Redni broj) N ispravno primljenog paketa. Paket s poljem Redni broj, koji sadrži vrijednost u rasponu od N+1 do N+W, prihvaća se ispravno. Ako se primljeni paket nalazi na lijevom rubu prozora, on se uništava. IPsec primateljski modul zatim izračunava ICV iz odgovarajućih polja primljenog paketa pomoću algoritma provjere autentičnosti koji uči iz SA zapisa i uspoređuje rezultat s ICV vrijednošću koja se nalazi u polju Integrity Check Value. Ako se izračunata ICV vrijednost podudara s primljenom, tada se dolazni paket smatra važećim i prihvaća se za daljnju IP obradu. Ako je provjera negativna, tada je primljeni paket uništen.

    Enkapsulacija sigurnosnog tereta format
    Pomaci Oktet 16 0 1 2 3
    Oktet 16 Bit 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0 0 Indeks sigurnosnih parametara (SPI)
    4 32 Redni broj
    8 64 Podaci o nosivosti
    Ispuna (0-255 okteta)
    Duljina jastučića Sljedeće zaglavlje
    Vrijednost provjere integriteta (ICV)
    Indeks sigurnosnih parametara(32 bita) Indeks sigurnosnih parametara. Vrijednost ovog polja, zajedno s odredišnom IP adresom i sigurnosnim protokolom (AN-protokol), jedinstveno identificira sigurnu virtualnu vezu (SA) za ovaj paket. IANA je rezervirala raspon SPI vrijednosti 1...255 za buduću upotrebu. Redni broj(32 bita) Serijski broj. Služi za zaštitu od retransmisije. Polje sadrži monotono rastuću vrijednost parametra. Iako primatelj može odbiti uslugu zaštite ponovnog slanja paketa, ona je uvijek prisutna u AH zaglavlju. Pošiljatelj (IPsec modul koji šalje) MORA uvijek koristiti ovo polje, ali ga primatelj možda neće morati obraditi. Podaci o nosivosti(varijabla) Ovo polje sadrži podatke prema polju "Sljedeće zaglavlje". Ovo polje je obavezno i ​​sastoji se od cijelog broja bajtova. Ako algoritam koji se koristi za šifriranje ovog polja zahtijeva podatke za sinkronizaciju kripto procesa (na primjer, vektor inicijalizacije), tada ovo polje može eksplicitno sadržavati te podatke. Padding(0-255 okteta) Zbrajanje. Neophodno, na primjer, za algoritme koji zahtijevaju da otvoreni tekst bude višekratnik nekog broja bajtova), kao što je veličina bloka za blok šifru. Duljina jastučića(8 bita) Veličina ispune (u bajtovima). Sljedeće zaglavlje(8 bita) Ovo polje specificira vrstu podataka sadržanih u polju "Podaci o nosivosti". Vrijednost provjere integriteta Kontrolna svota. Mora biti višekratnik 8 bajtova za IPv6 i 4 bajta za IPv4.

    Obrada IPsec izlaznih paketa

    Ako IPsec modul koji šalje odredi da je paket povezan sa SA koji zahtijeva ESP obradu, započinje obradu. Ovisno o načinu (transportni ili tunelski način), originalni IP paket se drugačije obrađuje. U transportnom načinu rada IPsec modul za odašiljanje provodi proceduru uokviravanja (inkapsulacije) protokola više razine (na primjer, TCP ili UDP), koristeći ESP zaglavlje i ESP trailer, bez utjecaja na zaglavlje izvornog IP paketa. U načinu rada tuneliranja, IP paket je okružen ESP zaglavljem i ESP trailerom, a zatim okružen vanjskim IP zaglavljem. Zatim se provodi enkripcija - u načinu prijenosa šifrira se samo poruka protokola iznad donjeg sloja (tj. sve što je bilo nakon IP zaglavlja u izvornom paketu), u načinu tuneliranja cijeli izvorni IP paket. IPsec modul koji šalje određuje algoritam šifriranja i tajni ključ iz SA zapisa. IPsec standardi dopuštaju korištenje triple-DES, AES i Blowfish enkripcijskih algoritama. Budući da veličina otvorenog teksta mora biti višekratnik određenog broja bajtova, na primjer, veličina bloka za blok algoritme, potrebno punjenje šifrirane poruke također se izvodi prije enkripcije. Šifrirana poruka se postavlja u polje Podaci o nosivosti. U polju Duljina jastučića odgovara duljini dodatka. Zatim se, kao u AH, izračunava Redni broj. Nakon čega se izračunava kontrolni zbroj (ICV). Kontrolni zbroj, za razliku od AH protokola, gdje se prilikom izračunavanja uzimaju u obzir i neka polja IP zaglavlja, u ESP-u se izračunava samo iz polja ESP paketa minus ICV polje. Popunjava se nulama prije nego što se izračuna kontrolni zbroj. Algoritam za izračun ICV-a, kao u AH protokolu, odašiljajući IPsec modul uči iz zapisa SA s kojim je povezan paket koji se obrađuje.

    Obrada dolaznih IPsec paketa

    Nakon primitka paketa koji sadrži poruku ESP protokola, modul za primanje IPsec-a traži odgovarajuću sigurnu virtualnu vezu (SA) u SADB (Baza podataka sigurnosnih asocijacija) koristeći IP adresu primatelja, sigurnosni protokol (ESP) i SPI indeks. Ako se ne pronađe odgovarajući SA, paket se odbacuje. Pronađena sigurna virtualna veza (SA) označava koristi li se usluga za sprječavanje ponovne reprodukcije paketa, tj. potreba za provjerom polja Sequence Number. Ako se usluga koristi, polje je označeno. Za to se, kao iu AH, koristi metoda kliznog prozora. Primajući IPsec modul generira prozor širine W. Lijevi rub prozora odgovara minimalnom sekvencijskom broju N ispravno primljenog paketa. Paket s poljem Sequence Number koje sadrži vrijednost u rasponu od N+1 do N+W ispravno je primljen. Ako se primljeni paket nalazi na lijevom rubu prozora, on se uništava. Zatim, ako se koristi usluga provjere autentičnosti, primateljski modul IPsec izračunava ICV iz odgovarajućih polja primljenog paketa pomoću algoritma provjere autentičnosti koji uči iz SA zapisa i uspoređuje rezultat s vrijednošću ICV koja se nalazi u polju Vrijednost provjere integriteta. Ako izračunata ICV vrijednost odgovara primljenoj, tada se dolazni paket smatra valjanim. Ako je provjera negativna, tada je primljeni paket uništen. Zatim se paket dešifrira. Primajući modul IPsec uči iz SA zapisa koji se algoritam šifriranja koristi i tajni ključ. Treba napomenuti da se postupak provjere i dešifriranja kontrolnog zbroja može provesti ne samo uzastopno, već i paralelno. U potonjem slučaju, postupak provjere kontrolnog zbroja mora završiti prije postupka dešifriranja, a ako ICV provjera ne uspije, mora se prekinuti i postupak dešifriranja. To vam omogućuje da brzo identificirate oštećene pakete, što zauzvrat povećava razinu zaštite od napada uskraćivanjem usluge (DOS napadi). Sljedeća je dešifrirana poruka u skladu s poljem Sljedeće zaglavlje prenijeti na daljnju obradu.

    Korištenje

    IPsec protokol se uglavnom koristi za organiziranje VPN tunela. U ovom slučaju protokoli ESP i AH rade u načinu tuneliranja. Osim toga, konfiguriranjem sigurnosnih pravila na određeni način, protokol se može koristiti za stvaranje vatrozida. Smisao vatrozida je da kontrolira i filtrira pakete koji prolaze kroz njega u skladu sa zadanim pravilima. Instaliran je skup pravila i ekran gleda sve pakete koji prolaze kroz njega. Ako poslani paketi spadaju u opseg ovih pravila, vatrozid ih obrađuje u skladu s tim. Na primjer, može odbiti određene pakete i time zaustaviti nesigurne veze. Odgovarajućim postavljanjem sigurnosne politike možete, primjerice, blokirati internetski promet. Da biste to učinili, dovoljno je zabraniti slanje paketa koji sadrže poruke HTTP i HTTPS protokola. IPsec se također može koristiti za zaštitu poslužitelja - za to se odbacuju svi paketi, osim onih koji su potrebni za ispravno izvršavanje funkcija poslužitelja. Na primjer, za web poslužitelj možete blokirati sav promet osim veza preko TCP porta 80 ili preko TCP porta 443 u slučajevima kada se koristi HTTPS.

    vidi također

    Linkovi

    • Opis IPSec konfiguracije (cisco.com)

    U kasnim šezdesetima američka Agencija za napredne obrambene istraživačke projekte DARPA odlučila je stvoriti eksperimentalnu mrežu pod nazivom ARPANet. Sedamdesetih godina ARPANet se počeo smatrati funkcionalnom američkom mrežom, a preko ove mreže bilo je moguće pristupiti vodećim američkim sveučilištima i istraživačkim centrima. Početkom osamdesetih počinje standardizacija programskih jezika, a zatim i protokola mrežne interakcije. Rezultat ovog rada bio je razvoj sedmoslojnog ISO/OSI modela mrežne interakcije i obitelji TCP/IP protokola, koji su postali osnova za izgradnju lokalnih i globalnih mreža.

    Osnovni mehanizmi razmjene informacija u TCP/IP mrežama uglavnom su formirani ranih osamdesetih godina, a prvenstveno su bili usmjereni na osiguranje isporuke paketa podataka između različitih operacijskih sustava korištenjem heterogenih komunikacijskih kanala. Iako je ideja za ARPANet (koji je kasnije postao moderni Internet) došla od vladine obrambene organizacije, mreža je zapravo nastala u istraživačkom svijetu i naslijedila tradiciju otvorenosti u akademskoj zajednici. Čak i prije komercijalizacije Interneta (koja se dogodila sredinom devedesetih) mnogi su ugledni istraživači primijetili probleme vezane uz sigurnost TCP/IP protokola. Osnovni koncepti TCP/IP protokola ne zadovoljavaju u potpunosti (au nekim slučajevima i proturječe) modernim idejama o računalnoj sigurnosti.

    Internet se donedavno uglavnom koristio za obradu informacija korištenjem relativno jednostavnih protokola: elektronička pošta, prijenos datoteka, udaljeni pristup. Danas se, zahvaljujući raširenoj upotrebi WWW tehnologija, sve više koriste alati za obradu distribuiranih multimedijskih informacija. Istodobno raste količina podataka koji se obrađuju u klijent/poslužitelj okruženjima i namijenjeni su istovremenom kolektivnom pristupu velikog broja pretplatnika. Razvijeno je nekoliko protokola na razini aplikacije kako bi se osigurala sigurnost informacija za aplikacije kao što su e-pošta (PEM, PGP, itd.), WWW (sigurni HTTP, SSL, itd.), upravljanje mrežom (SNMPv2, itd.). Međutim, prisutnost sigurnosnih značajki u osnovnim protokolima obitelji TCP/IP omogućit će razmjenu informacija između širokog raspona različitih aplikacija i usluga.

    Kratka povijesna pozadina nastanka protokola

    Godine 1994. Odbor za internetsku arhitekturu (IAB) objavio je izvješće "Sigurnost internetske arhitekture". U ovom su dokumentu opisana glavna područja primjene dodatnih sigurnosnih alata na Internetu, odnosno zaštita od neovlaštenog nadzora, prijevare paketa i kontrola protoka podataka. Među prvim i najvažnijim zaštitnim mjerama bila je potreba za razvojem koncepta i osnovnih mehanizama za osiguranje integriteta i povjerljivosti tokova podataka. Budući da bi promjena osnovnih protokola obitelji TCP/IP uzrokovala potpuno preustroj Interneta, postavljen je zadatak osigurati sigurnost razmjene informacija u otvorenim telekomunikacijskim mrežama na temelju postojećih protokola. Tako se počela stvarati Secure IP specifikacija, komplementarna protokolima IPv4 i IPv6.

    IPSec arhitektura

    IP Security je skup protokola koji se bave problemima enkripcije, autentifikacije i sigurnosti tijekom prijenosa IP paketa; sada uključuje gotovo 20 prijedloga standarda i 18 RFC-ova.

    Specifikaciju IP sigurnosti (danas poznatu kao IPsec) razvila je radna skupina IETF IP Security Protocol. IPsec je izvorno uključivao 3 osnovne specifikacije neovisne o algoritmu, objavljene kao RFC-ovi: IP sigurnosna arhitektura, zaglavlje provjere autentičnosti (AH), enkapsulacija šifriranih podataka (ESP) (RFC1825, 1826 i 1827). Treba napomenuti da je u studenom 1998. IP Security Protocol Working Group predložila nove verzije ovih specifikacija, koje trenutno imaju status preliminarnih standarda, a to su RFC2401 - RFC2412. Imajte na umu da se RFC1825-27 već nekoliko godina smatra zastarjelim i da se zapravo ne koristi. Osim toga, postoji nekoliko specifikacija koje ovise o algoritmu i koriste protokole MD5, SHA i DES.

    Riža. 1 – IPSec arhitektura.

    Radna skupina IP Security Protocol također razvija protokole za upravljanje ključnim informacijama. Misija ove grupe je razviti Internet Key Management Protocol (IKMP), protokol za upravljanje ključem na razini aplikacije koji je neovisan o korištenim sigurnosnim protokolima. Koncepti upravljanja ključem trenutno se istražuju pomoću specifikacije Internet Security Association i Key Management Protocol (ISAKMP) i Oakley Key Determination Protocol. Specifikacija ISAKMP opisuje mehanizme za pregovaranje atributa korištenih protokola, dok Oakley protokol omogućuje instaliranje ključeva sesije na računala na Internetu. Prethodno su se također razmatrale mogućnosti korištenja mehanizama upravljanja ključevima SKIP protokola, ali sada se takve mogućnosti praktički ne koriste nigdje. Novi standardi upravljanja ključnim informacijama mogu podržati centre za distribuciju ključeva slične onima koji se koriste u Kerberosu. Protokolima za upravljanje ključevima za IPSec koji se temelje na Kerberosu trenutno se bavi relativno nova radna skupina KINK (Kerberized Internet Negotiation of Keys).

    Jamstva integriteta i povjerljivosti podataka u IPsec specifikaciji osigurana su upotrebom mehanizama provjere autentičnosti i enkripcije. Potonji se pak temelje na preliminarnom dogovoru stranaka u takozvanoj razmjeni informacija. “sigurnosni kontekst” – primijenjeni kriptografski algoritmi, algoritmi za upravljanje ključnim informacijama i njihovi parametri. IPsec specifikacija pruža mogućnost stranama da razmjenjuju informacije kako bi podržali različite protokole i parametre za provjeru autentičnosti i enkripciju paketa podataka, kao i različite sheme distribucije ključeva. U ovom slučaju, rezultat dogovora o sigurnosnom kontekstu je uspostavljanje indeksa sigurnosnih parametara (SPI), koji je pokazivač na određeni element unutarnje strukture strane u razmjeni informacija, opisujući moguće skupove sigurnosnih parametara.

    U biti, IPSec, koji će postati sastavni dio IPv6, funkcionira na trećem sloju, odnosno na mrežnom sloju. Kao rezultat toga, poslani IP paketi bit će zaštićeni na način transparentan za mrežne aplikacije i infrastrukturu. Za razliku od SSL-a (Secure Socket Layer), koji radi na sloju 4 (tj. transportu) i tješnje je povezan s višim slojevima OSI modela, IPSec je dizajniran za pružanje sigurnosti niske razine.


    Riža. 2 - OSI/ISO model.

    IPSec dodaje zaglavlje IP podacima spremnim za slanje putem virtualne privatne mreže kako bi se identificirali zaštićeni paketi. Prije nego što se prenesu preko Interneta, ovi paketi su inkapsulirani unutar drugih IP paketa. IPSec podržava nekoliko tipova enkripcije, uključujući Data Encryption Standard (DES) i Message Digest 5 (MD5).

    Za uspostavljanje sigurne veze, oba sudionika u sesiji moraju biti u mogućnosti brzo dogovoriti sigurnosne parametre, kao što su algoritmi za provjeru autentičnosti i ključevi. IPSec podržava dvije vrste shema upravljanja ključevima putem kojih sudionici mogu pregovarati o parametrima sesije. Ova dvostruka podrška svojedobno je izazvala trvenja u radnoj skupini IETF-a.

    S trenutnom verzijom IP-a, IPv4, može se koristiti Internet Secure Association Key Management Protocol (ISAKMP) ili Simple Key Management for Internet Protocol. S novom verzijom IP-a, IPv6, morat ćete koristiti ISAKMP, sada poznat kao IKE, iako nije isključena mogućnost korištenja SKIP-a. No, valja imati na umu da SKIP već dugo nije bio razmatran kao kandidat za ključnu upravu, a s popisa mogućih kandidata skinut je još 1997. godine.

    Zaglavlje AH

    Authentication Header (AH) uobičajeno je izborno zaglavlje i obično se nalazi između glavnog zaglavlja IP paketa i podatkovnog polja. Prisutnost AH ni na koji način ne utječe na proces prijenosa informacija s transportnih i viših razina. Glavna i jedina svrha AH je pružiti zaštitu od napada povezanih s neovlaštenim promjenama u sadržaju paketa, uključujući lažiranje izvorne adrese mrežnog sloja. Protokoli više razine moraju se modificirati kako bi se provjerila autentičnost primljenih podataka.

    AH format je prilično jednostavan i sastoji se od 96-bitnog zaglavlja i podataka promjenjive duljine koji se sastoje od 32-bitnih riječi. Nazivi polja prilično jasno odražavaju svoj sadržaj: Next Header označava sljedeće zaglavlje, Payload Len predstavlja duljinu paketa, SPI je pokazivač na sigurnosni kontekst, a Sequence Number Field sadrži redni broj paketa.


    Riža. 3 - AH format zaglavlja.

    Broj sekvence paketa uveden je u AH 1997. kao dio procesa revizije IPsec specifikacije. Vrijednost ovog polja generira pošiljatelj i služi za zaštitu od napada povezanih s ponovnom upotrebom podataka procesa provjere autentičnosti. Budući da internet ne jamči redoslijed kojim će paketi biti isporučeni, primatelj mora pohraniti informacije o maksimalnom sekvencijskom broju uspješno autentificiranog paketa i je li primljen određeni broj paketa koji sadrže prethodne sekvencijske brojeve (obično 64).

    Za razliku od algoritama za izračun kontrolne sume koji se koriste u protokolima za prijenos informacija preko komutiranih komunikacijskih linija ili preko kanala lokalne mreže i usmjereni su na ispravljanje slučajnih pogrešaka u prijenosnom mediju, mehanizmi za osiguranje integriteta podataka u otvorenim telekomunikacijskim mrežama moraju imati sredstva zaštite od ciljanih promjena. Jedan takav mehanizam je posebna upotreba MD5 algoritma: tijekom formiranja AH, hash funkcija se sekvencijalno izračunava iz unije samog paketa i nekog unaprijed dogovorenog ključa, a zatim iz unije rezultirajućeg rezultata i transformirani ključ. Ovo je zadani mehanizam koji osigurava da sve IPv6 implementacije imaju barem jedan zajednički algoritam koji nije podložan izvoznim ograničenjima.

    ESP zaglavlje

    Kada se koristi enkapsulacija šifriranih podataka, ESP zaglavlje je posljednje od izbornih zaglavlja "vidljivo" u paketu. Budući da je primarna svrha ESP-a osigurati povjerljivost podataka, različite vrste informacija mogu zahtijevati značajno različite algoritme šifriranja. Posljedično, ESP format može pretrpjeti značajne promjene ovisno o korištenim kriptografskim algoritmima. Međutim, mogu se razlikovati sljedeća obvezna polja: SPI, koje označava sigurnosni kontekst, i polje s rednim brojem, koje sadrži redni broj paketa. Polje "ESP Authentication Data" (kontrolni zbroj) nije obavezno u ESP zaglavlju. Primatelj ESP paketa dekriptira ESP zaglavlje i koristi parametre i podatke primijenjenog algoritma šifriranja za dekodiranje informacija prijenosnog sloja.


    Riža. 4 - ESP format zaglavlja.

    Postoje dva načina korištenja ESP i AH (kao i njihove kombinacije) - transport i tunel.

    Način transporta

    Prijenosni način se koristi za šifriranje podatkovnog polja IP paketa koji sadrži protokole prijenosnog sloja (TCP, UDP, ICMP), koji zauzvrat sadrži informacije o aplikaciji. Primjer korištenja načina prijevoza je prijenos elektroničke pošte. Svi posredni čvorovi na ruti paketa od pošiljatelja do primatelja koriste samo informacije sloja javne mreže i eventualno neka izborna zaglavlja paketa (u IPv6). Nedostatak transportnog načina je nepostojanje mehanizama za skrivanje određenog pošiljatelja i primatelja paketa, kao i mogućnosti analize prometa. Rezultat takve analize može biti informacija o obujmu i smjerovima prijenosa informacija, područjima interesa pretplatnika i lokaciji upravitelja.

    Tunelski način rada

    Tunelski način šifrira cijeli paket, uključujući zaglavlje mrežnog sloja. Način rada tunela koristi se ako je potrebno sakriti razmjenu informacija organizacije s vanjskim svijetom. U ovom slučaju, adresna polja zaglavlja mrežnog sloja paketa koji koristi tunelski način popunjava vatrozid organizacije i ne sadrže podatke o određenom pošiljatelju paketa. Prilikom prijenosa informacija iz vanjskog svijeta u lokalnu mrežu organizacije, mrežna adresa vatrozida koristi se kao odredišna adresa. Nakon što vatrozid dekriptira početno zaglavlje mrežnog sloja, paket se prosljeđuje primatelju.

    Udruge za sigurnost

    Sigurnosna udruga (SA) je veza koja pruža sigurnosne usluge za promet koji prolazi kroz nju. Dva računala sa svake strane SA pohranjuju način rada, protokol, algoritme i ključeve koji se koriste u SA. Svaki SA se koristi samo u jednom smjeru. Dvosmjerna komunikacija zahtijeva dva SA-a. Svaki SA implementira jedan način rada i protokol; prema tome, ako se dva protokola trebaju koristiti za jedan paket (kao što su AH i ESP), tada su potrebna dva SA.

    Sigurnosna politika

    Sigurnosna politika pohranjena je u SPD (Security Policy Database). SPD može odrediti jednu od tri radnje za podatkovni paket: odbaciti paket, ne obrađivati ​​paket pomoću IPSec-a ili obraditi paket pomoću IPSec-a. U potonjem slučaju, SPD također pokazuje koji SA treba koristiti (ako je, naravno, odgovarajući SA već kreiran) ili označava s kojim parametrima treba kreirati novi SA.

    SPD je vrlo fleksibilan kontrolni mehanizam koji omogućuje vrlo dobru kontrolu nad obradom svakog paketa. Paketi su klasificirani prema velikom broju polja, a SPD može ispitati neka ili sva polja kako bi odredio odgovarajuću radnju. To bi moglo dovesti do toga da se sav promet između dva stroja odvija pomoću jednog SA-a ili da se zasebni SA-ovi koriste za svaku aplikaciju ili čak za svaku TCP vezu.

    ISAKMP/Oakley

    ISAKMP definira opću strukturu protokola koji se koriste za uspostavu SA i obavljanje drugih ključnih funkcija upravljanja. ISAKMP podržava nekoliko domena tumačenja (DOI), od kojih je jedna IPSec-DOI. ISAKMP ne definira potpuni protokol, već pruža "sagradne elemente" za razne DOI i protokole za razmjenu ključeva.

    Oakley protokol je protokol za otkrivanje ključa koji koristi Diffie-Hellmanov algoritam zamjene ključa. Protokol Oakley podržava Perfect Forward Secrecy (PFS). Prisutnost PFS-a znači da je nemoguće dešifrirati sav promet ako je bilo koji ključ u sustavu ugrožen.

    IKE

    IKE je zadani protokol za razmjenu ključeva za ISAKMP i trenutno je jedini. IKE je na vrhu ISAKMP-a i stvarno uspostavlja i ISAKMP SA i IPSec SA. IKE podržava skup različitih primitivnih funkcija za korištenje u protokolima. Među njima su hash funkcija i pseudoslučajna funkcija (PRF).

    Hash funkcija je funkcija otporna na kolizije. Otpornost na sudar odnosi se na činjenicu da je nemoguće pronaći dvije različite poruke m 1 I m 2, tako da H(m 1)=H(m2), Gdje H— hash funkcija.

    Što se tiče pseudoslučajnih funkcija, umjesto posebnih PRF-ova u dizajnu HMAC-a trenutačno se koristi hash funkcija (HMAC je mehanizam provjere autentičnosti poruke koji koristi hash funkcije). Za definiranje HMAC-a potrebna nam je kriptografska hash funkcija (nazovimo je H) i tajni ključ K. Pretpostavljamo da je H hash funkcija gdje se podaci raspršuju korištenjem postupka kompresije koji se sekvencijalno primjenjuje na niz podatkovnih blokova. Označavamo s B duljinu takvih blokova u bajtovima, a duljinu blokova dobivenih kao rezultat hashiranja s L (L

    Ipad = bajt 0x36, ponovljeno B puta;
    opad = bajt 0x5C ponovljen B puta.

    Da biste izračunali HMAC iz "tekstualnih" podataka, morate izvršiti sljedeću operaciju:

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

    Iz opisa slijedi da IKE koristi HASH vrijednosti za autentifikaciju stranaka. Imajte na umu da se HASH u ovom slučaju odnosi isključivo na ime nosivosti u ISAKMP-u, a ovo ime nema nikakve veze s njegovim sadržajem.

    Napadi na AH, ESP i IKE.

    Sve vrste napada na IPSec komponente mogu se podijeliti u sljedeće skupine: napadi koji iskorištavaju ograničene resurse sustava (tipičan primjer je napad uskraćivanja usluge, uskraćivanje usluge ili DOS napad), napadi koji iskorištavaju značajke i pogreške određene implementacije IPSec-a i konačno, napadi temeljeni na slabostima samih protokola. AH i ESP. Čisto kriptografski napadi mogu se zanemariti - oba protokola definiraju koncept "transformacije", gdje je sva kriptografija skrivena. Ako je korišteni kripto-algoritam stabilan, a transformacija definirana njime ne unosi dodatne slabosti (ovo nije uvijek slučaj, stoga je ispravnije uzeti u obzir snagu cijelog sustava - Protocol-Transform-Algorithm), tada s ove strane je sve u redu. Što ostaje? Replay Attack - izravnan korištenjem Sequence Number (u jednom jedinom slučaju ovo ne radi - kada se koristi ESP bez autentifikacije i bez AH). Nadalje, redoslijed radnji (prvo enkripcija, zatim autentifikacija) jamči brzo odbijanje “loših” paketa (štoviše, prema novijim istraživanjima u svijetu kriptografije, ovaj redoslijed radnji je najsigurniji; obrnuti redoslijed u nekima, iako vrlo posebni slučajevi, mogu dovesti do potencijalnih sigurnosnih rupa; na sreću, ni SSL, ni IKE, niti drugi uobičajeni protokoli "prvo autentificiraj, šifriraj kasnije" ne primjenjuju se na te posebne slučajeve, pa stoga nemaju te rupe). Ono što ostaje je Denial-Of-Service napad. Kao što znate, ovo je napad od kojeg nema potpune obrane. Međutim, brzo odbijanje loših paketa i odsutnost bilo kakve vanjske reakcije na njih (prema RFC-u) omogućavaju manje-više dobro rješavanje ovog napada. U načelu, većina (ako ne i svi) poznatih mrežnih napada (njuškanje, prijevara, otmica, itd.) uspješno se odupiru AH i ESP kada se pravilno koriste. S IKE-om je malo kompliciranije. Protokol je vrlo složen i težak za analizu. Osim toga, zbog tipfelera (u formuli za izračun HASH_R) prilikom pisanja i ne posve uspješnih rješenja (isti HASH_R i HASH_I), sadrži nekoliko potencijalnih “rupa” (konkretno, u prvoj fazi, nisu svi korisni podaci u poruke su autentificirane), međutim, nisu jako ozbiljne i dovode, u najboljem slučaju, do odbijanja uspostavljanja veze. IKE se više ili manje uspješno štiti od napada kao što su replay, spoofing, sniffing, hijacking. Kriptografija je nešto kompliciranija - ne provodi se odvojeno, kao u AH i ESP, već je implementirana u samom protokolu. Međutim, ako koristite trajne algoritme i primitive (PRF), ne bi trebalo biti problema. Do neke mjere, može se smatrati nedostatkom IPsec-a to što je DES naznačen kao jedini obvezni kriptografski algoritam u trenutnim specifikacijama (ovo vrijedi i za ESP i za IKE), čijih se 56 bitova ključa više ne smatra dostatnim . Međutim, to je čisto formalna slabost - same specifikacije ne ovise o algoritmu, a gotovo svi poznati proizvođači već su implementirali 3DES (a neki su već implementirali AES). Uskraćivanje usluge .

    Evaluacija protokola

    Protokol IPSec dobio je različite ocjene stručnjaka. S jedne strane, ističe se da je IPSec protokol najbolji među svim ostalim dosad razvijenim protokolima za zaštitu podataka koji se prenose mrežom (uključujući PPTP koji je razvio Microsoft). Prema drugoj strani, radi se o pretjeranoj složenosti i redundantnosti protokola. Tako Niels Ferguson i Bruce Schneier u svom radu "A Cryptographic Evaluation of IPsec" napominju da su pronašli ozbiljne sigurnosne probleme u gotovo svim glavnim komponentama IPsec-a. Ovi autori također napominju da paket protokola zahtijeva značajna poboljšanja kako bi pružio dobru razinu sigurnosti. U radu se opisuje niz napada koji iskorištavaju i slabosti opće sheme obrade podataka i slabosti kriptografskih algoritama.

    Zaključak

    U ovom smo članku obradili neke osnovne točke u vezi IPsec mrežnog sigurnosnog protokola. Vrijedno je napomenuti da IPsec protokol dominira većinom implementacija virtualne privatne mreže. Trenutačno tržište nudi i softverske implementacije (na primjer, protokol je implementiran u operacijskom sustavu Microsoft Windows 2000) i hardverske i softverske implementacije IPsec-a - to su rješenja Cisco, Nokia. Unatoč velikom broju različitih rješenja, sva su međusobno prilično kompatibilna. Članak završava tablicom koja uspoređuje IPSec i sada naširoko korišteni SSL.

    Osobitosti IPSec SSL
    Hardverska neovisnost Da Da
    Kodirati Nisu potrebne izmjene aplikacije. Može zahtijevati pristup izvornom kodu TCP/IP skupa. Potrebne izmjene aplikacije. Možda će biti potrebni novi DLL-ovi ili pristup izvornom kodu aplikacije.
    Zaštita Cijeli IP paket. Omogućuje zaštitu za protokole više razine. Samo razina aplikacije.
    Filtriranje paketa Na temelju provjerenih zaglavlja, adresa pošiljatelja i primatelja itd. Jednostavno i jeftino. Prikladno za rutere. Na temelju sadržaja i semantike visoke razine. Inteligentniji i kompleksniji.
    Izvođenje Manje promjena konteksta i kretanja podataka. Više promjena konteksta i kretanja podataka. Veliki blokovi podataka mogu ubrzati kriptografske operacije i omogućiti bolju kompresiju.
    Platforme Bilo koji sustavi, uključujući usmjerivače Uglavnom krajnji sustavi (klijenti/poslužitelji), također i vatrozidi.
    Vatrozid/VPN Sav promet je zaštićen. Zaštićen je samo promet na razini aplikacije. ICMP, RSVP, QoS itd. može biti nezaštićen.
    Transparentnost Za korisnike i aplikacije. Samo za korisnike.
    Trenutni status Standard u nastajanju. Široko korišten u WWW preglednicima, također korišten u nekoliko drugih proizvoda.

    Linkovi

    • www.ietf.org/html.charters/ipsec-charter.html - Početna stranica IETF radne grupe. Tu su i poveznice na RFC-ove i prijedloge standarda.
    • www.microsoft.com/rus/windows2000/library/security/w2k_IPSecurity.asp – Informacije o implementaciji IPSec protokola u Windows2000 Server.

    Priznanja

    U kontaktu s

    Kolege

    U suvremenom svijetu svugdje se koriste razne VPN tehnologije. Neki (na primjer, PPTP) s vremenom se prepoznaju kao nesigurni i postupno odumiru, drugi (OpenVPN), naprotiv, svake godine povećavaju svoj zamah. Ali neosporni lider i najprepoznatljivija tehnologija za stvaranje i održavanje sigurnih privatnih kanala još uvijek je IPsec VPN. Ponekad tijekom pentesta možete pronaći ozbiljno zaštićenu mrežu sa samo petstotim UDP portom koji viri. Sve ostalo se može zatvoriti, zakrpati i pouzdano filtrirati. U takvoj situaciji može se pojaviti misao da se ovdje nema što posebno učiniti. Ali nije uvijek tako. Osim toga, raširena je ideja da je IPsec, čak iu zadanim konfiguracijama, neosvojiv i pruža odgovarajuću razinu sigurnosti. Upravo takvu situaciju ćemo danas pogledati u praksi. Ali prvo, kako biste se što učinkovitije borili protiv IPsec-a, morate razumjeti što je to i kako radi. To je ono što ćemo učiniti!

    IPsec iznutra

    Prije izravnog prelaska na sam IPsec, bilo bi lijepo prisjetiti se koje vrste VPN-ova postoje. Postoji mnogo klasifikacija VPN-ova, ali nećemo duboko zaroniti u mrežne tehnologije i uzet ćemo najjednostavniju. Stoga ćemo VPN podijeliti u dvije glavne vrste - VPN veze od mjesta do mjesta (mogu se nazvati i stalnim) i VPN s udaljenim pristupom (RA, također privremeni).
    Prvi tip služi za stalnu komunikaciju različitih mrežnih otoka, na primjer, središnji ured s mnogo raštrkanih podružnica. Pa, RA VPN je scenarij kada se klijent spaja na kratko vrijeme, dobiva pristup određenim mrežnim resursima, a zatim se sigurno prekida nakon završetka posla.

    Zanimat će nas druga opcija, budući da je u slučaju uspješnog napada moguće odmah dobiti pristup internoj mreži poduzeća, što je prilično ozbiljno postignuće za pentester. IPsec vam, zauzvrat, omogućuje implementaciju VPN-a od mjesta do mjesta i udaljenog pristupa. Kakva je to tehnologija i od kojih se komponenti sastoji?

    Vrijedi napomenuti da IPsec nije jedan, već čitav niz različitih protokola koji pružaju transparentnu i sigurnu zaštitu podataka. Specifičnost IPsec-a je u tome što je implementiran na mrežnom sloju, nadopunjujući ga na način da se sve događa nezapaženo za sljedeće slojeve. Glavna poteškoća je u tome što se u procesu uspostavljanja veze dva sudionika u sigurnom kanalu trebaju dogovoriti o prilično velikom broju različitih parametara. Naime, moraju se međusobno autentificirati, generirati i razmjenjivati ​​ključeve (i kroz nepouzdano okruženje), te se također dogovoriti kojim će protokolima šifrirati podatke.

    Zbog toga se IPsec sastoji od niza protokola čija je odgovornost osigurati uspostavljanje, rad i upravljanje sigurnom vezom. Cjelokupni proces uspostave veze sastoji se od dvije faze: prva faza služi za osiguranje sigurne razmjene ISAKMP poruka u drugoj fazi. ISAKMP (Internet Security Association and Key Management Protocol) je protokol koji služi za dogovaranje i ažuriranje sigurnosnih politika (SA) između sudionika u VPN vezi. Ova pravila konkretno pokazuju koji protokol koristiti za šifriranje (AES ili 3DES) i čime se autentificirati (SHA ili MD5).

    Dvije glavne faze IPsec-a

    Tako smo saznali da se sudionici prvo trebaju dogovoriti koji će se mehanizmi koristiti za stvaranje sigurne veze, pa sada na scenu stupa IKE protokol. IKE (Internet Key Exchange) služi za formiranje IPsec SA (Security Association, te iste sigurnosne politike), drugim riječima, za koordinaciju rada sudionika u sigurnoj vezi. Putem ovog protokola, sudionici se slažu oko toga koji će se algoritam šifriranja koristiti, koji će se algoritam koristiti za provjeru integriteta i kako će se međusobno autentificirati. Treba napomenuti da danas postoje dvije verzije protokola: IKEv1 i IKEv2. Zanimat će nas samo IKEv1: unatoč činjenici da ga je IETF (The Internet Engineering Task Force) prvi put predstavio 1998., još uvijek se vrlo često koristi, posebno za RA VPN (vidi sliku 1).

    Što se tiče IKEv2, njegovi prvi nacrti napravljeni su 2005. godine, u potpunosti je opisan u RFC 5996 (2010), a tek krajem prošle godine najavljen je kao internetski standard (RFC 7296). Više o razlikama između IKEv1 i IKEv2 možete pročitati na bočnoj traci. Nakon što smo se pozabavili IKE-om, vraćamo se na IPsec faze. Tijekom prve faze sudionici se međusobno autentificiraju i dogovaraju parametre za uspostavljanje posebne veze namijenjene samo razmjeni informacija o željenim algoritmima enkripcije i ostalim detaljima budućeg IPsec tunela. Parametri ovog prvog tunela (također nazvanog ISAKMP tunel) određeni su ISAKMP politikom. Prvi korak je dogovoriti hashove i algoritme enkripcije, zatim razmijeniti Diffie-Hellman (DH) ključeve i tek onda shvatiti tko je tko. Odnosno, posljednji korak je postupak autentifikacije, bilo korištenjem PSK ili RSA ključa. A ako se strane dogovore, tada se uspostavlja tunel ISAKMP, kroz koji već prolazi druga faza IKE.

    U drugoj fazi sudionici koji već vjeruju jedni drugima dogovaraju kako će izgraditi glavni tunel za izravan prijenos podataka. Nude jedni drugima opcije navedene u parametru transform-set, a ako se slože, podižu glavni tunel. Važno je naglasiti da jednom kada se uspostavi, pomoćni ISAKMP tunel ne ide nikamo - koristi se za periodično ažuriranje SA glavnog tunela. Kao rezultat toga, IPsec na neki način uspostavlja ne jedan, već dva tunela.

    Kako obraditi podatke

    Sada nekoliko riječi o transform-setu. Uostalom, morate nekako šifrirati podatke koji prolaze kroz tunel. Stoga, u tipičnoj konfiguraciji, transform-set je skup parametara koji eksplicitno pokazuju kako se paket treba obraditi. Sukladno tome, postoje dvije mogućnosti za takvu obradu podataka - ESP i AH protokol. ESP (Encapsulating Security Payload) izravno se bavi enkripcijom podataka i također može pružiti provjeru integriteta podataka. AH (Authentication Header) je pak odgovoran samo za autentifikaciju izvora i provjeru integriteta podataka.

    Na primjer, naredba crypto ipsec transform-set SET10 esp-aes reći će usmjerivaču da transform-set pod nazivom SET10 treba raditi samo pomoću ESP protokola i s AES enkripcijom. Gledajući unaprijed, reći ću da ćemo u nastavku koristiti Cisco usmjerivače i vatrozide kao ciljeve. Zapravo, s ESP-om je sve manje-više jasno, njegov je posao šifrirati i time osigurati povjerljivost, ali zašto je onda potreban AH? AH omogućuje autentifikaciju podataka, odnosno potvrđuje da ti podaci dolaze upravo od onoga s kim smo uspostavili vezu i da nisu usput mijenjani. Omogućuje ono što se ponekad naziva zaštitom od ponavljanja. U modernim mrežama AH se praktički ne koristi svugdje;

    Parametri (aka SA) odabrani za šifriranje informacija u IPsec tunelu imaju vijek trajanja, nakon čega se moraju zamijeniti. Zadana postavka životnog vijeka IPsec SA je 86 400 sekundi ili 24 sata.
    Kao rezultat toga, sudionici su dobili šifrirani tunel s parametrima koji su im svima odgovarali i tamo su poslali tokove podataka na šifriranje. Periodički, u skladu s vijekom trajanja, ključevi šifriranja za glavni tunel se ažuriraju: sudionici ponovno komuniciraju preko ISAKMP tunela, prolaze kroz drugu fazu i ponovno uspostavljaju SA.

    IKEv1 načini rada

    Na brzinu smo pogledali osnovnu mehaniku rada IPseca, ali postoji još nekoliko stvari na koje se moramo usredotočiti. Prva faza, između ostalog, može raditi u dva režima: glavni ili agresivni. Već smo razgovarali o prvoj opciji gore, ali nas zanima agresivni način. Ovaj način rada koristi tri poruke (umjesto šest u glavnom načinu). U tom slučaju onaj tko inicira spajanje daje sve svoje podatke odjednom - što želi i što može, kao i svoj dio DH centrale. Odgovorna osoba tada odmah dovršava svoj dio DH generacije. Kao rezultat toga, postoje samo dvije faze u ovom načinu rada. Odnosno, prve dvije faze iz glavnog načina (hash Agreement i DH exchange) su, takoreći, komprimirane u jednu. Kao rezultat toga, ovaj je način mnogo opasniji zbog činjenice da odgovor dolazi s puno tehničkih informacija u otvorenom tekstu. I što je najvažnije, VPN gateway može poslati hash lozinku, koja se koristi za autentifikaciju u prvoj fazi (ova se lozinka često naziva unaprijed dijeljeni ključ ili PSK).

    Pa, sva naknadna enkripcija odvija se bez promjena, kao i obično. Zašto se onda ovaj način rada još uvijek koristi? Činjenica je da je puno brži, otprilike dvostruko brži. Od posebnog interesa za pentester je činjenica da se agresivni način rada vrlo često koristi u RA IPsec VPN-u. Još jedna mala značajka RA IPsec VPN-a kada se koristi agresivni način rada: kada klijent kontaktira poslužitelj, on mu šalje identifikator (naziv grupe). Naziv grupe tunela (vidi sliku 2) naziv je unosa koji sadrži skup pravila za danu IPsec vezu. Ovo je već jedna od značajki specifičnih za Cisco opremu.


    Dvije faze nisu bile dovoljne

    Čini se da ovo nije vrlo jednostavna shema rada, ali u stvarnosti je još uvijek malo kompliciranija. S vremenom je postalo jasno da sam PSK nije dovoljan za osiguranje sigurnosti. Na primjer, ako je radna stanica zaposlenika ugrožena, napadač bi mogao odmah dobiti pristup cijeloj internoj mreži poduzeća. Stoga je faza 1.5 razvijena točno između prve i druge klasične faze. Usput, ova se faza obično ne koristi u standardnoj VPN vezi između web mjesta, ali se koristi pri organiziranju udaljenih VPN veza (naš slučaj). Ova faza sadrži dva nova proširenja - proširenu provjeru autentičnosti (XAUTH) i način konfiguracije (MODECFG).

    XAUTH je dodatna provjera autentičnosti korisnika unutar IKE protokola. Ova autentifikacija se također ponekad naziva IPsec drugi faktor. Pa, MODECFG služi za prijenos dodatnih informacija klijentu, to može biti IP adresa, maska, DNS poslužitelj itd. Može se vidjeti da ova faza jednostavno nadopunjuje one o kojima smo prethodno raspravljali, ali je njena korisnost nedvojbena.

    IKEv2 protiv IKEv1

    Oba protokola rade na UDP portu broj 500, ali su nekompatibilni jedan s drugim; situacija u kojoj postoji IKEv1 na jednom kraju tunela i IKEv2 na drugom nije dopuštena. Evo glavnih razlika između druge i prve verzije:

    • U IKEv2 više nema koncepata kao što su agresivni ili glavni modovi.
    • U IKEv2, termin prva faza zamijenjen je s IKE_SA_INIT (razmjena dviju poruka koja osigurava pregovaranje protokola šifriranja/raspršivanja i generiranje DH ključeva), a druga faza je zamijenjena s IKE_AUTH (također dvije poruke koje implementiraju samu autentifikaciju ).
    • Mode Config (ono što se naziva faza 1.5 u IKEv1) sada je opisano izravno u specifikaciji protokola i njezin je sastavni dio.
    • IKEv2 je dodao dodatni mehanizam za zaštitu od DoS napada. Njegova bit je da prije odgovora na svaki zahtjev u uspostavljanju sigurne veze (IKE_SA_INIT) IKEv2, VPN gateway šalje određeni kolačić izvoru takvog zahtjeva i čeka odgovor. Ako je izvor odgovorio - sve je u redu, možete početi generirati DH s njim. Ako izvor ne odgovori (to se događa u slučaju DoS napada; ova tehnika podsjeća na TCP SYN flood), onda VPN gateway jednostavno zaboravi na to. Bez ovog mehanizma, sa svakim zahtjevom od bilo koga, VPN gateway bi pokušao generirati DH ključ (što je prilično resursno intenzivan proces) i ubrzo bi naišao na probleme. Kao rezultat toga, zbog činjenice da sve operacije sada zahtijevaju potvrdu s druge strane veze, nemoguće je stvoriti veliki broj poluotvorenih sesija na napadnutom uređaju.

    Dolazimo do crte

    Nakon što ste konačno razumjeli operativne značajke IPsec-a i njegovih komponenti, možete prijeći na glavnu stvar - praktične napade. Topologija će biti prilično jednostavna, au isto vrijeme bliska stvarnosti (vidi sliku 3).


    Prvi korak je utvrditi prisutnost IPsec VPN pristupnika. To se može učiniti skeniranjem porta, ali ovdje postoji mala značajka. ISAKMP koristi UDP protokol, port 500, dok zadano skeniranje s Nmapom utječe samo na TCP portove. Kao rezultat bit će poruka: Filtrirano je svih 1000 skeniranih portova na 37.59.0.253.

    Čini se da su svi priključci filtrirani i da nema otvorenih priključnica. Ali nakon izvršenja naredbe

    Nmap -sU --top-ports=20 37.59.0.253 Pokretanje Nmapa 6.47 (http://nmap.org) u 2015-03-21 12:29 GMT Izvješće Nmap skeniranja za 37.59.0.253 Host je pokrenut (0,066s latencija) . LUČKA DRŽAVNA SLUŽBA 500/udp otvoren isakmp

    Provjeravamo da to nije slučaj i da je ovo doista VPN uređaj.

    Napadnimo prvu fazu

    Sada će nas zanimati prva faza, agresivni način rada i autentifikacija pomoću unaprijed podijeljenog ključa (PSK). U ovom scenariju, kao što se sjećamo, VPN uređaj ili odgovarač šalje raspršeni PSK inicijatoru. Jedan od najpoznatijih uslužnih programa za testiranje IKE protokola je ike-scan, uključen je u Kali Linux distribuciju. Ike-scan vam omogućuje slanje IKE poruka s različitim parametrima i, sukladno tome, dekodiranje i raščlanjivanje paketa odgovora. Pokušajmo ispitati ciljni uređaj:

    Root@kali:~# ike-scan -M -A 37.59.0.253 0 vraćeno rukovanje; 0 vraćeno obavijest

    Prekidač -A označava da se treba koristiti agresivni način rada, a -M označava da se rezultati trebaju prikazivati ​​red po red (više redaka), radi lakšeg čitanja. Jasno je da rezultat nije postignut. Razlog je taj što morate navesti isti identifikator, naziv VPN grupe. Naravno, uslužni program ike-scan omogućuje vam postavljanje ovog identifikatora kao jednog od njegovih parametara. Ali kako nam je to za sada nepoznato, uzmimo proizvoljnu vrijednost, na primjer 0000.

    Root@kali:~# ike-scan -M -A --id=0000 37.59.0.253 37.59.0.253 Agresivni način rukovanja vraćen

    Ovaj put vidimo da je odgovor stigao (vidi sl. 5) i dobili smo dosta korisnih informacija. Prilično važan dio primljenih informacija je skup transformacija. U našem slučaju stoji da je "Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK".

    Svi ovi parametri mogu se specificirati za ike-scan uslužni program pomoću preklopke --trans. Na primjer, --trans=5,2,1,2 će naznačiti da je algoritam šifriranja 3DES, hashiranje HMAC-SHA, metoda provjere autentičnosti PSK i druga vrsta DH grupe (1024-bitni MODP). Tablice podudarnosti vrijednosti možete pogledati na ovoj adresi. Dodajmo još jedan ključ (-P) kako bismo izravno prikazali sadržaj paketa, odnosno PSK hash.

    Root@kali:~# ike-scan -M -A --id=0000 37.59.0.253 -P

    Prevladavanje prvih poteškoća

    Čini se da je hash dobiven i da ga možete pokušati brutati, ali sve nije tako jednostavno. Jednom davno, 2005., neki Ciscov hardver imao je ranjivost: ti su uređaji davali hash samo ako je napadač proslijedio točnu ID vrijednost. Sada je, naravno, gotovo nemoguće pronaći takvu opremu i raspršena vrijednost se uvijek šalje, bez obzira je li napadač poslao ispravnu ID vrijednost ili ne. Očito je brutalno hashiranje besmisleno. Stoga je prvi zadatak odrediti točnu vrijednost ID-a kako bi se dobio točan hash. U tome će nam pomoći nedavno otkrivena ranjivost. Stvar je u tome da postoji mala razlika između odgovora tijekom početne razmjene poruka. Ukratko, ako se koristi ispravno ime grupe, postoje četiri pokušaja za nastavak uspostavljanja VPN veze plus dva šifrirana paketa druge faze. Dok u slučaju netočnog ID-a kao odgovor stižu samo dva paketa. Kao što vidite, razlika je prilično značajna, pa je SpiderLabs (autor jednako zanimljivog alata Responder) prvo razvio PoC, a potom i IKEForce uslužni program za iskorištavanje ove ranjivosti.

    Koja je snaga IKE

    Možete instalirati IKEForce u proizvoljni direktorij pokretanjem naredbe

    Git klon https://github.com/SpiderLabs/ikeforce

    Radi u dva glavna načina - način izračuna -e (nabrajanje) i brute force način -b (bruteforce). Do drugog ćemo doći kada pogledamo napade na drugi faktor, ali ćemo se sada pozabaviti prvim. Prije nego započnete stvarni proces određivanja ID-a, trebate postaviti točnu vrijednost transform-seta. Već smo ga ranije definirali, pa ćemo ga specificirati s -t 5 2 1 2 opcijom. Kao rezultat toga, postupak pronalaženja ID-a izgledat će ovako:

    Python ikeforce.py 37.59.0.253 -e -w popisi riječi/group.txt -t 5 2 1 2

    Kao rezultat toga, bilo je moguće vrlo brzo dobiti točnu ID vrijednost (slika 7). Prvi korak je završen, možete nastaviti.

    Primamo PSK

    Sada morate spremiti PSK hash u datoteku koristeći točan naziv grupe; to se može učiniti pomoću ike-scan:

    Ike-scan -M -A --id=vpn 37.59.0.253 -Pkey.psk

    A sada kada je pronađena ispravna vrijednost ID-a i dobiven ispravan PSK hash, konačno možemo započeti offline brute force. Postoji dosta opcija za takvu grubu silu - ovo je klasični uslužni program psk-crack, i John the Ripper (s jumbo zakrpom), pa čak i oclHashcat, koji vam, kao što je poznato, omogućuje korištenje moći GPU. Radi jednostavnosti, koristit ćemo psk-crack, koji podržava izravni brute force i napad rječnikom:

    Psk-crack -d /usr/share/ike-scan/psk-crack-dictionary key.psk

    Ali čak i uspješno vraćanje PSK-a (vidi sliku 8) samo je pola bitke. U ovoj fazi moramo zapamtiti da je ono što nas sljedeće čeka XAUTH i drugi faktor IPsec VPN-a.

    Bavimo se drugim faktorom IPsec

    Dakle, dopustite mi da vas podsjetim da je XAUTH dodatna sigurnost, drugi faktor provjere autentičnosti, i nalazi se u fazi 1.5. Može postojati nekoliko opcija za XAUTH - to uključuje provjeru korištenjem RADIUS protokola, jednokratne lozinke (OTP) i regularnu lokalnu bazu korisnika. Usredotočit ćemo se na standardnu ​​situaciju kada se lokalna baza korisnika koristi za provjeru drugog faktora. Sve do nedavno nije postojao javno dostupan alat za brute force XAUTH. Ali s dolaskom IKEForcea, ovaj problem je dobio dostojno rješenje. Pokretanje XAUTH grube sile je prilično jednostavno:

    Python ikeforce.py 37.59.0.253 -b -i vpn -k cisco123 -u admin -w wordlists/passwd.txt -t 5 2 1 2 [+]Program je pokrenut u XAUTH Brute Force modu [+]Omogućen jedan korisnik - brute forcing lozinke za korisnika: admin [*]XAUTH Autentifikacija uspješna! Korisničko ime: admin Lozinka: cisco

    U ovom slučaju, naznačene su sve prethodno pronađene vrijednosti: ID (prekidač -i), vraćeni PSK (prekidač -k) i očekivana prijava (prekidač -u). IKEForce podržava i brute force pretraživanje prijave i pretraživanje kroz popis prijava, što se može navesti parametrom -U. U slučaju mogućeg blokiranja odabira, postoji opcija -s, koja vam omogućuje smanjenje brute force brzine. Usput, uslužni program dolazi s nekoliko dobrih rječnika, posebno korisnih za postavljanje vrijednosti ID parametra.

    Prijavite se na internu mrežu

    Sada kada imamo sve podatke, ostaje još posljednji korak - zapravo prodiranje u lokalnu mrežu. Da bismo to učinili, trebat će nam neka vrsta VPN klijenta, kojih ima jako puno. Ali u slučaju Kali, možete jednostavno koristiti već unaprijed instalirani VPNC. Da bi radio potrebno je podesiti jednu konfiguracijsku datoteku - /etc/vpnc/vpn.conf. Ako ne postoji, tada morate stvoriti i ispuniti nekoliko očitih parametara:

    IPSec gateway 37.59.0.253 IPSec ID vpn IPSec tajna cisco123 IKE Authmode psk Xauth Korisničko ime admin Xauth lozinka cisco

    Ovdje vidimo da su korišteni apsolutno svi podaci pronađeni u prethodnim koracima - ID vrijednost, PSK, prijava i lozinka drugog faktora. Nakon čega dolazi do samog povezivanja jednom naredbom:

    Root@kali:~# vpnc vpn

    Onemogućavanje je također prilično jednostavno:

    Root@kali:~# vpnc-disconnect

    Možete provjeriti radi li veza pomoću naredbe ifconfig tun0.

    Kako izgraditi pouzdanu zaštitu

    Zaštita od napada o kojima se danas govori mora biti sveobuhvatna: potrebno je na vrijeme instalirati zakrpe, koristiti jake unaprijed dijeljene ključeve koje, ako je moguće, treba zamijeniti digitalnim certifikatima. Politika lozinki i drugi očiti elementi sigurnosti informacija također igraju važnu ulogu u osiguravanju sigurnosti. Također treba napomenuti da se situacija postupno mijenja, a s vremenom će ostati samo IKEv2.

    Kakav je rezultat?

    Detaljno smo pokrili proces revizije RA IPsec VPN-a. Da, naravno, ovaj zadatak je daleko od trivijalnog. Trebate poduzeti mnogo koraka i na svakom od njih vas mogu čekati poteškoće, ali ako uspijete, rezultat je više nego impresivan. Pristup internim mrežnim resursima otvara najširi prostor za daljnje djelovanje. Stoga se oni koji su odgovorni za zaštitu mrežnog perimetra ne bi trebali oslanjati na gotove zadane predloške, već pažljivo promisliti svaki sigurnosni sloj. Pa, za one koji provode pentestove, otkriveni UDP port 500 razlog je za provođenje duboke analize IPsec VPN sigurnosti i, moguće, postizanje dobrih rezultata.



    
    Vrh