Bí a ṣe lè ka ìpààrọ IKEv2 àkọ́kọ́ nínú gbígbà pákẹ́tì
So ìbéèrè àti ìdáhùn IKE_SA_INIT pọ̀ nípasẹ̀ SPI àti ID ìfiránṣẹ́, ya IKE sọ́tọ̀ kúrò nínú ESP tí a fi pamọ́ lórí 4500, kí o sì wo ohun tí ìtọ́ka ìdákẹ́jẹ́ lè fi hàn.
Àwọn gbígbà tí a ṣe ní àárín ìpàdé ni ìdí tí ó wọ́pọ̀ tí ìtọ́ka IKEv2 fi dàbí ariwo, nítorí àwọn ẹgbẹ́ ti ń sọ kọ́kọ́rọ́ di tuntun tàbí ń pààrọ̀ ẹrù tí a fi pamọ́ nígbà tí gbígbà bẹ̀rẹ̀. Bẹ̀rẹ̀ ní ìgbìyànjú ìsopọ̀ tuntun ní àkókò yìí kí ìfiránṣẹ́ àkọ́kọ́ nínú fáìlì jẹ́ èyí tí ó ṣí ìjíròrò. Ìtò kíkà ní ìsàlẹ̀ gbà èyí, ó sì fi àmì sí àyè tí pákẹ́tì ti dá ṣíṣe ìjẹ́rìí ohunkóhun nípa ìparí ọ̀nà jínjìn. Gbígbé ìgbésẹ̀ yẹn kọjá ni bí a ṣe ń dálẹ́bi ọ̀nà tí ó ń ṣiṣẹ́ gẹ́gẹ́ bí ebute tí a ti dí.
Jẹ́rìí pé ìwọ ń wo ìpààrọ ìbẹ̀rẹ̀
Ìjíròrò IKEv2 bẹ̀rẹ̀ pẹ̀lú IKE_SA_INIT, irú ìpààrọ 34, ID ìfiránṣẹ́ 0. Ẹni tí ó bẹ̀rẹ̀ yan SPI tí kì í ṣe òdo, SPI ẹni tí ó dáhùn sì jẹ́ òdo nínú ìbéèrè àkọ́kọ́ yẹn àti kì í ṣe òdo nínú ìdáhùn. Àwọn òtítọ́ mẹ́ta yẹn ya ìgbìyànjú tuntun sọ́tọ̀ kúrò nínú ìsọdọ̀tun kọ́kọ́rọ́ tàbí kúrò nínú ìfiránṣẹ́ IKE_AUTH tí ó wà ní orí gbígbà.
Àwọn pápá orí jẹ́ kíkà, àti àwọn ẹrù ìmọ̀ràn, ìpààrọ kọ́kọ́rọ́ àti nonce pẹ̀lú. Kíkà kì í ṣe ìjẹ́rìí: kò sí ẹgbẹ́ tí ó ti fi ìdánimọ̀ hàn ní àyè yìí, àti iye àṣírí Diffie-Hellman kì í farahàn lórí okùn.
Tẹ̀ àwọn pápá jáde gẹ́gẹ́ bí tábìlì dípò kíkà kiri nínú pánẹ́ẹ̀lì ìtúmọ̀, nítorí àtúnfiránṣẹ́ àti SPI tí kò bára mu máa ń hàn gbangba nínú àwọn ìlà.
tshark -r ike.pcapng -Y "isakmp" -T fields -e frame.number -e ip.src -e udp.srcport -e isakmp.exchangetype -e isakmp.messageid -e isakmp.initiator_spi -e isakmp.responder_spi
Ka àbájáde ní orísirísi méjì. Ìbéèrè pẹ̀lú ID ìfiránṣẹ́ 0 tí ìdáhùn tí ó gbé ID kan náà àti SPI ẹni tí ó dáhùn tí kì í ṣe òdo tẹ̀le ni ìpààrọ kan, bí ó tilẹ̀ farahàn ní ìgbà mẹ́ta nítorí a tún ìbéèrè ránṣẹ́. Àwọn ìbéèrè mẹ́ta tí ó jọra kì í ṣe ìwọlé mẹ́ta, àti gbígbà wọ́n bẹ́ẹ̀ ni ọ̀nà tí àwọn ènìyàn fi ń parí pé alábàáṣiṣẹ́ ń yí ká nígbà tí ó kàn ń ní sùúrù. Tò wọ́n ní ìbámu pẹ̀lú ID ìfiránṣẹ́, lẹ́yìn náà pẹ̀lú àmì àkókò, gbogbo ìjíròrò yóò sì dín kù sí àkọsílẹ̀ ìgbìyànjú kúkúrú.
Ka ìkọ̀sílẹ̀ kí o tó ka àṣeyọrí
Ìdáhùn kì í ṣe ìtẹ̀síwájú fúnra rẹ̀. Ẹni tí ó dáhùn lè dáhùn pẹ̀lú ìwífún cookie kí ó sì retí pé ẹni tí ó bẹ̀rẹ̀ yóò tún gbìyànjú, tàbí pẹ̀lú INVALID_KE_PAYLOAD tí ó dárúkọ ẹgbẹ́ tí yóò kàyé fọwọ́ sí. Àwọn méjèèjì wá gẹ́gẹ́ bí ìfiránṣẹ́ IKE tí ó dára, àwọn méjèèjì sì dàbí ìpààrọ tí ó parí fún àyọ̀tọ̀ tí ń ka pákẹ́tì nìkan.
Ṣí ẹrù ìwífún kí o sì ka irú rẹ̀ kí ó tó jẹ́ ohunkóhun mìíràn. Ìpenija cookie túmọ̀ sí pé ẹni tí ó dáhùn ń dáàbò bò ó lọ́wọ́ àwọn àdírẹ́sì orísun ẹlẹ́tàn, ẹni tí ó béèrè sì gbọdọ̀ tún ránṣẹ́ pẹ̀lú cookie. Ẹgbẹ́ tí kò tọ́ túmọ̀ sí pé àwọn ìmọ̀ràn méjèèjì kò bára mu, èyí tí kò ìgbìyànjú kankan lè yí padà títí ìṣètò ẹgbẹ́ kan yóò fi yí.
IKE_AUTH nìkan, ìyẹn ìpààrọ kejì, ni ó gbé ìdánimọ̀ tí a fi pamọ́ àti àwọn ẹrù ìjẹ́rìí. Nítorí náà IKE_SA_INIT tí ó parí sọ fún ọ pé àwọn ẹgbẹ́ gbà lórí àwọn alugorídìmù àti àwọn kọ́kọ́rọ́ tí a yọ jáde, kò sì sọ ohunkóhun nípa bóyá a ó gbà àwọn ẹ̀rí. Retí ìfiránṣẹ́ méjì níbẹ̀ pẹ̀lú, kí o sì retí pé àwọn méjèèjì yóò ṣókùnkùn láìsí àwọn kọ́kọ́rọ́ ìpàdé.
Ebute 4500 kì í ṣe ìlànà kan
UDP 500 sábà máa ń gbé ìpààrọ ìbẹ̀rẹ̀. Nígbà tí ìdánimọ̀ NAT bá ti ṣiṣẹ́, IKE yóò lọ sí 4500 yóò sì fi àmì òdo báìtì mẹ́rin tí kì í ṣe ESP síwájú gbogbo ìfiránṣẹ́. ESP tí a fi pamọ́ lórí ebute kan náà yóò bẹ̀rẹ̀ pẹ̀lú SPI ESP tí kì í ṣe òdo, NAT keepalive báìtì kan sì jẹ́ ìrísí kẹta tí ó farahàn nígbà tí kò sí ohun mìíràn tí ń ṣẹlẹ̀.
Àyọ̀tọ̀ tí ó bára mu pẹ̀lú ebute nìkan ń dàpọ̀ àwọn mẹ́tẹ̀ẹ̀ta, ìdí nìyẹn tí "ọ̀nà ń ṣiṣẹ́ lórí 4500" fi ń pinnu díẹ̀. Ya ojú wo ní ìbámu pẹ̀lú ìlànà kí o tó parí ohunkóhun nípa ìparí ọ̀nà jínjìn.
tshark -r ike.pcapng -Y "udp.port == 4500 && isakmp" -T fields -e frame.number -e isakmp.exchangetype tshark -r ike.pcapng -Y "udp.port == 4500 && !isakmp" -T fields -e frame.number -e esp.spi
Ìdákẹ́jẹ́ ń ṣàpèjúwe àyè àkíyèsí
Àwọn ìbéèrè tí kò ní ìdáhùn fi ohun kan péré múlẹ̀: ní àyè gbígbà yẹn kò sí ìdáhùn tí ó farahàn. Àyọ̀tọ̀, ọ̀nà tí ó fi ìdáhùn ránṣẹ́ sí ibòmíràn, ẹni tí ó dáhùn tí kò lè dé, tàbí ẹni tí ó dáhùn tí kò fẹ́ ìmọ̀ràn náà—gbogbo wọn ń fún èsì òfo kan náà, àti àyẹ̀wò UDP gbogbogbò kò ní ya wọ́n sọ́tọ̀.
ICMP àìdé jẹ́ ẹ̀rí irú mìíràn. Ka pákẹ́tì tí a tọ́ka sí nínú rẹ̀ kí o sì dámọ̀ irú ẹ̀rọ tí ó gbé e jáde, nítorí ìkọ̀sílẹ̀ ìṣàkóso olùdarí ọ̀nà kì í ṣe àṣìṣe tí a jẹ́rìí láti ìparí ọ̀nà jínjìn.
tshark -r ike.pcapng -Y "icmp.type == 3" -T fields -e frame.number -e ip.src -e icmp.code
So ìgbìyànjú kan náà pọ̀ mọ́ àwọn àkọsílẹ̀ ẹgbẹ́ olùpèsè níbi tí a ti gbà ọ́ láàyè láti kà wọ́n. Ṣé ìbéèrè dé, ṣé iṣẹ́ náà dáhùn, àti níbo ni ìdáhùn dúró? Àwọn ìdáhùn mẹ́ta yẹn rán ọ lọ sí ìṣòro ọ̀nà tàbí ìṣòro ìlànà, wọ́n sì kéré ju yíyí ẹ̀rí padà ní ìgbà kẹrin.