Жаңы IKE_SA_INIT алмашуусун жазуудан кантип окуу керек
Жаңы IKEv2 сүйлөшүүсү ачкычтар пайда боло электе эле окулат. Аракетти жазып алыңыз, аталышты окуңуз, жоопту дал келтириңиз жана 4500 портунда IKEни ESPден ажыратыңыз.
Аракеттин биринчи пакетине чейин башталган жазуудан баштаңыз, болбосо сүйлөшүүнүн ортосун окуйсуз. Мурунтан жүрүп жаткан сүйлөшүү шифрленген алмашууларды жана ачкыч жаңыртууларды көрсөтөт, алардын эч бири ачылышка окшошпойт. Ачылыш — ачкычсыз чечмелөөгө боло турган бөлүк, ошондуктан ал жеткиликтүүлүк суроолоруна ушунчалык жакшы жооп берет. Кезеги менен жасалган төрт текшерүү сизди жаңы жазуудан кайсы тарап сүйлөөнү токтоткону жөнүндө коргогон бүтүмгө алып барат.
Биринчиден, жазуу башынан башталарын ырастаңыз
Туннель көтөрүлгөндөн кийин башталган жазуу капталган маалымат агымын жана мезгилдик keepalive билдирүүлөрүн камтыйт, экөө тең же шифрленген, же дээрлик бош. Клиентти кайра иштетип, аракеттин өзүн жазып алыңыз, же жазуу жүрүп жатканда атайын жаңы туташуу жаратыңыз. Жаңы аракет жарата албасаңыз, муну жазууларыңызга жазыңыз, анткени эч кандай чечмелөө эч качан жазбаган ачылышыңызды кайтара албайт.
Жазууну эки акыркы чекит менен жана UDP 500 жана 4500 менен чектеңиз, файл окууга жарактуу кичине бойдон калсын. Жүктөлгөн хостто чыпкасыз жазуу сүйлөшүүнү байланышсыз трафиктин астына көмөт.
tcpdump -i any -n -s 0 -w fresh-ike.pcap 'udp port 500 or udp port 4500'Аракет кызыктуу болгондо файлды сактаңыз, анткени ошол эле жазуу кийинки эки суроого жооп берет: алмашуу эмне болду жана бир нерсе кайттыбы. Аны башталган убакыт жана сиз чыпкалаган акыркы чекиттер жубу менен белгилеңиз. Ушул эки фактысыз жазуу бир жумадан кийин пайдасыз, даректер өзгөрүп, кайсы аракет жазылганын эч ким эстебей калганда.
Экинчиден, пайдалуу жүктөрдөн мурун аталышты окуңуз
IKE аталышы коопсуздук параметринин индекстерин, алмашуу түрүн жана билдирүү IDсин алып жүрөт, жаңы сүйлөшүүдө бул маанилер өзгөчө. Баштоочу нөлгө барабар эмес SPI ойлоп табат, баштапкы суроо жооп берүүчүнүн нөлдүк SPIсин алып жүрөт, анткени азырынча жооп көрүнө элек, алмашуу түрү IKE_SA_INIT, ал эми билдирүү IDси нөл. Калганынын баары ошол сүйлөшүүнүн кийинки этабына же таптакыр башка аракетке таандык.
Бул биринчи алмашуудагы сунуш, ачкыч алмашуу жана nonce жүктөрү ачык түрдө окулат. Окулушу аутентификация эмес, жана бул этапта эч бир тарап өз инсандыгын далилдеген эмес.
Жеке Diffie-Hellman мааниси эч качан зымдан өтпөйт, ошондуктан жазуу сессия ачкычтарын алууга мүмкүндүк бербейт. Аутентификация кийинки алмашууда болот, ал биринчиси келишкен нерсе менен корголгон. Эгер бирөө тараптын чыныгылыгын сураса, бул алмашуу ал суроого жооп бере албайт. Ал эки тарап сунушка келишип, файлда жок жалпы сыр түзгөнүн гана көрсөтө алат.
Үчүнчүдөн, суроону анын жообу менен дал келтириңиз
SPI жубу, алмашуу түрү жана билдирүү IDси боюнча дал келтириңиз, анан жооп туусун текшериңиз. Кайра жиберүү түпнусканын билдирүү IDсин кайталайт жана экинчи кирүү аракети эмес. Алмашуулардын ордуна пакеттерди саноо — соо сүйлөшүүнүн элес циклге айлануучу жолу.
Жооп баш тартуу да болушу мүмкүн: cookie суроосу, кабыл алынбаган топ жөнүндө билдирүү же сунуш тууралуу ката. Бул мыйзамдуу жооптор жана жол иштеп жатканын, ал эми саясат иштебей жатканын билдирет. Ар бир жоопту ийгилик деп эсептөөнүн ордуна билдирүүнү чечмелеңиз. Билдирүү топту же сунушту атаганда, оңдоо файрволдо эмес, конфигурация тарабында.
Багыт да маанилүү. Жоопсуз суроо жана клиентке эч качан жетпеген жооп — ар башка бузулуулар, жана клиент тарабындагы убакыт бүтүүгө экинчиси гана окшош.
Төртүнчүдөн, 4500дө IKEни калган баарынан бөлүңүз
4500 порту корутунду көрүнүштө окшош көрүнгөн үч нерсени алып жүрөт: төрт байттык нөлдүк non-ESP маркеринин артындагы IKE, маркер ордунда нөлгө барабар эмес SPI бар капталган ESP жана кыска keepalive билдирүүлөрү. IKEни капталган ESPден ажырата турган дал ошол маркер, ошондуктан трафикти IKE деп атаардан мурун ошол байттарды окуңуз. 4500 деп окулган жазуу белгиси — порт номери, протокол эмес.
Капталган ESP — ачкычсыз чечмелөөгө болбой турган шифрленген жүк, жана анын болушу бузулуу эмес, иштеп жаткан туннелдин белгиси болушу мүмкүн.
Ошол эле аракет үчүн эки портту тең көзөмөлдөңүз, анткени IKE 500дө ачылса да NAT аныкталгандан кийин 4500гө өтүшү мүмкүн. 500гө гана чыпкаланган из сүйлөшүү ийгиликтүү болуп, ордун алмаштырганда гана тынч көрүнөт. Чыпканы кеңейтип, жоктугунан кандайдыр бир тыянак чыгарбастан мурун ошол эле убакыт терезесин кайра окуңуз.
Бир байкоо чекитиндеги тынчтык эмнени билдирет
Клиентте жооптун жоктугу ошол чекит байкаганды гана далилдейт. Чыпкалоо, маршруттоо, туура эмес алыскы дарек, токтогон кызмат жана протокол шайкешсиздиги — баары бирдей бош из берет.
Тиешелүү ICMP unreachable далил кошот, бирок анын ичиндеги цитаталанган пакетти окуп, аны жиберген түзмөктүн дарегин белгилеңиз.
Маршрутизатордун баш тартуусу — тарап кайтарган аутентификацияланган катадан башка окуя, жана кызматтын тирүү экенин экинчиси гана далилдейт. Ошол эле аракетти сервер журналдары же уруксат берилген байкоо менен байланыштырып, суроо келгенин жана жооп чыкканын билиңиз. Жазууларды чектелүү жана жеке кармаңыз, анткени окула турган кол алышуу талаалары файлдын калганын зыянсыз кылбайт. Баалуу натыйжа — бир дал келтирилген суроо жана жооп, же аталган байкоо чекити бар бир документтелген боштук.