Ìyípadà òfin ààbò iná kò ṣiṣẹ́: ìtòlẹ́sẹẹsẹ òfin àti ipò ìsopọ̀
Òfin tí a ṣàtúnṣe lè wà lẹ́yìn ìgbàláyè àtẹ̀yìn tàbí kí ìtọpinpin ìsopọ̀ kọjá rẹ̀. Ya ìdánwò méjèèjì ya, lo ṣíṣàn tuntun kí o sì pa ọ̀nà ìpadà mọ́.
O ṣàtúnṣe òfin naa, o tún gbé àkójọ òfin wọlé, ṣùgbọ́n ọ̀nà abẹ́lẹ̀ naa ń hu ìwà kan náà bíi ti àtẹ̀yìn. Èsì yìí ní àwọn ìdí méjì tí ó wọ́pọ̀, wọ́n sì nílò àwọn ìdánwò ọ̀tọ̀ọ̀tọ̀. Yálà òfin tuntun wà lẹ́yìn òfin àtẹ̀yìn tí ó ti gba pákẹ́ẹ̀tì náà, tàbí ìpààrọ̀ tí o ń wò jẹ́ ìsopọ̀ tí a ń tọpinpin tí ìyípadà kò ṣe àtúnyẹ̀wò rẹ̀. Òfin inú fáìlì ń fi èrò hàn; ohun tí ó pinnu pákẹ́ẹ̀tì ni ọ̀nà tí ó ń ṣiṣẹ́ tí ó bá pàdé. Ṣe àwọn àyẹ̀wò ní ìsàlẹ̀ lẹ́sẹẹsẹ, kí o sì pa ọ̀nà ìpadà mọ́ nígbà tí o ń ṣe é.
Ìtòlẹ́sẹẹsẹ òfin àti ipò ìsopọ̀ jẹ́ àwọn àbàwọ́n ọ̀tọ̀ọ̀tọ̀
Àwọn ẹ̀wọ̀n tí a tò lẹ́sẹẹsẹ ni a ń yẹ̀wò láti orí dé ìsàlẹ̀, àti òfin àkọ́kọ́ tí ó bá dé ìdájọ́ ìkẹyìn yóò parí ìrìn náà nínú ẹ̀wọ̀n yẹn. Fi ìgbàláyè gbòòrò sí orí òfin títìpa tí a kọ pẹ̀lú ìṣọ́ra, òfin títìpa yóò di ìwé: ó wà nínú àkójọ, oníka rẹ̀ jẹ́ òdo, àti kò sí pákẹ́ẹ̀tì tí yóò dé ọ̀dọ̀ rẹ̀ láé. Ọ̀rọ̀ kan náà tí a fi sí ẹ̀wọ̀n mìíràn kò tún fi nǹkan hàn. Nínú nftables àwọn ẹ̀wọ̀n ìpìlẹ̀ so mọ́ àwọn hook nípasẹ̀ ìpín, nítorí náà ìgbàláyè nínú ẹ̀wọ̀n kan kò dá ẹ̀wọ̀n mìíràn lórí hook tàbí ìpín mìíràn lẹ́kùn láti rí pákẹ́ẹ̀tì kan náà.
Ìtọpinpin ìsopọ̀ ń mú àmì kejì jáde, àti láti ìta ó dàbí ẹni kan náà. Ní kété tí ṣíṣàn bá wà nínú tábìlì ipò, ìgbàláyè fún established-or-related nítòsí orí ẹ̀wọ̀n yóò padà ṣáájú kí a tó wo òfin tuntun rẹ. Àwọn máàpù NAT ní irú ẹ̀yà kan náà: ìtumọ̀ ti wà ní dídì nígbà tí ṣíṣàn bẹ̀rẹ̀, nítorí náà òfin postrouting tí a ṣàtúnṣe kò tún kọ ìgbà tí ó ń ṣiṣẹ́ tẹ́lẹ̀. Èyí ni ìdí tí ìyípadà fi dàbí ẹni pé ó ń ṣiṣẹ́ ní 09:00 fún ìsopọ̀ tuntun àti pé kò ṣe nǹkan fún ìgbà tí ẹnìkan ṣí ní 08:55.
Àwọn ẹgbẹ́ ààbò orí àwọsánmà ń fi àkọ́kọ́ kẹta kún tí ó mú àwọn tí ó kọ́ ní iptables. Àwọn òfin ìwọlé wọn jẹ́ àkójọ ìgbàláyè tí a ń yẹ̀wò bí àkópọ̀ kì í ṣe bí ìrìn ìbámu àkọ́kọ́, wọ́n ní ipò, àti yíyọ òfin ìgbàláyè kò parí àwọn ṣíṣàn tí a ń tọpinpin tẹ́lẹ̀. Gbígba ìtumọ̀ ìbámu àkọ́kọ́ lórí pẹpẹ tí kò ní rẹ̀ ń yọrí sí àwọn ìparí tí ó ní ìgboyà ṣùgbọ́n tí kò tọ́.
Ka àkójọ òfin tí ó ń ṣiṣẹ́, kì í ṣe fáìlì tí o ṣàtúnṣe
Bẹ̀rẹ̀ láti ohun tí kọọkan ń fi agbára mú ní báyìí. Ètò tí a fipamọ́ tí a kò lò rárá ń ṣàlàyé ọ̀pọ̀lọpọ̀ ìwà tí kò yípadà, àti yíyọ kúrò ní ó kan ọ̀rọ̀ kan:
nft list ruleset
iptables-saveLẹ́yìn náà béèrè bóyá a dé òfin rẹ rárá. Àwọn oníka pákẹ́ẹ̀tì ń dáhùn èyí táàrà, wọ́n sì dáhùn dáradára ju ìrònú èyíkéyìí nípa èrò lọ:
iptables -L FORWARD -v -n --line-numbers
nft list chain inet filter forwardÒfin títìpa tí kò ní pákẹ́ẹ̀tì lẹ́yìn ìgbìyànjú ìdánwò gidi kì í ṣe ìṣòro ètò ìmúlò, ó jẹ́ ìṣòro ipò. Gbígbe rẹ̀ jẹ́ ìyípadà ìlà kan, àti pé sín táàsì ni pátápátá ohun tí ó fa àṣìṣe àkọ́kọ́. Pẹ̀lú iptables -I ń fi sí ìbẹ̀rẹ̀ àti -A ń fi kún ní ìparí; pẹ̀lú nftables insert ń gbe òfin sí ìbẹ̀rẹ̀ ẹ̀wọ̀n nígbà tí add ń fi kún ní ìparí. Nígbà tí òfin bá gbọdọ̀ borí, sọ ọ́ ní gbangba dípò gbígbẹ́kẹ̀lé ìlànà tí ó ṣẹ̀lẹ̀ láti gbé wọlé.
Fi ìdí rẹ̀ múlẹ̀ bóyá a ń tọpinpin ṣíṣàn náà
Ṣáájú kí o tó da òfin lẹ́bi, ṣàyẹ̀wò bóyá ìjábọ̀ jẹ́ ìsopọ̀ tí a ń tọpinpin rárá. Béèrè tábìlì ipò fún ṣíṣàn pàtó dípò dídà gbogbo rẹ̀ sílẹ̀:
conntrack -L -p tcp --dport 1194
conntrack -E -p tcp --dport 1194Àtòjọ náà ń fi ipò àti àkókò tí ó kù hàn, àti pé bẹ́ẹ̀ ni o ṣe yàtọ̀ ìgbà tí a fi ìdí múlẹ̀ sí ìgbìyànjú tuntun; ipò ìṣẹ̀lẹ̀ ń tẹ̀ àwọn ìmúdójúìwọ̀n nígbà tí wọ́n bá ń ṣẹ̀lẹ̀, èyí wúlò nígbà tí o ń tún so alábàárà pọ̀. Tí ṣíṣàn bá wà tẹ́lẹ̀ ní ipò tí a fi ìdí múlẹ̀ ṣáájú kí o tó fi ọwọ́ kan nǹkan, kò sí ìyípadà nínú àwọn òfin àlẹ̀mọ́ tí yóò yí ìpinnu rẹ̀ padà. Èyí kì í ṣe àṣìṣe nínú firewall, èyí ni àdéhùn ti àlẹ̀mọ́ pẹ̀lú ipò.
Kojú ọ̀nà kúkúrú ti fífọ́ gbogbo tábìlì ní ẹnu-ọ̀nà ìṣelọ́pọ̀. conntrack -F wà, àti pé ó tún pa gbogbo ṣíṣàn tí a ń tọpinpin lórí ẹ̀rọ náà run, pẹ̀lú ìgbà ìṣàkóso tí o ń ṣiṣẹ́ láti inú rẹ̀ àti ọ̀nà abẹ́lẹ̀ tí ó ń gbé shell rẹ. Àwọn títẹ̀síi kọ̀ọ̀kan lè paarẹ̀ nígbà tí o bá nílò rẹ̀ gan, ṣùgbọ́n ṣíṣàn tuntun láti ibùdó orísun tuntun nígbà gbogbo jẹ́ ìdánwò tí ó mọ́.
Díẹ̀ nínú àwọn ọ̀nà kò ní tọpinpin, wọ́n sì ń hu ìwà ìdàkejì. Ìjábọ̀ tí a sàmì sí bí notrack nínú tábìlì raw, díẹ̀ nínú àwọn ọ̀nà abẹ́lẹ̀ tí ó forí àwọn hook déédé, àti ọ̀nà ìpín tí kò dọ́gba tí ó pin ṣíṣàn láàárín àwọn ẹnu-ọ̀nà méjì — gbogbo wọn ń ṣe àwọn pákẹ́ẹ̀tì tí a ń yẹ̀wò ọ̀kọ̀ọ̀kan, tàbí ipò tí kò ṣẹ̀dá rárá ní àwọn òpin méjèèjì. Tí àwọn oníka bá ń gbé fún gbogbo pákẹ́ẹ̀tì, fura sí irú ọ̀nà bẹ́ẹ̀ ṣáájú kí o tó fura sí ìlànà.
Dánwò láti ṣíṣàn tuntun pẹ̀lú ọ̀nà ìpadà
Ṣáájú kí o tó dán òfin tí ó lè gé ìwọlé láti ọ̀nà jíjìn, ṣètò ọ̀nà ìmúláradá: console ti olùpèsè, console serial, àdírẹ́sì ìṣàkóso ìta ẹgbẹ́, tàbí interface kejì tí òfin kò lè bámu. Aago ìpadàsẹ̀yìn jẹ́ ẹlẹgbẹ́ tí ó tọ́, nítorí yóò mú àkójọ òfin àtẹ̀yìn padà pàápàá tí ìgbà rẹ bá kú láàárín ìdánwò náà.
Lẹ́yìn náà dán pẹ̀lú ìpààrọ̀ tí ipò kò lè ti bo tẹ́lẹ̀. Gé asopọ̀ kí o tún so alábàárà pọ̀ kí ẹgbẹ̀ẹ̀dógún tuntun ṣẹ̀dá, kí o sì wo àwọn òpin méjèèjì nígbà tí èyí ń ṣẹ̀lẹ̀:
tcpdump -ni eth0 'tcp port 1194'
journalctl -k -n 50 --no-pagerṢe ìdánwò náà ní àwọn ọ̀nà méjèèjì. Òfin tí ó dẹ́kun ìfọwọ́sọwọ́pọ̀ ìwọlé tuntun tún lè gba ọ̀nà ìdáhùn láàyè, tàbí ìdàkejì, àti pé èsì ọ̀nà kan ni ìdí tí ó wọ́pọ̀ tí títìpa fi ń ṣiṣẹ́ ìdajì. Tún so pọ̀ lẹ́ẹ̀kan lẹ́yìn ìdánwò láti fi ìdí ipò tí ó dúró mú, kí o sì ṣàyẹ̀wò bóyá ìwọlé ìṣàkóso tí ó tọ́ lààyè; òfin tí a kọ fún ibùdó kan ní ìwà ti ìbámu pẹ̀lú ìwọ̀n tí ó gbòòrò ju ti a pinnu lọ.
Ṣe ìgbàsílẹ̀ èrò àti ipò pẹ̀lú òfin náà
Òfin tí kò ní èrò tí a gbàsílẹ̀ jẹ́ òfin tí ẹnìkan kò ní ìgboyà láti yọ kúrò. Lẹ́gbẹ̀ẹ́ gbogbo títẹ̀síi títìpa, tọ́jú ṣíṣàn tí ó ń dáàbò bo, ẹ̀wọ̀n àti hook tí ó ń gbé inú, ipò tí ó gbọdọ̀ dímú ní ìbámu sí àwọn ìgbàláyè gbòòrò, àti ìdánwò tí ó fi ìdí rẹ̀ múlẹ̀. Nígbà tí ẹnìkan bá ṣàtúnṣe àkójọ òfin àyíká ní oṣù mẹ́fà lẹ́yìn náà, àkọsílẹ̀ yẹn ni ìkìlọ̀ kanṣoṣo pé ipò náà jẹ́ ìmọ̀mọ̀.
Ṣáájú kí o tó tile ìyípadà náà, jẹ́rìí àwọn nǹkan mẹ́rin: àkójọ òfin tí ó ń ṣiṣẹ́ bámu fáìlì náà, òfin tuntun ní àwọn oníka tí kì í ṣe òdo lẹ́yìn ìgbìyànjú tuntun, ọ̀nà ìdàkejì àti ìwọlé ìṣàkóso tún ń ṣiṣẹ́, àti pé o ti tún so pọ̀ lẹ́ẹ̀kan láti fi ìdí ipò tí ó dúró múlẹ̀ kì í ṣe ipò ìgbà tí ó dàgbà ju ìyípadà lọ. Tí èyíkéyìí nínú ìwọ̀nyí kò bá jẹ́rìí, ìyípadà kò tíì parí, ohunkóhun tí ọ̀nà abẹ́lẹ̀ náà bá ṣe.