Kí ni ìdí tí tcpdump fi ń fi ọ̀rọ̀ àkọsílẹ̀ IPsec hàn ní ọ̀nà kan ṣoṣo
Àìdọ́gba yìí jẹ́ àbájáde ibi àkójọ, kì í ṣe ọ̀nà ìdáhùn tí ó ti bàjẹ́. Ibí ni ibi tí a ti wo ìrìnàjò inú àti ìta lórí ẹnubodè IPsec Linux.
O ń ṣe tcpdump lórí ẹ̀yà ìta ti ẹnubodè IPsec Linux, o sì ń rí nǹkan méjì lẹ́ẹ̀kan náà: àwọn fírámù ESP tí ó ń wọlé àti, lẹ́sẹ̀kẹsẹ̀ lẹ́yìn wọn, àwọn pákítì inú tí a ti ṣí ìdáná. Ní ọ̀nà jáde, ESP nìkan ni ó ń hàn. Ìparí àdánidá ni pé a kò ń fi àwọn ìdáhùn ránṣẹ́ tàbí pé IPsec ń ṣe ìdáná ọ̀nà kan, ó sì gbàgbé èkejì. Kò sí èyí tí ó tọ̀nà.
Ohun tí o ń wò ni ibi àkójọ kan. Kọ̀mpútà àárín ń yí àwọn pákítì tí ó ń jáde padà kí ọ̀nà gbígbé ẹ̀rọ náà tó fi wọ́n lé sokẹ́ẹ̀tì pákítì lọ́wọ́, nítorí náà sokẹ́ẹ̀tì kì í rí ìrísí inú tí ó ń jáde láé. Nígbà tí ó ń wọlé, a kọ́kọ́ mú pákítì náà gẹ́gẹ́ bí ESP, ẹ̀dà tí a ti ṣí ìdáná sì ń hàn nígbà tí ó tún wọ inú àkójọpọ̀. Ìrìnàjò kan náà, fèrèsé àkíyèsí méjì ọ̀tọ̀ọ̀tọ̀.
Ibi àkójọ ni ó ń pinnu ohun tí o rí
Lórí ẹ̀yà ìta deede, sokẹ́ẹ̀tì AF_PACKET jókòó sẹ́gbẹ̀ẹ́ ìpele ẹ̀rọ. Àwọn pákítì tí ó ń kúrò ní olùpèsè ń kọ́kọ́ la ìṣiṣẹ́ jáde ti IPsec kọjá, èyí tí ó yí ẹ̀yà TCP inú padà sí ESP tàbí dátàgírámù UDP-4500, lẹ́yìn náà ni wọ́n tó dé ìpele yẹn. Àwọn pákítì tí ó ń wọlé ni a ń ṣe ẹ̀dà wọn sínú sokẹ́ẹ̀tì bí wọ́n ṣe ń bọ̀ láti okùn, wọ́n ṣì wà ní ìdáná, àti àbájáde tí a ti ṣí ìdáná ń hàn nígbà tí àkójọpọ̀ bá fi í lélẹ̀ níbílẹ̀ tàbí kí ó gbé e lọ.
Ìtò yẹn ń ṣàlàyé àìdọ́gba náà ní kíkún. Kì í ṣe ẹ̀rí nípa ọ̀nà, ìlànà tàbí ìhùwàsí ohun èlò, bí a bá sì kà á bẹ́ẹ̀, ó ń mú àwọn ènìyàn lépa ìdáhùn tí a ti ń ránṣẹ́ tọ̀nà ní gbogbo ìgbà. Èyí jẹ́ ọ̀kan nínú àwọn àlọ́ nẹ́tíwọ́kì díẹ̀ tí ohun èlò, kì í ṣe nẹ́tíwọ́kì, ń dá àìtọ́pọ̀ náà.
Bá àṣàyàn mu pẹ̀lú ìpele tí o ní lọ́kàn
Ọ̀rọ̀ bíi tcp port 443 ń yan ìsopọ̀ TCP inú kan. Ní ọ̀nà jáde, ìsopọ̀ yẹn ti di ESP ní àkókò tí a béèrè lọ́wọ́ sokẹ́ẹ̀tì, nítorí náà àṣàyàn kò bá ohunkóhun mu. Tí o bá fẹ́ ka ìrìnàjò tí a dáàbò bò, ṣe àṣàyàn nípa ìrísí ìta: ìlànà 50 fún ESP àìtọ́jọ́, tàbí ẹnu-ọ̀nà UDP 4500 nígbà tí a bá ń lo ìkọjá NAT. Àwọn àṣàyàn méjèèjì ń fún ni ní iye pákítì tí a lè fi wé láàárín ẹ̀gbẹ́ méjèèjì, èyí tí ó sábà jẹ́ ìdí kíkà. Kò sí ọ̀kan nínú wọn tí ó sọ bóyá a dá ìbéèrè inú lóhùn.
Má ṣe kà iye UDP 4500 gẹ́gẹ́ bí iye pákítì ESP. IKE tún ń lo ẹnu-ọ̀nà yẹn fún àwọn ìfiránṣẹ́ àmúdàájú NAT-T àti fún pàṣípààrọ̀ tí a kó sínú, nítorí náà iye náà ní ìrìnàjò tí kì í ṣe dátà tí o fẹ́ díwọ̀n nínú. Pàṣípààrọ̀ IKE àkọ́kọ́ lórí UDP 500 nílò àṣàyàn tirẹ̀ tí ìbéèrè bá jẹ́ èyí. Iye tí ó dàpọ̀ ìrìnàjò ìṣàkóso pẹ̀lú dátà tún ń jẹ́ kí ìdíwọ̀n ìlàgbaradi eyíkéyìí jẹ́ àṣìṣe ní ìwọ̀n tí a kò mọ̀. Àwọn ìkà ọ̀tọ̀ọ̀tọ̀ ń dá àwọn ìbéèrè ọ̀tọ̀ọ̀tọ̀ lóhùn.
Kọ àṣàyàn náà sí ẹ̀gbẹ́ ìbéèrè tí ó ń dá lóhùn. «Iye ESP wo ni ó kúrò nínú àpótí» àti «Ṣé ìbéèrè wẹ́ẹ̀bù kúrò nínú àpótí» jẹ́ ìdíwọ̀n ọ̀tọ̀ọ̀tọ̀ pẹ̀lú àwọn àṣàyàn ọ̀tọ̀ọ̀tọ̀, àti pé àkójọ kan kò lè yanjú méjèèjì. Láìsí àkọsílẹ̀ yẹn, ènìyàn méjì yóò fi àwọn iye tí wọn kò kà ohun kan náà rí wé.
Ṣàyẹ̀wò kí ìyípadà tó ṣẹlẹ̀, kì í ṣe lẹ́yìn
Tí o bá nílò láti rí ọ̀rọ̀ àkọsílẹ̀ jáde, gbé ibi àkíyèsí síwájú, kí ìṣiṣẹ́ jáde ti IPsec tó bẹ̀rẹ̀. NFLOG ń fún ọ ní ìkọ́ Netfilter níbi tí ìlànà kan ti lè ṣe ẹ̀dà àwọn pákítì tí a yàn sínú sokẹ́ẹ̀tì ní àyè olùlò, èyí tí tcpdump lè kà. Ìtọ́sọ́nà ìdàlẹ̀ ìrìnàjò ti strongSwan ń kọ ọ̀nà yìí sílẹ̀ nítorí ìdí yìí gan-an.
Ìbámu ìlànà ń fi ìlànà náà mọ́ ìrìnàjò tí ó fẹ́rẹ̀ẹ́ wọ inú ọ̀nà abẹ́lẹ̀. -m policy --pol ipsec --dir out ni ohun tí ó mú ìlànà náà di pàtó dípò kíkọ gbogbo pákítì tí àpótí ń ránṣẹ́ sínú àkọsílẹ̀. Lẹ́yìn náà ka àkójọ àkọsílẹ̀ pẹ̀lú àkójọ tí ó ní ààlà: iye àwòrán díẹ̀ àti ààlà ìwọ̀n ń dá àyẹ̀wò náà lọ́wọ́ láti di ibi ìpamọ́ ìrìnàjò. Àkójọ tí ó ní ààlà tún rọ̀rùn láti fi lé olùyẹ̀wò lọ́wọ́ láìfa ẹrù tí kò kan. Pinnu iye náà kí o tó bẹ̀rẹ̀, kì í ṣe lẹ́yìn tí o ti rí iye tí ó dé.
iptables -I OUTPUT 1 -d 10.83.0.44/32 -p tcp --dport 8443 -m policy --pol ipsec --dir out -j NFLOG --nflog-group 5
tcpdump -ni nflog:5 -s 128 -c 20 'host 10.83.0.44 and tcp port 8443'Yan ìkọ́ tí ó bá ìṣàn náà mu. OUTPUT ń bo ìrìnàjò tí ẹnubodè fúnra rẹ̀ ń dá, ṣùgbọ́n ìkọjá láti ọ̀dọ̀ oníṣe LAN ń gba ẹ̀wọ̀n FORWARD lọ dípò, ìlànà kan lórí OUTPUT kò sì ní rí i láé. Àdírẹ́sì àti ẹnu-ọ̀nà tí ó wà lókè jẹ́ ààyè fún ibi ìdánwò tí a fọwọ́ sí.
Kí ni àkíyèsí ń fi hàn
NFLOG jẹ́ ibi àkọsílẹ̀, kì í ṣe ìpinnu ìtẹ́wọ́gbà. Pákítì tí ó hàn níbẹ̀ ń fi hàn pé ó dé ìkọ́ náà, ó sì bá ìlànà mu. Kò fi hàn pé àṣàyàn tí ó tẹ̀le yọ̀ǹda fún un, pé ẹ̀rọ náà gbé e lọ tàbí pé ẹ̀gbẹ́ kejì gba nǹkan.
Àkọsílẹ̀ tí ó ṣofo tún jẹ́ aláìdánilójú bẹ́ẹ̀. Ṣàyẹ̀wò ẹ̀rọ ìkà pákítì ti ìlànà náà, jẹ́rìí ọ̀nà, jẹ́rìí pé ìṣàn náà bá ìlànà IPsec mu ní tòótọ́, kí o sì jẹ́rìí ibi tí a ń lọ. Ẹ̀rọ ìkà tí ó bá mu ní ẹ̀gbẹ́ méjèèjì nìkan ni ó ń yí àkíyèsí padà sí ìparí. Lẹ́yìn náà fi àwọn ẹ̀rọ ìkà ẹgbẹ́ ààbò ní ẹ̀gbẹ́ méjèèjì wé fún ìgbìyànjú tí a ṣàkóso kan náà, nítorí àwọn ẹ̀rọ ìkà SA ni àkọsílẹ̀ àṣẹ nípa ohun tí a dáàbò bò àti tí a ránṣẹ́.
Ìdẹ̀kùn mìíràn: «ọ̀rọ̀ àkọsílẹ̀» ní àyíká yìí túmọ̀ sí ní ìta ìpele ìdáná IPsec. Ìpàdé HTTPS inú ṣì ní TLS tirẹ̀. Mímú pákítì tí a ti ṣí ìdáná kò ṣí TLS ti ohun èlò náà, àti rírí HTTP tí a lè kà níbẹ̀ túmọ̀ sí pé ohun èlò náà kò lo HTTPS rárá.
Sọ̀wọ́ nù, kí o sì fi ẹ̀gbẹ́ méjèèjì wé
Yọ ìlànà gan-an tí o fi sílẹ̀ kúrò, ní ìbámu pẹ̀lú olówó rẹ̀, ní kété tí àkíyèsí náà bá parí. Fífi ìlànà àkọsílẹ̀ sílẹ̀ ń ná CPU lórí gbogbo pákítì tí ó bá mu, ó sì ń dá ìṣòro ìtọ́jú dátà sílẹ̀ ní ìdákẹ́jẹ́. Paarẹ̀ nípa títún ìlànà náà ṣe pẹ̀lú -D dípò fífọ ẹ̀wọ̀n tí kì í ṣe tirẹ̀.
iptables -D OUTPUT -d 10.83.0.44/32 -p tcp --dport 8443 -m policy --pol ipsec --dir out -j NFLOG --nflog-group 5Tí ìgbékalẹ̀ bá ń lo IPsec àyè olùlò, ẹ̀yà XFRM tàbí ìgbékalẹ̀ ẹrù àtọwọ́dá, àwọn ibi àkíyèsí yóò ṣí kúrò, ìlànà yìí sì lè má ṣiṣẹ́ rárá. Pẹ̀lú libipsec, ibi tí a kọ sílẹ̀ fún ṣíṣàyẹ̀wò ìrìnàjò inú ni ẹ̀rọ TUN. Kọ́kọ́ dámọ̀ ọ̀nà náà, lẹ́yìn náà yan ibi tí ó ń dá ìbéèrè lóhùn, kí o sì retí pé àwọn ọ̀nà méjèèjì yóò yàtọ̀ nìkan nígbà tí o bá ń wo ẹ̀gbẹ́ tí kò tọ́ ti ìyípadà náà.