Esp протокол от ipsec. Абонирайте се за нас

0 Тази статия предоставя преглед на IP сигурността (IP Security) и свързаните с тях IPSec протоколи, налични в продуктите на Cisco и използвани за създаване на виртуални частни мрежи (VPN). В тази статия ще дефинираме какво е IPSEC и какви протоколи и алгоритми за сигурност са в основата на IPSEC.

Въведение

IP Security е набор от протоколи, занимаващи се с криптиране, удостоверяване и сигурност по време на транспортирането на IP пакети; сега има близо 20 предложения за стандарти и 18 RFC.

Продуктите на Cisco VPN използват IPSec, индустриалният стандарт за предоставяне на богати VPN възможности. IPSec предлага механизъм за сигурно предаване на данни през IP мрежи, като гарантира поверителността, целостта и надеждността на данните, предавани през незащитени мрежи като Интернет. IPSec предоставя следните VPN възможности в мрежите на Cisco:

  • Поверителност на данните... Подателят на IPSec данни има способността да криптира пакети, преди да бъдат изпратени по мрежата.
  • Целостта на данните... Получателят на IPSec данните има способността да удостоверява комуникиращите страни (устройства или софтуер, където IPSec тунелите започват и завършват) и IPSec пакетите, изпратени от тези страни, за да гарантира, че данните не са били модифицирани по време на пренос.
  • Удостоверяване на източника на данни... Получателят на IPSec данните има способността да удостовери източника на получените IPSec пакети. Тази услуга зависи от услугата за целостта на данните.
  • Защита при възпроизвеждане... Получателят на IPSec данните може да открие и отхвърли възпроизвежданите пакети, предотвратявайки тяхното подправяне и извършване на посреднически атаки.

IPSec е базиран на стандарти набор от протоколи и алгоритми за сигурност. IPSec и свързаните с него протоколи за сигурност отговарят на отворените стандарти, поддържани от Internet Engineering Task Force (IETF) и описани в RFC и чернови на IETF. IPSec работи на мрежовия слой, за да осигури сигурност и удостоверяване за IP пакети, изпращани между IPSec устройства (партии), като Cisco рутери, PIX защитни стени, Cisco VPN клиенти и концентратори и много други продукти, които поддържат IPSec. IPSec поддържа мащаби от най-малките до много големи мрежи.

Асоциация за сигурност (SA)

IPSec предлага стандартен начин за удостоверяване и криптиране на комуникациите между комуникиращите страни. За да осигури комуникациите, IPSec използва стандартни за индустрията алгоритми за криптиране и удостоверяване (т.е. математически формули), наречени трансформации. IPSec използва отворени стандарти за договаряне на ключове за криптиране и управление на връзката, за да даде възможност за оперативна съвместимост между страните. Технологията IPSec предоставя методи, позволяващи на страните по IPSec да "договарят" последователно използване на услугите. Асоциациите за сигурност се използват в IPSec за определяне на параметрите за договаряне.

Асоциация за отбрана(Асоциация за сигурност - SA) е договорена политика или метод за обработка на данни, които се предполага, че се обменят между две устройства на комуникиращите страни. Един от компонентите на такава политика може да бъде алгоритъмът, използван за криптиране на данни. И двете страни могат да използват един и същ алгоритъм както за криптиране, така и за декриптиране. Валидните параметри на SA се записват в базата данни за асоциации за сигурност (SAD) от двете страни.

Два компютъра от всяка страна на SA съхраняват режима, протокола, алгоритмите и ключовете, използвани в SA. Всеки SA се използва само в една посока. За двупосочна комуникация са необходими два SA. Всеки SA реализира един режим и протокол; по този начин, ако два протокола трябва да се използват за един пакет (като AH и ESP), тогава са необходими два SA.

Internet Key Exchange (IKE) е хибриден протокол, който предоставя специална услуга за IPSec, а именно, удостоверяване на IPSec страни, договаряне на IKE и IPSec параметри за асоцииране на сигурността и избор на ключ за алгоритми за криптиране, използвани в IPSec. IKE разчита на Internet Security Association и Key Management Protocol (ISAKMP) и Oakley, които се използват за контрол на генерирането и обработката на ключове за криптиране, използвани в IPSec трансформации. IKE се използва също за формиране на асоциации за сигурност между потенциални IPSec страни.
Както IKE, така и IPSec използват асоциации за сигурност за определяне на комуникационни параметри.
IKE поддържа набор от различни примитивни функции за използване в протоколи. Сред тях са хеш-функцията и псевдослучайната функция (PRF).

Хеш функцияТова е характеристика, устойчива на сблъсък. Устойчивостта на сблъсък се разбира като факта, че е невъзможно да се намерят две различни съобщения m1 и m2, така че

H (m1) = H (m2), където H е хеш функция.

Що се отнася до псевдослучайните функции, сега вместо специални PRF, в конструкцията на HMAC се използва хеш функция (HMAC е механизъм за удостоверяване на съобщението, използващ хеш функции). За да дефинираме HMAC, имаме нужда от криптографска хеш функция (означаваме я като H) и секретен ключ K. Предполагаме, че H е хеш функция, при която данните се хешират с помощта на процедура за компресиране, приложена последователно към последователност от блокове от данни. Ще обозначим с B дължината на такива блокове в байтове, а дължината на блоковете, получени в резултат на хеширане, като L (L
ipad = байт 0x36, повторен B пъти;
opad = байт 0x5C, повторен B пъти.

За да изчислите HMAC от "текстовите" данни, трябва да изпълните следната операция:

H (K XOR opad, H (K XOR ipad, текст))

От описанието следва, че IKE използва HASH стойности за удостоверяване на страните. Имайте предвид, че HASH в този случай означава изключително името на полезен товар в ISAKMP и това име няма нищо общо с неговото съдържание.

IPSec инфраструктура

IPSec VPN могат да бъдат изградени с голямо разнообразие от устройства на Cisco — Cisco рутери, CiscoSecure PIX защитни стени, CiscoSecure VPN клиентски софтуер и VPN концентратори на Cisco 3000 и 5000. Рутерите на Cisco имат вградена VPN поддръжка със съответните възможности, богати на софтуер на Cisco IOS, което намалява сложността на мрежовите решения и намалява общата цена на VPN, като същевременно изгражда многопластова защита на предоставяните услуги. PIX Firewall е високопроизводително мрежово устройство, което може да обслужва крайни точки на тунела с висока честотна лента и отлична функционалност на защитната стена. Софтуерът CiscoSecure VPN Client поддържа най-строгите VPN изисквания за отдалечен достъп за приложения за електронна търговия и мобилен достъп, предлагайки цялостни реализации на IPSec и надеждна оперативна съвместимост между Cisco рутери и защитни стени PIX.

Как работи IPSec


IPSec разчита на редица технологични решения и техники за криптиране, но общото действие на IPSec може да се разглежда като следните основни стъпки:
  • Стъпка 1. Стартирайте процеса на IPSec.Трафикът, който изисква криптиране съгласно политиката за сигурност на IPSec, договорена от страните на IPSec, започва процеса на IKE.
  • Стъпка 2. Фаза I на IKE... IKE процесът удостоверява IPSec страните и договаря параметрите на IKE асоциациите за сигурност, което създава защитен канал за договаряне на параметрите на IPSec асоциациите за сигурност по време на втората фаза на IKE.
  • Стъпка 3. Втора фаза на IKE... Процесът IKE договаря параметрите на асоциацията за защита на IPSec и установява подходящите асоциации за сигурност на IPSec за устройствата на комуникиращата страна.
  • Стъпка 4. Прехвърляне на данни... Обменът на данни между IPSec комуникиращите страни се основава на IPSec параметрите и ключовете, съхранявани в базата данни за асоциации за сигурност.
  • Стъпка 5. Изключване на IPSec тунела... Асоциациите за сигурност на IPSec се прекратяват или чрез премахване, или чрез превишаване на техния живот.
Следващите раздели ще опишат тези стъпки по-подробно.

В днешния свят навсякъде се използват различни VPN технологии. Някои (например PPTP) се признават за опасни с течение на времето и постепенно отмират, други (OpenVPN), напротив, набират скорост всяка година. Но IPsec VPN остава безспорният лидер и най-признатата технология за създаване и поддържане на сигурни частни канали. Понякога, по време на тест за проникване, можете да намерите сериозно защитена мрежа, като само 500-ият UDP порт стърчи. Всичко останало може да бъде затворено, закърпено и филтрирано сигурно.

В такава ситуация може да възникне мисълта, че тук няма какво особено да се прави. Но не винаги е така. В допълнение, широко разпространено е мнението, че IPsec, дори в конфигурации по подразбиране, е непревземаем и осигурява адекватно ниво на сигурност. Именно тази ситуация ще разгледаме на практика днес. Но първо, за да се справите ефективно с IPsec, трябва да разберете какво представлява и как работи. Ето какво ще направим!

IPsec отвътре

Преди да преминете директно към самия IPsec, би било хубаво да си спомните какви типове VPN има като цяло. Има много VPN класификации, но няма да се гмуркаме дълбоко в мрежовите технологии и да вземем най-простата. Затова ще разделим VPN на два основни типа - VPN връзки от сайт до сайт (те могат да се нарекат и постоянни) и VPN за отдалечен достъп (RA, те са временни).

Първият тип служи за постоянна комуникация на различни мрежови острови, например централен офис с много разпръснати клонове. Е, RA VPN е сценарий, когато клиентът се свързва за кратък период от време, получава достъп до определени мрежови ресурси и безопасно прекъсва връзката след приключване на работата.

Ще се интересуваме от втория вариант, тъй като в случай на успешна атака е възможно незабавно да получите достъп до вътрешната мрежа на предприятието, което е доста сериозно постижение за пентестър. IPsec, от своя страна, позволява както VPN мрежи за достъп от сайт до сайт, така и за отдалечен достъп. Какъв вид технология е това и от какви компоненти се състои?

Струва си да се отбележи, че IPsec не е един, а цял набор от различни протоколи, които осигуряват прозрачна и сигурна защита на данните. Спецификата на IPsec е, че се реализира на мрежовия слой, допълвайки го по такъв начин, че всичко се случва незабелязано за следващите слоеве. Основната трудност се крие във факта, че в процеса на установяване на връзка двама участници в защитен канал трябва да се споразумеят за доста голям брой различни параметри. А именно, те трябва да се удостоверяват взаимно, да генерират и обменят ключове (и чрез ненадеждна среда), както и да се споразумеят за това кои протоколи да криптират данните.

Поради тази причина IPsec се състои от стек от протоколи, чиято отговорност е да гарантира, че е установена, управлявана и управлявана сигурна връзка. Целият процес на установяване на връзка включва две фази: първата фаза се използва, за да се осигури сигурен обмен на ISAKMP съобщения още във втората фаза. ISAKMP (Internet Security Association and Key Management Protocol) е протокол, който договаря и актуализира политики за сигурност (SA) между VPN участници. Тези правила определят с кой протокол да се шифрова (AES или 3DES) и с кой да се удостоверява (SHA или MD5).

Двете основни фази на IPsec

И така, разбрахме, че първо участниците трябва да се споразумеят какви механизми ще бъдат използвани за създаване на сигурна връзка, така че сега влиза в действие протоколът IKE. IKE (Internet Key Exchange) се използва за формиране на IPsec SA (Security Association, същите тези политики за сигурност), с други думи, за координиране на работата на участниците в защитена връзка. Чрез този протокол участниците се договарят кой алгоритъм за криптиране ще бъде приложен, по кой алгоритъм ще се извърши проверката на целостта и как да се удостоверяват взаимно. Трябва да се отбележи, че днес има две версии на протокола: IKEv1 и IKEv2. Ще се интересуваме само от IKEv1: въпреки че IETF (The Internet Engineering Task Force) го представи за първи път през 1998 г., той все още се използва много често, особено за RA VPN (виж фигура 1).


Ориз. 1. Съветник на Cisco ASDM VPN

Що се отнася до IKEv2, той беше скициран за първи път през 2005 г., напълно описан в RFC 5996 (2010) и едва в края на миналата година беше обявен за интернет стандарт (RFC 7296). Можете да прочетете повече за разликите между IKEv1 и IKEv2 в страничната лента. След като IKE е изчистен, нека се върнем към фазите на IPsec. По време на първата фаза участниците се удостоверяват взаимно и се договарят за параметрите за създаване на специална връзка, предназначена само за обмен на информация за желаните алгоритми за криптиране и други подробности за бъдещия IPsec тунел. Параметрите на този първи тунел (наричан още ISAKMP тунел) се управляват от политиката на ISAKMP. Първо се договарят хешове и алгоритми за криптиране, след това се обменят ключове на Diffie-Hellman (DH) и едва след това се разбира кой кой е. Тоест, последната стъпка е процесът на удостоверяване, или чрез PSK, или чрез RSA ключ. И ако страните се споразумеят, тогава се създава тунел ISAKMP, през който вече преминава втората фаза на IKE.

Във втората фаза участниците, които вече се доверяват един на друг, се договарят как да изградят основния тунел за директно предаване на данни. Те си предлагат един на друг опциите, посочени в параметъра transform-set, и ако се съгласят, вдигат главния тунел. Важно е да се подчертае, че след като се установи, спомагателният тунел ISAKMP не изчезва – той се използва за периодично актуализиране на SA на главния тунел. В резултат на това IPsec създава не един, а два тунела.

Как да обработваме данни

Сега няколко думи за transform-set. В крайна сметка трябва по някакъв начин да криптирате данните, преминаващи през тунела. Следователно, в типична конфигурация, transform-set е набор от параметри, които изрично определят как да се обработва пакет. Съответно има два варианта за такава обработка на данни - това са протоколите ESP и AH. ESP (Encapsulating Security Payload) се занимава директно с криптирането на данни и може също да осигури проверки на целостта на данните. AH (заглавка за удостоверяване), от своя страна, отговаря само за удостоверяването на източника и проверката на целостта на данните.

Например, командата `crypto ipsec transform-set SET10 esp-aes` ще каже на рутера, че набор за трансформация с име` SET10` трябва да работи само през ESP протокола и с AES криптиране. Гледайки напред, ще кажа, че по-нататък ще използваме Cisco рутери и защитни стени като цели. Всъщност с ESP всичко е повече или по-малко ясно, неговата работа е да криптира и по този начин да гарантира поверителността, но тогава защо ни е нужен AH? AH осигурява удостоверяване на данни, тоест потвърждава, че тези данни са дошли точно от лицето, с което сме установили връзка и не са били променяни по пътя. Той осигурява това, което понякога се нарича защита срещу повторение. В съвременните мрежи AH практически не се използва, навсякъде може да се намери само ESP.

Параметрите (известни още като SA), избрани за криптиране на информация в IPsec тунела, имат живот, след което трябва да бъдат заменени. Стандартният живот на IPsec SA е 86 400 секунди или 24 часа.

В резултат на това участниците получиха криптиран тунел с параметри, които отговарят на всички тях, и изпратиха потоците от данни, за да бъдат криптирани там. Периодично, в съответствие с продължителността на живота, ключовете за криптиране за главния тунел се актуализират: участниците отново се свързват през тунела ISAKMP, преминават през втората фаза и възстановяват SA.

IKEv1 режими

Покрихме основната механика на IPsec като първо приближение, но има още няколко неща, върху които да се съсредоточим. Първата фаза, наред с други неща, може да работи в два режима: основен режим или агресивен режим. Вече разгледахме първия вариант по-горе, но се интересуваме само от агресивен режим. Този режим използва три съобщения (вместо шест в основния режим). В същото време този, който инициира връзката, дава всичките си данни наведнъж – какво иска и какво може, както и своята част от DH обмена. След това контрагентът незабавно завършва своята част от генериране на DH. В резултат на това в този режим всъщност има само два етапа. Тоест, първите два етапа от основния режим (съвпадение на хешове и обмен на DH) са сякаш компресирани в един. В резултат на това този режим е много по-опасен поради причината, че много техническа информация идва в отговор в откровен текст. И най-важното е, че VPN шлюзът може да изпрати хеш на паролата, която се използва за удостоверяване в първата фаза (тази парола също често се нарича предварително споделен ключ или PSK).

Е, цялото последващо криптиране се случва непроменено, както обикновено. Защо тогава този режим все още се използва? Факт е, че е много по-бързо, около два пъти по-бързо. Особен интерес за пентестъра е фактът, че агресивният режим се използва много често в RA IPsec VPN. Друга малка характеристика на RA IPsec VPN при използване на агресивен режим: когато клиент се свърже със сървър, той му изпраща идентификатор (име на група). Името на тунелната група (вижте фигура 2) е името на записа, който съдържа набора от политики за тази IPsec връзка. Това вече е една от характеристиките, специфични за оборудването на Cisco.


Ориз. 2. Име на тунелната група

Две фази не бяха достатъчни

Изглежда, че това не е много проста схема на работа, но в действителност все още е малко по-сложна. С течение на времето стана ясно, че само PSK не е достатъчен за осигуряване на сигурност. Например, ако работната станция на служител е била компрометирана, нападателят може незабавно да получи достъп до цялата вътрешна мрежа на предприятието. Следователно, фаза 1.5 е разработена точно между първата и втората класическа фаза. Между другото, тази фаза обикновено не се използва при стандартна VPN връзка от сайт до сайт, но се използва при организиране на отдалечени VPN връзки (нашият случай). Тази фаза съдържа две нови разширения - Разширено удостоверяване (XAUTH) и Mode-Configuration (MODECFG).

XAUTH е допълнително удостоверяване на потребител в рамките на протокола IKE. Това удостоверяване понякога се нарича и втори фактор на IPsec. Е, MODECFG служи за прехвърляне на допълнителна информация към клиента, може да бъде IP адрес, маска, DNS сървър и т.н. Може да се види, че тази фаза просто допълва разглежданите по-рано, но полезността й е неоспорима.

IKEv2 срещу IKEv1

И двата протокола работят на UDP порт 500, но са несъвместими един с друг; не е позволено да има IKEv1 в единия край на тунела и IKEv2 в другия. Ето основните разлики между втората версия и първата:

IKEv2 вече не включва агресивни или основни режими.
- В IKEv2 терминът първата фаза се заменя с IKE_SA_INIT (обмен на две съобщения, осигуряващ договаряне на протоколи за криптиране/хеширане и генериране на DH ключове), а втората фаза се заменя с IKE_AUTH (също две съобщения, които изпълняват действителните удостоверяване).
- Mode Config (това, което се наричаше фаза 1.5 в IKEv1) вече е описано директно в спецификацията на протокола и е неразделна част от нея.
- Към IKEv2 е добавен допълнителен механизъм за анти-DoS атака. Същността му е, че преди да отговори на всяка заявка за установяване на защитена връзка (IKE_SA_INIT) IKEv2, VPN шлюзът изпраща бисквитка до източника на такава заявка и изчаква отговор. Ако източникът отговори - всичко е наред, можете да започнете да генерирате DH с него. Ако източникът не отговори (в случай на DoS атака, това се случва, тази техника прилича на TCP SYN flood), тогава VPN шлюзът просто забравя за това. Без този механизъм, при всяка заявка от когото и да било, VPN шлюзът ще се опита да генерира DH ключ (което е доста ресурсоемък процес) и скоро ще се сблъска с проблеми. В резултат на това, поради факта, че всички операции сега изискват потвърждение от другата страна на връзката, е невъзможно да се създаде голям брой полуотворени сесии на атакуваното устройство.

Отиваме до границата

След като най-накрая разбрахте особеностите на IPsec и неговите компоненти, можете да преминете към основното - към практическите атаки. Топологията ще бъде доста проста и в същото време близка до реалността (виж фиг. 3).


Ориз. 3. Обща мрежова диаграма

Първата стъпка е да определите дали има IPsec VPN шлюз. Можете да направите това, като извършите сканиране на портове, но тук има малка особеност. ISAKMP използва UDP, порт 500, докато сканирането на Nmap по подразбиране засяга само TCP портовете. И резултатът ще бъде съобщението: „Всички 1000 сканирани порта на 37.59.0.253 са филтрирани“.

Изглежда, че всички портове са филтрирани и няма отворени портове. Но чрез изпълнение на командата

Nmap -sU --top-ports = 20 37.59.0.253 Стартиране на Nmap 6.47 (http://nmap.org) в 2015-03-21 12:29 GMT Отчет за сканиране на Nmap за 37.59.0.253 Хостът работи (0,066 секунди) ... ДЪРЖАВНА УСЛУГА НА ПРИСТАНИЩЕ 500 / udp отворете isakmp
ние сме убедени, че това не е така и наистина сме изправени пред VPN устройство.

Нападаме първата фаза

Сега ще се интересуваме от първата фаза, агресивен режим и удостоверяване с помощта на предварително споделен ключ (PSK). В този сценарий не забравяйте, че VPN устройството или отговорникът изпраща хеширан PSK до инициатора. Една от най-известните помощни програми за тестване на IKE протокола е ike-scan, която е включена в дистрибуцията на Kali Linux. Ike-scan ви позволява да изпращате IKE съобщения с различни параметри и съответно да декодирате и анализирате пакетите с отговор. Опитвам се да пробвам целевото устройство:

[защитен с имейл]: ~ # ike-scan -M -A 37.59.0.253 0 върнато ръкостискане; 0 върнато известие

Ориз. 4. Агресивен режим на Ike-scan

Превключвателят `-A` показва, че трябва да се използва агресивният режим, а` -M` показва, че резултатите трябва да се извеждат ред по ред (многоредов), за по-лесно четене. Вижда се, че не се получи никакъв резултат. Причината е, че трябва да посочите същия идентификатор, името на VPN групата. Разбира се, помощната програма ike-scan ви позволява да посочите този идентификатор като един от неговите параметри. Но тъй като все още не го знаем, нека вземем произволна стойност, например 0000.

[защитен с имейл]: ~ # ike-scan -M -A --id = 0000 37.59.0.253 37.59.0.253 Агресивен режим Върнато ръкостискане


Ориз. 5. Ike-scan ID

Този път виждаме, че отговорът е получен (виж фиг. 5) и ни е предоставена доста полезна информация. Доста важна част от получената информация е наборът за трансформиране. В нашия случай пише, че "Enc = 3DES Hash = SHA1 Group = 2: modp1024 Auth = PSK".

Всички тези параметри могат да бъдат зададени за помощната програма ike-scan с помощта на превключвателя `--trans`. Например, `--trans = 5,2,1,2` ще ви каже, че алгоритъмът за криптиране е 3DES, HMAC-SHA хеширане, PSK метод за удостоверяване и вторият тип група DH (1024-битов MODP). Можете да видите таблици за съответствие на стойностите на този адрес. Нека добавим още един ключ (`-P`), за да покажем директно полезния товар на пакета, или по-скоро PSK хеша.

[защитен с имейл]: ~ # ike-scan -M -A --id = 0000 37.59.0.253 -P


Ориз. 6. Ike-scan полезен товар

Преодоляване на първите трудности

Изглежда, че хешът е получен и можете да опитате да го измъкнете, но не е толкова просто. Едно време, през 2005 г., имаше уязвимост в някои хардуерни устройства на Cisco: тези устройства дадоха хеш само ако нападателят предаде правилната стойност на ID. Сега, разбира се, е почти невъзможно да се намери такова оборудване и хешираната стойност винаги се изпраща, независимо дали нападателят е изпратил правилната стойност на ID или не. Очевидно е безсмислено да се използва грубата сила на грешен хеш. Следователно, първата задача е да определите правилната стойност на идентификатора, за да получите правилния хеш. Наскоро открита уязвимост ще ни помогне в това.

Въпросът е, че има малка разлика между отговорите по време на първоначалния обмен на съобщения. Накратко, когато се използва правилното име на групата, има четири опита за продължаване на установяване на VPN връзка, плюс два криптирани второфазни пакета. Докато в случай на неправилен ID, само два пакета пристигат в отговор. Както можете да видите, разликата е доста значителна, така че SpiderLabs (авторът на също толкова интересния инструмент Responder) първо разработи PoC, а след това и помощната програма IKEForce, за да експлоатира тази уязвимост.

Каква е силата на IKE

Можете да инсталирате IKEForce в произволна директория, като изпълните командата

Git клонинг https://github.com/SpiderLabs/ikeforce
Работи в два основни режима - режим на изчисление `-e` (изброяване) и режим на груба сила` -b` (груба сила). Ще стигнем до втория, когато разгледаме атаките срещу втория фактор, но сега ще се заемем с първия. Преди да започнете действителния процес на определяне на ID, трябва да зададете точната стойност на набора за трансформиране. Вече го дефинирахме по-рано, така че ще го посочим с опцията `-t 5 2 1 2`. В резултат на това процесът на намиране на идентификатора ще изглежда така:

Python ikeforce.py 37.59.0.253 -e -w списъци с думи / group.txt -t 5 2 1 2


Ориз. 7. IKEForce изброяване

В резултат на това бързо се получава правилната стойност на ID (фиг. 7). Първата стъпка е премината, можете да продължите.

Получаваме PSK

Сега трябва да запишете PSK хеша във файл, като използвате правилното име на групата, можете да направите това с помощта на ike-scan:

Ike-scan -M -A --id = vpn 37.59.0.253 -Pkey.psk
И сега, когато е намерена правилната стойност на ID и е получен правилният PSK хеш, най-накрая можем да започнем офлайн груба сила. Има доста опции за такава груба сила - това е класическата помощна програма psk-crack и John the Ripper (с джамбо пач) и дори oclHashcat, който, както знаете, ви позволява да използвате силата на графичен процесор. За простота ще използваме psk-crack, който поддържа както директна груба сила, така и атаки с речник:

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

Ориз. 8. Psk-крек

Но дори успешното възстановяване на PSK (виж Фигура 8) е само половината от битката. На този етап трябва да запомните какво следва за нас XAUTH и втория фактор на IPsec VPN.

Справяне с втория фактор на IPsec

И така, нека ви напомня, че XAUTH е допълнителна защита, вторият фактор за удостоверяване и е във фаза 1.5. Може да има няколко опции за XAUTH - това са проверки на RADIUS, еднократни пароли (OTP) и обикновена локална потребителска база. Ще се съсредоточим върху типична ситуация, при която локалната потребителска база се използва за тестване на втория фактор. Доскоро нямаше публично достъпен инструмент за груба сила XAUTH. Но с появата на IKEForce тази задача получи достойно решение. Стартирането на грубата сила на XAUTH е доста просто:

Python ikeforce.py 37.59.0.253 -b -i vpn -k cisco123 -u admin -w wordlists / passwd.txt -t 5 2 1 2 [+] Програмата стартира в режим XAUTH Brute Force [+] Предоставен един потребител - грубо принудително използване пароли за потребител: admin [*] XAUTH удостоверяване успешно! Потребителско име: администратор Парола: cisco


Ориз. 9. IKEForce XAUTH

Показани са всички намерени по-рано стойности: ID (ключ `-i`), възстановен PSK (ключ` -k`) и предполагаемо влизане (ключ `-u`). IKEForce поддържа както грубо влизане, така и влизане с груба сила, които могат да бъдат посочени с параметъра `-U`. В случай на възможно блокиране на избора има опция `-s`, която ви позволява да намалите скоростта на грубата сила. Между другото, помощната програма идва с няколко добри речника, които са особено полезни за задаване на стойността на параметъра ID.

Влизаме във вътрешната мрежа

Сега, когато имаме всички данни, остава последната стъпка - реалното проникване в локалната мрежа. За да направим това, се нуждаем от някакъв VPN клиент, от които има много. Но в случая с Kali можете да използвате предварително инсталирания VPNC без проблеми. За да работи, трябва да коригирате един конфигурационен файл - `/ etc / vpnc / vpn.conf`. Ако го няма, тогава трябва да създадете и попълните редица очевидни параметри:

IPSec шлюз 37.59.0.253
IPSec ID vpn
IPSec тайна cisco123
IKE Authmode psk
Xauth потребителско име администратор
Xauth парола cisco

Тук виждаме, че са използвани абсолютно всички данни, намерени в предишните стъпки - стойността на ID, PSK, вход и парола на втория фактор. След това самата връзка се осъществява с една команда:

[защитен с имейл]: ~ # vpnc vpn
Деактивирането също е доста просто:

[защитен с имейл]: ~ # vpnc-изключване
Можете да проверите дали връзката работи правилно, като използвате командата `ifconfig tun0`.


Ориз. 10. VPNC

Как да изградим надеждна защита

Защитата срещу разглежданите днес атаки трябва да бъде изчерпателна: трябва да инсталирате пачове навреме, да използвате силни предварително споделени ключове, които, ако е възможно, трябва да бъдат напълно заменени с цифрови сертификати. Политиката за пароли и други очевидни елементи на информационната сигурност също играят важна роля за гарантиране на сигурността. Трябва също да се отбележи, че ситуацията постепенно се променя и с течение на времето ще остане само IKEv2.

Какъв е изводът

Ние покрихме процеса на одит на RA IPsec VPN в пълни подробности. Да, разбира се, тази задача далеч не е тривиална. Има много стъпки, които трябва да се предприемат и всяка от тях може да срещне трудности, но ако е успешна, резултатът е повече от впечатляващ. Получаването на достъп до вътрешните ресурси на мрежата отваря най-широкото поле за по-нататъшни действия. Следователно тези, които отговарят за защитата на периметъра на мрежата, не трябва да разчитат на готови шаблони по подразбиране, а внимателно да обмислят всеки слой за сигурност. Е, за тези, които провеждат пентестове, откритият 500-ти UDP порт е причина да направят задълбочен анализ на IPsec VPN сигурността и вероятно да получат добри резултати.

Абонирайте се за "Хакер"

Encapsulating Security Payload (ESP) гарантира поверителността на данните. Освен това ви позволява да идентифицирате подателя на данните, както и да осигурите целостта на данните и защита от възпроизвеждане на информация.

Разликата между ESP и Authentication Header (AH) е, че ESP криптира данните. В същото време и двата протокола осигуряват идентификация, проверка на целостта и защита от възпроизвеждане на информация. Когато работят с ESP, и двете крайни системи използват общ ключ за криптиране и декриптиране на данни.

Ако средствата за криптиране и идентификация на данни се използват едновременно, тогава отговарящата система първо идентифицира пакета и ако идентификацията е успешна, тя декриптира пакета. Този начин на работа с пакети намалява натоварването на системата и намалява риска от атака с отказ на услуга, компрометираща сигурността.

Два начина за използване на ESP

ESP може да се използва по два начина: в отворен режим и в тунелен режим. В отворен режим заглавката на ESP се появява след заглавката на IP дейтаграмата. Ако дейтаграмата вече има IPSec заглавка, тогава ESP заглавката се поставя преди тази заглавка. ESP ремарке и идентификационни данни, ако има такива, са посочени след полето за данни.

В режим на отворен трансфер IP заглавката не е нито идентифицирана, нито криптирана. В този случай адресите, посочени в заглавката, могат да бъдат прихванати по време на предаването на дейтаграмата по мрежата. Обменът на данни в режим на отворен трансфер изисква по-малко ресурси, отколкото при работа в тунелен режим. Този режим обаче осигурява по-ниско ниво на защита. В повечето случаи при работа с ESP протокола се използва отвореният режим на трансфер.

Тунелният режим създава нова IP заглавка, която става най-външната заглавка на дейтаграмата. Следва ESP заглавката, последвана от самата дейтаграма (IP заглавка и данни). Трейлърът на ESP и идентификационните данни, ако има такива, се добавят в края на полето с данни. Ако криптирането и удостоверяването се използват едновременно, тогава ESP защитава напълно оригиналната дейтаграма, тъй като тази дейтаграма става поле за данни в новия ESP пакет. Новата IP заглавка не е защитена. Когато установявате връзка между шлюзове, използвайте ESP в тунелен режим.

Алгоритъм за защита на информацията, използван от ESP

ESP използва симетричен ключ, който криптира и декриптира данни от крайните системи. Преди да обменят данни, изпращачът и получателят трябва да се споразумеят за ключ, който ще използват. Функцията VPN поддържа криптиране DES, Triple DES (3DES), RC5, RC4, AES или AES-CBC.

Когато използвате алгоритъма за криптиране AES, можете да активирате разширен пореден номер (ESN). ESN ви позволява да прехвърляте големи количества данни с висока скорост. VPN връзката използва 64-битови последователни номера вместо 32-битови числа през IPSec. Използването на 64-битови последователни номера увеличава времето преди промяна на ключа, което предотвратява края на групата от последователни номера и спестява системни ресурси.

Интернет работната група (IETF) официално описва алгоритмите в следните RFC:

Тези и други RFC могат да бъдат намерени в Интернет на следния уебсайт: http://www.rfc-editor.org.

Протоколът ESP поддържа алгоритмите за удостоверяване HMAC-MD5, HMAC-SHA, HMAC-SHA-256 и AES-XCBC-MAC. И двата алгоритма получават данни с променлива дължина и частен ключ като вход и от тях генерират данни с фиксирана дължина (или хеш стойност или MAC). Ако стойностите на хеш функцията, изчислени за две съобщения, са еднакви, тогава с голяма вероятност тези съобщения са еднакви.

Интернет работната група (IETF) официално описва алгоритмите в следните RFC:

Тези RFC могат да се видят на следния уебсайт: http://www.rfc-editor.org.

VPN мрежите с IPsec осигуряват гъвкава и мащабируема свързаност. Междуклоновите връзки могат да осигурят сигурни, високоскоростни и надеждни отдалечени комуникации. С VPN с IPsec информацията от частната мрежа се предава сигурно през публичната мрежа. Това ви позволява да създадете виртуална мрежа, вместо да използвате специална връзка от слой 2, както е показано на фигурата. За да се гарантира поверителността на данните, трафикът е криптиран.

IPsec е IETF стандарт, който дефинира как се конфигурира сигурна VPN мрежа с помощта на IP.

IPsec е рамка за отворени стандарти, която дефинира правилата за организиране на защитени комуникации. IPsec не е свързан със специфични методи за криптиране и удостоверяване, алгоритми за сигурност или технология за обмен на ключове. IPsec използва съществуващи алгоритми за осигуряване на сигурни комуникации. IPsec ви позволява да създавате нови, по-добри алгоритми, които не е необходимо да коригирате съществуващите IPsec стандарти, за да се разработят.

IPsec работи на мрежовия слой, за да осигури защита и удостоверяване на IP пакети между комуникиращи IPsec устройства, наричани още партньори. IPsec ви позволява да защитите пътя между чифт шлюзове, чифт компютри или между шлюз и компютър. В резултат на това IPsec може да защити практически всеки трафик от приложения, тъй като може да реализира защита от слой 4 до слой 7.

Всички внедрени решения на IPsec използват некриптирана заглавка на Layer 3, така че няма проблеми с маршрутизирането. IPsec работи върху всички протоколи от Layer 2, като Ethernet, ATM и Frame Relay.

Следните са основните характеристики на IPsec:

  • IPsec е рамка за отворени стандарти, независима от алгоритмите.
  • IPsec осигурява поверителността и целостта на данните, както и удостоверяване на източника.
  • IPsec действа като протокол на мрежовия слой, като защитава и удостоверява IP пакети.
  • IP защита

  • Фигурата показва, че услугите за сигурност на IPsec изпълняват следните важни функции:


    • Поверителност (криптиране)- При VPN частните данни се предават през публична мрежа. Следователно гарантирането на поверителността на данните е от ключово значение. За това данните се криптират, преди данните да бъдат предадени по мрежата. Шифроването е процес на кодиране на всички данни, изпратени от един компютър на друг, във форма, която само приемащият компютър може да декодира. Ако съобщението бъде прихванато, нападател (хакер) няма да може да го прочете. IPsec предоставя разширени функции за сигурност (например силни алгоритми за криптиране).
    • Целостта на данните- Получателят може да провери дали данните са били предадени нормално през Интернет и не са били променяни по никакъв начин. Важно е не само да се гарантира, че данните са криптирани в публичната мрежа, но и да се гарантира, че те не са били променяни по време на предаване. IPsec предоставя механизъм за проверка дали няма промени в криптираната част на пакета, в цялата заглавка или в тялото на пакетните данни. IPsec гарантира целостта на данните с помощта на контролни суми (прилага се проста проверка с помощта на излишък). Ако се открие подправяне, пакетът се отстранява.
    • Удостоверяване- ви позволява да проверите кой е източникът на изпратените данни. Това е необходимо за защита срещу атаки, които използват спуфинг (изправяне на подател). Удостоверяването помага да се гарантира, че е установена връзка с правилния комуникационен партньор. Получателят може да провери самоличността на източника на пакета, като удостовери източника на информацията. IPsec използва технологията за обмен на интернет ключове (IKE) за удостоверяване на потребители и устройства, които могат да комуникират независимо. IKE използва различни типове удостоверяване (включително потребителско име и парола, еднократна парола, биометрични данни, предварително споделен ключ (PSK) и цифрови сертификати).
    • Защита от повторно възпроизвеждане- Позволява откриване и отхвърляне на дублиращи се пакети, както и предотвратяване на подправяне. Със защитата срещу повторение можете да гарантирате, че пакетът е уникален и не се дублира. IPsec пакетите се защитават чрез сравняване на поредния номер на получените пакети с плъзгащ се прозорец на хоста на местоназначението или шлюза за сигурност. Пакет с пореден номер, който идва преди плъзгащия се прозорец, се счита за забавен или дублиран. Забавените и дублирани пакети се премахват.

    Съкращението CIA в много случаи напомня за тези три функции: поверителността, целостта и удостоверяването.

  • Структура на протокола IPsec

  • Поверителност

    Поверителността на VPN трафика се поддържа чрез криптиране. Отворените (некриптирани) данни, предавани по интернет, могат да бъдат прихванати и прочетени. Шифроването се използва за запазване на поверителността на данните. Цифрово криптираните данни остават нечетими, докато не бъдат декриптирани от оторизиран получател.

    За да се осигури криптирана комуникация, както подателят, така и получателят трябва да знаят правилата, използвани за трансформиране на оригиналното съобщение в кодирана форма. Правилата се основават на алгоритми и съвпадащи ключове. В контекста на криптирането алгоритъмът е математическа последователност от действия, при която съобщение, текст, числа или всички те се комбинират с низ от числа, наречен ключ. Резултатът се появява като нечетлив криптиран низ. Алгоритъмът за криптиране също така определя как се декриптира криптираното съобщение. Без правилния ключ е почти невъзможно да се декриптират данните.


  • На графиката можете да видите, че Гейл иска да преведе по електронен път средства през интернет на Джеръми. От локална страна документът се комбинира с ключ и се криптира. Резултатът е шифрован текст. След това този шифрован текст се изпраща по интернет. От отдалечената страна съобщението отново се комбинира с ключа и преминава през алгоритъма за криптиране в обратна посока. Резултатът е оригиналният финансов документ.

    Поверителността се постига чрез криптиране на трафика, докато пътува през VPN. Степента на сигурност зависи от дължината на ключа в алгоритъма за криптиране и от сложността на самия алгоритъм. Ако хакер се опита да разбие ключ чрез атака с груба сила, броят на опциите за груба сила ще зависи от дължината на ключа. Времето за обработка на всички възможни опции зависи от процесорната мощност на компютъра на нападателя. Следователно, колкото по-къс е ключът, толкова по-лесно е да се пропука. Например, докато на сравнително мощен компютър е необходима около една година, за да разбие 64-битов ключ, на същия компютър може да са необходими 10 до 19 години, за да разбие 128-битов ключ.

IPsec алгоритми за криптиране

Степента на сигурност зависи от дължината на ключа в алгоритъма за криптиране. С увеличаване на дължината на ключа вероятността от разбиване на шифъра намалява. Въпреки това, колкото по-дълъг е ключът, толкова повече ресурси на процесора ще са необходими за криптиране и декриптиране на данни.

DES и 3DES вече не се считат за сигурни, така че AES се препоръчва за IPsec криптиране. Най-високото ниво на сигурност за VPN криптиране между устройства на Cisco, използващи IPsec, се осигурява от 256-битовата AES опция. В допълнение, с оглед на разбиване на 512-битови и 768-битови ключове Rivest-Shamir-Edelman (RSA), Cisco препоръчва използването на 2048-битови RSA ключове (ако се използват по време на фазата на удостоверяване на IKE).

Симетрично криптиране

Алгоритмите за криптиране като AES изискват споделена тайна за извършване както на криптиране, така и на декриптиране. За да декодират информацията, и двете мрежови устройства трябва да знаят ключа. С криптиране със симетричен ключ (наричано още криптиране с частен ключ), всяко устройство криптира данни, преди да бъде изпратено по мрежата до друго устройство. При симетрично ключово криптиране трябва да знаете кои устройства комуникират помежду си, така че един и същ ключ да може да бъде конфигуриран на всяко устройство (вижте фигура 1).

Например, подателят създава кодирано съобщение, при което всяка буква се променя на следващата буква, две букви по-късно в азбуката (тоест А става C, B става D и т.н.). В този случай думата SECRET става UGETGV. Изпращачът вече е информирал получателя, че секретният ключ е с отместване от 2. Когато получателят получи съобщение UGETGV, неговият компютър декодира съобщението чрез обратно изместване с две букви и получава думата SECRET. Всеки друг потребител, който гледа това съобщение, го вижда в криптирана форма. За да не изглежда подобно съобщение като безсмислица, трябва да знаете секретния ключ.

Следните са характеристиките на симетричните алгоритми:

  • използва се симетрична ключова криптография;
  • един и същ ключ се използва за криптиране и декриптиране;
  • обикновено се използва за криптиране на съдържанието на съобщение.
  • Примери: DES, 3DES и AES

Как устройствата за криптиране и декриптиране могат да получат информация за споделената тайна? Споделените секретни ключове, разбира се, могат да бъдат изпратени до администраторите на устройства по имейл, обикновена поща или куриерска поща. Но друг, по-сигурен начин е асиметричното криптиране.

Асиметрично криптиране

Асиметричното криптиране използва различни ключове за криптиране и декриптиране. Познаването на един от ключовете пречи на хакера да изчисли втория ключ и да декодира информацията. Един ключ се използва за криптиране на съобщението, а вторият за декриптирането му (виж фигура 2). Не можете да извършвате операции по криптиране и декриптиране, като използвате един и същ ключ.

Една от опциите за асиметрично криптиране е криптирането с публичен ключ, което използва комбинация от тайни и публични (публични) ключове. Получателят предоставя публичния ключ на всеки подател, с когото получателят трябва да комуникира. Подателят използва частен ключ за криптиране на съобщението, който се комбинира с публичния ключ на получателя. Освен това подателят трябва да съобщи своя публичен ключ на получателя. Получателят ще използва публичния ключ на подателя заедно със собствения си частен ключ, за да декриптира съобщението.

Следните са характеристиките на асиметричните алгоритми:

  • използва се криптография с публичен ключ;
  • за криптиране и декриптиране се използват различни ключове;
  • често се използва в управлението на цифрови сертификати и ключове.

Алгоритми за целостта и хеширането

Алгоритмите за хеширане се използват за гарантиране на целостта и удостоверяването на VPN трафика. Цялостността на данните и удостоверяването са подсигурени с хеш кодове, които гарантират, че предаваните съобщения няма да бъдат подправени от неупълномощени лица. Хеш-кодът, наричан още обобщение на съобщението, е число, което се генерира от низ от текст. Хеш кодът е по-малък от самия текст. Създава се с помощта на формула по такъв начин, че е изключително малко вероятно да се получи същата стойност на хеш кода от друг текст.

Първоначалният подател генерира хеш на съобщението и го изпраща заедно със самото съобщение. Получателят анализира съобщението и хеш кода, генерира друг хеш код въз основа на получените съобщения и сравнява двата хеш кода. Ако съвпадат, тогава получателят може разумно да е сигурен в целостта на оригиналното съобщение.

Графиката показва, че Гейл е изпратил на Алекс електронен паричен превод от $100. Джеръми прихвана и промени превода, за да покаже, че той е получателят и сумата на превода е 1000 долара. В този случай, ако е използван алгоритъмът за целостта на данните, тогава хеш кодовете няма да съвпадат един с друг и транзакцията ще бъде невалидна.

VPN данни се предават през публичния интернет. Както е показано на фигурата, има възможност за прихващане и промяна на тези данни. Компютрите могат да добавят хеш кодове към съобщенията, за да се предпазят от тази заплаха. Ако предаденият хеш код съвпада с получения хеш код, това означава, че целостта на съобщението е гарантирана. Ако обаче хеш кодовете не съвпадат, съобщението е променено.

VPN мрежите използват код за удостоверяване, за да проверят целостта и автентичността на съобщение, без да използват допълнителни механизми.

Базиран на хеш код за удостоверяване на съобщения (HMAC) е механизъм за удостоверяване на съобщения с помощта на функции за хеширане. HMAC Key Exchange е алгоритъм за целостта на данните, който гарантира целостта на съобщенията. HMAC има два параметъра: съобщението, което трябва да бъде въведено, и таен ключ, известен само на автора на съобщението и целевите получатели. Подателят на съобщението използва функцията HMAC, за да създаде стойност (код за удостоверяване на съобщението), генерирана чрез обработка на секретния ключ и входното съобщение. Кодът за удостоверяване на съобщението се изпраща със съобщението. Получателят изчислява кода за удостоверяване на съобщението в полученото съобщение, като използва същия ключ и HMAC функция, които е използвал подателят. След това приемникът сравнява изчисления резултат с кода за удостоверяване на полученото съобщение. Ако и двете стойности съвпадат, това означава, че е получено правилното съобщение и получателят може да бъде уверен, че подателят е член на общността от потребители, използващи този споделен ключ. Криптографската сила на алгоритъма HMAC зависи от криптографската сила на основната хеш функция, размера и качеството на ключа и дължината на резултата от хеш функцията (в битове).

Има два най-често срещани HMAC алгоритма:

  • MD5- използва се 128-битов споделен секрет. Съобщение с произволна дължина и 128-битова споделена тайна се комбинират един с друг и се обработват от алгоритъма за хеширане на HMAC-MD5. В резултат на това се генерира 128-битов хеш код. Хеш кодът се добавя към оригиналното съобщение и се пренасочва към отдалечената страна.
  • SHA- SHA-1 използва 160-битова споделена тайна. Съобщението с променлива дължина и 160-битовата споделена тайна се комбинират помежду си и се обработват с алгоритъма за хеширане HMAC-SHA1. Резултатът е 160-битов хеш код. Хеш кодът се добавя към оригиналното съобщение и се пренасочва към отдалечената страна.

Забележка... Cisco IOS също така поддържа 256-битови, 384-битови и 512-битови SHA опции.

IPsec удостоверяване

Удостоверяването се поддържа от IPsec VPN. Ако вашите бизнес партньори са на голямо разстояние от вас, тогава е важно да знаете с кого говорите по телефона, кой ви изпраща имейл или факс. Същото важи и за VPN мрежите. Както е показано на фигурата, идентичността на устройството в другия край на VPN тунела трябва да бъде проверена, преди комуникацията да може да се счита за сигурна. Има два метода за удостоверяване на събеседника:

  • PSK- секретен ключ, известен предварително на двама потребители, които комуникират по защитен канал. Предварително споделен ключ (PSK) използва криптографски алгоритми на симетричен ключ. PSK се въвежда ръчно във всеки от комуникиращите възли (връстници) и се използва за взаимно удостоверяване. От всяка страна PSK се комбинира с друга информация, за да образува ключ за удостоверяване.

IPsec използва RSA (Public Key Cryptographic System) за удостоверяване в контекста на IKE. RSA използва схема за цифров подпис, при която всяко устройство цифрово подписва набор от данни и го предава на друг потребител. Алгоритъмът за подписване на RSA използва сертифициращ орган (CA), за да генерира цифров сертификат с уникален идентификатор, който се присвоява на всеки партньор за удостоверяване. Самият сертификат за цифрова идентичност е подобен на PSK, но осигурява много по-високо ниво на сигурност. Всеки инициатор и отговорник в IKE сесия, която използва RSA подписи, изпраща своя собствена стойност на идентичност, своя цифров сертификат за самоличност и стойност на RSA подпис, съставена от множество IKE стойности. Всички тези данни се криптират с помощта на метод за криптиране, договорен с IKE (като AES).

Друг метод за удостоверяване е алгоритъмът за цифров подпис (DSA).

Структура на протокола IPsec

Както бе отбелязано по-горе, пакетът от протоколи IPsec описва метод за съобщения за защита на комуникациите, но се основава на съществуващите алгоритми.

Фигура 1 показва двата основни протокола IPsec:

  • Заглавка за удостоверяване (AH)- AH е специален протокол, използван в случаите, когато поверителността не се изисква или е забранена. Той осигурява удостоверяване и целостта на данните за IP пакети, предавани между две системи. Въпреки това, AH не осигурява конфиденциалност (криптиране) на данните в пакети. Целият текст се предава в чист текст (без криптиране). Ако се използва само протоколът AH (и не се използват други механизми), тогава той осигурява слаба защита.
  • Капсулиране на полезния товар за сигурност (ESP)е протокол за сигурност, който осигурява поверителност и удостоверяване чрез криптиране на IP пакет. Процесът на криптиране на IP пакети скрива данните и идентификаторите на източника и местоназначението. ESP проверява идентичността на вътрешния IP пакет и ESP заглавката. Удостоверяването гарантира идентичността на източника на данни и целостта на данните. Въпреки че процедурите за криптиране и удостоверяване са незадължителни в ESP, трябва да бъде избрана поне една от тях.

На фиг. Фигура 2 показва компонентите на конфигурацията на IPsec. Има четири основни градивни елемента на IPsec рамката, които трябва да изберете.


  • Поверителност (ако е избран IPsec с ESP)- избраният алгоритъм за криптиране трябва да осигури необходимото ниво на сигурност по възможно най-добрия начин: DES, 3DES или AES. AES е силно препоръчителен (AES-GCM осигурява най-високо ниво на сигурност).
  • Интегритет- гарантира, че съдържанието не е променено по време на прехвърлянето. За изпълнение на тази функция се използват алгоритми за хеширане. Можете да изберете MD5 и SHA.
  • Удостоверяване- Определя как устройствата в двата края на VPN тунела се удостоверяват. Наличните опции са PSK или RSA.
  • DH алгоритъм група- дефинира метод за генериране на споделен секрет между възлите. Има няколко опции, но DH24 осигурява най-високо ниво на сигурност.

Тези градивни елементи се комбинират, за да осигурят конфиденциалност, цялост и удостоверяване за VPN през IPsec.

Забележка... Този раздел предоставя общ преглед на IPsec, за да ви помогне да разберете как IPsec защитава VPN тунели. Процесът на конфигуриране на IPsec VPN е извън обхвата на този курс.

(Internet Security Association and Key Management Protocol (ISAKMP)) – Управление на ключове и удостоверители на защитени връзки.

  • RFC 2409 (The Internet Key Exchange (IKE)) - Обмяна на ключове.
  • RFC 2410 (Нулевият алгоритъм за криптиране и неговото използване с IPsec) - Алгоритъмът за нулево криптиране и неговото използване.
  • RFC 2411 (Пътна карта на документа за сигурност на IP) – По-нататъшно развитие на стандарта.
  • RFC 2412 (Протоколът за определяне на ключ OAKLEY) – Проверка на съответствието на ключа.
  • IPsec архитектура

    IPsec, за разлика от други добре познати SSL и TLS протоколи, работи на мрежовия слой (слой 3 на модела OSI). Това прави IPsec по-гъвкав, така че да може да се използва за защита на всеки базиран на TCP и UDP протокол. IPsec може да се използва за осигуряване на сигурност между два IP хоста, между два шлюза за сигурност или между IP хост и шлюз за сигурност. Протоколът е "добавка" към IP протокола и обработва генерираните IP пакети по описания по-долу начин. IPsec може да гарантира целостта и/или поверителността на данните, предавани по мрежа.

    IPsec използва следните протоколи за изпълнение на различни функции:

    • Заглавката за удостоверяване (AH) осигурява целостта на виртуалната връзка (предадени данни), удостоверяване на източника на информация и допълнителна функция за предотвратяване на повторно предаване на пакети
    • Encapsulating Security Payload (ESP) може да осигури конфиденциалност (криптиране) на предаваната информация, ограничавайки потока от поверителен трафик. В допълнение, той може да гарантира целостта на виртуалната връзка (предавани данни), удостоверяване на източника на информация и допълнителна функция за предотвратяване на повторно предаване на пакети (Винаги когато се използва ESP, е задължително да се използва един или друг набор от услуги за сигурност)
    • Асоциацията за сигурност (SA) предоставя куп алгоритми и данни, които предоставят параметрите, необходими за функционирането на AH и/или ESP. Протоколът за асоцииране на интернет сигурност и управление на ключове (ISAKMP) предоставя рамка за удостоверяване и обмен на ключове, удостоверяване на ключове.

    Асоциация за сигурност

    Концепцията за асоцииране на сигурността (SA) е основна за архитектурата на IPsec. SA е симплексна връзка, която се формира за пренасяне на съответния трафик над нея. При внедряване на услуги за сигурност, SA се формира въз основа на използването на протоколите AH или ESP (или и двата едновременно). SA се дефинира според концепцията от точка до точка и може да работи в два режима: транспортен режим (PTP) и режим на тунелиране (RTU). Транспортният режим се реализира със SA между два IP възела. В режим на тунелиране SA образува IP тунел.

    Всички SA се съхраняват в SADB (база данни за асоциации за сигурност) на модула IPsec. Всеки SA има уникален маркер, състоящ се от три елемента:

    • Индекс на параметрите за сигурност (SPI)
    • IP адреси на дестинацията
    • идентификатор на протокола за сигурност (ESP или AH)

    Модулът IPsec, като се имат предвид тези три параметъра, може да търси записа на SADB за конкретен SA. Списъкът с компоненти на SA включва:

    Сериен номер 32-битова стойност, която се използва за формиране на полето Пореден номерв заглавията AH и ESP. Препълване на брояча на поредния номерФлаг, който сигнализира за препълване на брояча на серийните номера. Прозорец за потискане на атаки на повторениеИзползва се за дефиниране на повторно предаване на пакети. Ако стойността в полето Пореден номерне попада в посочения диапазон, тогава пакетът се унищожава. Информация AHизползван алгоритъм за удостоверяване, необходими ключове, живот на ключа и други параметри. ESP информацияалгоритми за криптиране и удостоверяване, необходими ключове, параметри за инициализация (например IV), продължителност на живота на ключовете и други параметри IPsec режим на работатунел или транспорт MTUМаксималният размер на пакета, който може да бъде предаден през VC без фрагментация.

    Тъй като защитените виртуални връзки (SA) са симплексни, са необходими поне два SA за установяване на дуплексна връзка. Освен това всеки протокол (ESP / AH) трябва да има свой собствен SA за всяка посока, тоест пакетът AH + ESP изисква четири SA. Всички тези данни се намират в SADB.

    • AH: Алгоритъм за удостоверяване.
    • AH: таен ключ за удостоверяване
    • ESP: алгоритъм за криптиране.
    • ESP: таен ключ за криптиране.
    • ESP: използвайте удостоверяване (да / не).
    • Опции за обмен на ключове
    • Ограничения за маршрутизиране
    • Политика за IP филтриране

    В допълнение към базата данни SADB, реализациите на IPsec поддържат базата данни за политики за сигурност (SPD). Записът в SPD се състои от набор от стойности на полето за заглавка на IP и полета за заглавка на протокола на горния слой. Тези полета се наричат ​​селектори. Селекторите се използват за филтриране на изходящи пакети, за да се съпоставят всеки пакет с определен SA. Когато се формира пакет, стойностите на съответните полета в пакета (селекторни полета) се сравняват с тези, съдържащи се в SPD. Намерени са съответните SA. След това SA, ако има такъв, се определя за пакета и свързания с него индекс на параметрите на сигурност (SPI). След това се извършват IPsec операции (операции на протокола AH или ESP).

    Примери за селектори, които се съдържат в SPD:

    • IP адрес на местоназначението
    • IP адрес на подателя
    • IPsec протокол (AH, ESP или AH + ESP)
    • Портове на изпращача и получателя

    Заглавка за удостоверяване

    Заглавка за удостоверяванеформат
    Компенсации октет 16 0 1 2 3
    октет 16 Бит 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 Следващо заглавие Полезен товар Лен Запазено
    4 32
    8 64 Пореден номер
    ° С 96 Стойност за проверка на целостта (ICV)
    Следващо заглавие(8 бита) Тип заглавка на протокола след AH заглавката. Използвайки това поле, приемащият IP-sec модул научава за защитения протокол от по-високо ниво. Стойностите на това поле за различни протоколи могат да бъдат намерени в RFC 1700. Полезен товар Лен(8 бита) Това поле определя общия размер на AH заглавката в 32-битови думи, минус 2. Въпреки това, когато се използва IPv6, дължината на заглавката трябва да бъде кратна на 8 байта. Запазено(16 бита) Запазено. Изпълнен с нули. Индекс на параметрите за сигурност(32 бита) Индекс на параметрите за сигурност. Стойността на това поле, заедно с IP адреса на получателя и протокола за защита (AH протокол), уникално идентифицира защитената виртуална връзка (SA) за този пакет. Диапазонът от стойности на SPI 1 ... 255 е запазен от IANA. Пореден номер(32 бита) Пореден номер. Служи за защита срещу повторно предаване. Полето съдържа монотонно нарастваща стойност на параметъра. Въпреки че получателят може да се откаже от услугата за защита от повторно предаване на пакети, тя е задължителна и винаги присъства в AH заглавката. Изпращащият IPsec модул винаги използва това поле, но приемникът може да не го обработи. Стойност за проверка на целостта

    Протоколът AH се използва за удостоверяване, тоест за потвърждение, че комуникираме точно с тези, които смятаме, че сме и че данните, които получаваме, не са повредени при пренасяне.

    Обработка на изходящи IP пакети

    Ако изпращащият IPsec модул определи, че пакетът е свързан със SA, който предполага AH обработка, тогава той започва обработка. Той вмъква AH заглавката в IP пакета по различен начин в зависимост от режима (транспорт или тунелиране). В транспортен режим заглавката AH се поставя след заглавката на IP протокола и преди заглавките на протокола на горния слой (обикновено TCP или UDP). В режим на тунелиране целият оригинален IP пакет се поставя в рамка първо с AH заглавка, след това с IP заглавка. Тази заглавка се нарича външна, а заглавката на оригиналния IP пакет се нарича вътрешна. След това предаващият IPsec модул трябва да генерира пореден номер и да го запише в полето Пореден номер... Когато SA е установен, поредният номер се задава на 0 и се увеличава с едно преди изпращане на всеки IPsec пакет. Освен това има проверка дали броячът е зациклил. Ако достигне максималната си стойност, тя се нулира на 0. Ако се използва услугата против повторно предаване, когато броячът достигне максималната си стойност, изпращащият модул IPsec нулира SA. По този начин се осигурява защита срещу повторно предаване на пакети - приемащият IPsec модул ще провери полето Пореден номери игнорирайте пакетите за повторен опит. След това се изчислява контролната сума на ICV. Трябва да се отбележи, че тук контролната сума се изчислява с помощта на таен ключ, без който нападателят ще може да изчисли отново хеша, но без да знае ключа, той няма да може да формира правилната контролна сума. Специфичните алгоритми, използвани за изчисляване на ICV, могат да бъдат намерени в RFC 4305. В момента могат да се използват например алгоритмите HMAC-SHA1-96 или AES-XCBC-MAC-96. Протоколът AN изчислява контролната сума (ICV) за следните полета в пакета IPsec:

    • Полетата на IP заглавката, които не са били променени по време на излъчването или са идентифицирани като най-важни
    • AH-заглавка (Полета: „Следващо заглавие“, „Полезен товар“, „Резервирано“, „SPI“, „Пореден номер“, „Стойност за проверка на целостта“. Полето „Стойност за проверка на целостта“ е настроено на 0 при изчисляване на ICV
    • данни от протокола на горния слой
    Ако полето може да се промени по време на транспортиране, тогава неговата стойност се задава на 0 преди да се изчисли ICV. Изключения са полета, които могат да се променят, но чието значение може да бъде предвидено при получаване. При изчисляване на ICV те не се пълнят с нули. Пример за променящо се поле би било полето за контролна сума, пример за модифицирано, но предварително дефинирано поле може да бъде IP адресът на получателя. По-подробно описание на това кои полета се вземат предвид при изчисляване на ICV може да се намери в стандарта RFC 2402.

    Обработка на входящи IP пакети

    След получаване на пакет, съдържащ AH съобщение, модулът за получаване на IPsec търси съответна защитена виртуална връзка (SA) на базата данни за асоциации за сигурност (SA), използвайки IP адреса на местоназначението, протокола за сигурност (AH) и SPI. Ако не бъде намерен съответстващ SA, пакетът се изхвърля. Намерена защитена виртуална връзка (SA) показва дали се използва услугата за предотвратяване на повторно предаване на пакети, т.е. относно необходимостта от проверка на полето Пореден номер... Ако се използва услугата, полето се поставя отметка. За това се използва методът на плъзгащи се прозорци. Модулът за получаване на IPsec образува прозорец с ширина W. Левият ръб на прозореца съответства на минималния пореден номер ( Пореден номер) N правилно получен пакет. Пакет с поле Пореден номер, който съдържа стойност, започваща от N + 1 и завършваща с N + W, се приема правилно. Ако полученият пакет е в лявата граница на прозореца, той се унищожава. След това модулът за получаване на IPsec изчислява ICV от съответните полета на получения пакет, използвайки алгоритъма за удостоверяване, който научава от SA записа, и сравнява резултата със стойността на ICV, намираща се в полето "Стойност за проверка на Integrity". Ако изчислената стойност на ICV съвпада с получената, тогава входящият пакет се счита за валиден и се приема за по-нататъшна IP обработка. Ако проверката е отрицателна, тогава полученият пакет се отхвърля.

    Капсулиране на полезния товар за сигурностформат
    Компенсации октет 16 0 1 2 3
    октет 16 Бит 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 Индекс на параметрите за сигурност (SPI)
    4 32 Пореден номер
    8 64 Данни за полезен товар
    Допълване (0-255 октета)
    Дължина на подложката Следващо заглавие
    Стойност за проверка на целостта (ICV)
    Индекс на параметрите за сигурност(32 бита) Индекс на параметрите за сигурност. Стойността на това поле, заедно с IP адреса на получателя и протокола за защита (AH протокол), уникално идентифицира защитената виртуална връзка (SA) за този пакет. Диапазонът от стойности на SPI 1 ... 255 е запазен от IANA за бъдеща употреба. Пореден номер(32 бита) Пореден номер. Служи за защита срещу повторно предаване. Полето съдържа монотонно нарастваща стойност на параметъра. Въпреки че получателят може да откаже услугата за защита от повторно предаване на пакети, тя винаги присъства в заглавката AH. Подателят (изпращащият IPsec модул) ТРЯБВА винаги да използва това поле, но може да не се наложи получателят да го обработва. Данни за полезен товар(променлива) Това поле съдържа данни според полето "Следващо заглавие". Това поле е задължително и се състои от цял ​​брой байтове. Ако алгоритъмът, който се използва за криптиране на това поле, изисква данни за синхронизиране на криптопроцеси (например "Вектор за инициализация"), тогава това поле може да съдържа тези данни в изричен вид. Подплънки(0-255 октета) Събиране. Необходим е например за алгоритми, които изискват откритият текст да бъде кратен на определен брой байтове), например размерът на блока за блоков шифър. Дължина на подложката(8 бита) Размер на запълване (в байтове). Следващо заглавие(8 бита) Това поле определя типа данни, съдържащи се в полето „Полезни данни“. Стойност за проверка на целосттаЧекова сума. Трябва да е кратно на 8 байта за IPv6 и 4 байта за IPv4.

    Изходна обработка на IPsec пакети

    Ако изпращащият модул IPsec определи, че пакетът е свързан със SA, който очаква ESP обработка, тогава той започва да обработва. В зависимост от режима (транспорт или тунелиране), оригиналният IP пакет се обработва по различен начин. В транспортен режим изпращащият IPsec модул изпълнява процедурата за кадриране (капсулиране) на протокола на горния слой (например TCP или UDP), използвайки ESP заглавката и ESP трейлъра, без да засяга заглавката на оригиналния IP пакет. В режим на тунелиране IP пакетът е рамкиран от ESP заглавка и ESP трейлър и след това е рамкиран от външен IP заглавка. След това се извършва криптиране - в режим на транспорт, само съобщението на протокола се криптира над основния слой (т.е. всичко, което е било след IP заглавката в оригиналния пакет), в режим на тунелиране, целият оригинален IP пакет е криптиран. Изпращащият IPsec модул определя алгоритъма за криптиране и секретния ключ от SA записа. Стандартите IPsec позволяват използването на алгоритми за криптиране с троен DES, AES и Blowfish. Тъй като размерът на открития текст трябва да бъде кратен на определен брой байтове, например размерът на блока за блоковите алгоритми, необходимото добавяне на криптираното съобщение също се извършва преди криптирането. Шифрованото съобщение се поставя в полето Данни за полезен товар... В полето Дължина на подложкатапасва на дължината на подплата. След това, както в AH, той изчислява Пореден номер... След това се изчислява контролната сума (ICV). Контролната сума, за разлика от протокола AH, където някои полета на IP хедъра също се вземат предвид при изчисляването му, в ESP се изчислява само от полетата на ESP пакета минус полето ICV. Преди да се изчисли контролната сума, тя се попълва с нули. Алгоритъмът за изчисляване на ICV, както в протокола AH, изпращащият IPsec модул научава от записа за SA, с който е свързан пакетът, който се обработва.

    Обработка на входящи IPsec пакети

    При получаване на пакет, съдържащ съобщение за протокол ESP, модулът за получаване на IPsec търси съответната защитена виртуална връзка (SA) в базата данни за асоциации за сигурност (SADB), използвайки IP адреса на местоназначението, протокола за защита (ESP) и SPI индекса. Ако не бъде намерен съответстващ SA, пакетът се изхвърля. Намерена защитена виртуална връзка (SA) показва дали се използва услугата за предотвратяване на повторно предаване на пакети, т.е. необходимостта от проверка на полето Номер на поредицата. Ако се използва услугата, полето се поставя отметка. За това, както и при AH, се използва методът на плъзгащия се прозорец. Приемащият IPsec модул образува прозорец с ширина W. Левият край на прозореца съответства на минималния пореден номер N на правилно получен пакет. Пакет с поле за пореден номер, съдържащо стойност, варираща от N + 1 до N + W, се приема правилно. Ако полученият пакет е в лявата граница на прозореца, той се унищожава. След това, ако се използва услугата за удостоверяване, модулът за получаване на IPsec изчислява ICV от съответните полета на получения пакет, използвайки алгоритъма за удостоверяване, който научава от SA записа, и сравнява резултата със стойността на ICV, намираща се в „Стойност за проверка на целостта“ поле. Ако изчислената стойност на ICV съвпада с получената, тогава входящият пакет се счита за валиден. Ако проверката е отрицателна, тогава полученият пакет се отхвърля. След това пакетът се декриптира. IPsec приемникът научава от SA записа кой алгоритъм за криптиране и таен ключ се използват. Трябва да се отбележи, че процедурата за проверка и декриптиране на контролната сума може да се извърши не само последователно, но и паралелно. В последния случай процедурата за контролна сума трябва да приключи преди процедурата по декриптиране и ако ICV проверката не успее, процедурата по декриптиране също трябва да спре. Това позволява по-бързо откриване на лоши пакети, което от своя страна подобрява защитата срещу атаки на отказ на услуга (DOS). Освен това, декриптираното съобщение в съответствие с полето Следващо заглавиепрепратени за по-нататъшна обработка.

    Използване

    IPsec се използва предимно за VPN тунели. В този случай протоколите ESP и AH работят в режим на тунелиране. Освен това, чрез конфигуриране на политиките за сигурност по специфичен начин, протоколът може да се използва за създаване на защитна стена. Смисълът на защитната стена е, че контролира и филтрира пакетите, преминаващи през нея, в съответствие с определени правила. Създава се набор от правила и екранът разглежда всички пакети, преминаващи през него. Ако предаваните пакети са обект на тези правила, защитната стена ги обработва съответно. Например, той може да отхвърли определени пакети, като по този начин прекрати несигурни връзки. Като коригирате съответно политиката за сигурност, можете например да откажете интернет трафика. За да направите това, достатъчно е да забраните изпращането на пакети, в които са вградени съобщения от протоколите HTTP и HTTPS. IPsec може също да се използва за защита на сървъри чрез изхвърляне на всички пакети, с изключение на тези, необходими за правилното изпълнение на функциите на сървъра. Например, можете да блокирате целия трафик за уеб сървъра с изключение на връзки през TCP порт 80 или през TCP порт 443 в случаите, когато се използва HTTPS.

    Вижте също

    Връзки

    • Описание на конфигурацията на IPSec (cisco.com)