iptables: jẹ́ kí àwọn oníbàárà VPN dé ọ̀dọ̀ olùgbàlejò kan ṣoṣo
Òfin tí o nílò wà nínú FORWARD, kì í ṣe INPUT. Gba ibi kan láàyè fún ẹgbẹ́ VPN, kọ ìyókù, kí o sì fi ẹ̀rí hàn pẹ̀lú àwọn kíkà àti pàṣẹ ìpadà.
Tíkẹ́ẹ̀tì ìtìlẹ́yìn méjì tí ó dàbí pé kò ní ìsopọ̀ ní ìparí ní ohun kan náà. Nínú èkíní, alábòójútó fẹ́ kí olùpínṣẹ́ gba àwọn ìsopọ̀ láti inú ọ̀nà àbẹ̀wò nìkan; nínú èkejì, àwọn olùmúlò VPN gbọ́dọ̀ dé ọ̀dọ̀ olùgbàlejò inú kan, kì í ṣe jù bẹ́ẹ̀ lọ. Àwọn ìlànà méjèèjì wà nínú FORWARD, a sì máa ń gbìyànjú àwọn méjèèjì nínú INPUT. Èsì náà dàbí ògiri iná ṣùgbọ́n ó ń hùwà bí ipò ààyè.
Èwo nínú àwọn ẹ̀wọ̀n ni ó dáhùn ìbéèrè rẹ
Àwọn pákẹ́tì tí oníbàárà VPN ń fi ránṣẹ́ sí olùgbàlejò kan nínú LAN, tàbí síwájú sí íńtánẹ́ẹ̀tì, ni kọ̀mpútà àárín ń gbé lọ, a sì ń ṣàyẹ̀wò wọn nínú FORWARD. INPUT àti OUTPUT kì í rí ju ìrìnnà tí ó parí ní olùpínṣẹ́ fúnra rẹ̀ tàbí tí ó ti ibẹ̀ bẹ̀rẹ̀ lọ. Nítorí náà kíkọ gbogbo ohun tí kò bá wá ní tun0 ni ó ń dáàbò bo àwọn olùgbọ́ olùpínṣẹ́ fúnra rẹ̀, yóò sì tún pa ìpàdé SSH rẹ mọ́ àyàfi kí a gbà àwọn ìṣàn tí ó ti wà ní ìbẹ̀rẹ̀. Kò yí ohunkóhun padà nípa ibi tí a gbà àwọn oníbàárà láàyè láti lọ.
Sọ orúkọ ìbéèrè náà ní àkọ́kọ́: ta ni ó lè dé ọ̀dọ̀ olùpínṣẹ́, tàbí ibo ni àwọn oníbàárà lè lọ. Ọ̀pọ̀lọpọ̀ àwọn nẹ́tíwọ́kì nílò èsì méjèèjì, nínú àwọn ẹ̀wọ̀n ọ̀tọ̀ọ̀tọ̀.
Ìpòlè àkọ́kọ́, lẹ́yìn náà ìyọ̀ǹda, lẹ́yìn náà ìkọ̀sílẹ̀
Àkójọ ìyọ̀ǹda ń ṣiṣẹ́ nìkan bí ìyọ̀ǹda pàtó bá wà lórí ìkọ̀sílẹ̀ gbogbogbò, àti bí a bá gbà ìrìnnà ìpadà lórí àwọn méjèèjì. Fi àwọn òfin sí ipò tí ó ṣe kedere, lẹ́yìn náà tú ẹ̀wọ̀n náà jáde pẹ̀lú iptables -S FORWARD kí ìtẹ̀lé lè hàn dípò kí a dá a lórí.
POOL=10.99.0.0/24
iptables -I FORWARD 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 2 -s "$POOL" -d 172.31.20.15 -p tcp -m multiport --dports 443,3389 -j ACCEPT
iptables -I FORWARD 3 -s "$POOL" -j REJECTÀwọn kúlẹ̀kúlẹ̀ méjì ni ó ń pinnu bóyá èyí yóò dúró ní ìfarakanra pẹ̀lú ìrìnnà gidi. Láìsí òfin ìpòlè, àwọn èsì sí àwọn ìsopọ̀ tí o ṣẹ̀ṣẹ̀ gbà ni a ó ṣàyẹ̀wò wọn fúnra wọn lòdì sí ìkọ̀sílẹ̀, a ó sì sọnù. Òfin LOG tí kò ní ààlà lè kún àpò kékeré ní ìgbà àkọ́kọ́ tí ìwádìí bá kàn án, nítorí náà fi -m limit --limit 10/min kún ṣáájú kí o tẹ̀síwájú nínú gbígbàsílẹ̀. REJECT ń dá àsìṣe padà lẹ́sẹ̀kẹsẹ̀, èyí tí ó dára jù nígbà tí o ń tún àkójọ ṣe; DROP ń sọnù ní ìdákẹ́jẹ́, nítorí náà gbogbo àsìṣe ń hàn bí àkókò tí ó tán. Yan ọ̀kan pẹ̀lú ìmọ̀ọ́mọ̀ kí o sì kọ yíyàn náà sínú àkọsílẹ̀ ìyípadà.
Gbígbé lọ àti NAT gbọ́dọ̀ ti ń ṣiṣẹ́ tẹ́lẹ̀
Ìṣàyẹ̀wò kò lè fi ẹ̀rí hàn pé ọ̀nà kan wà. Kọ́kọ́ jẹ́rìí pé kọ̀mpútà àárín ń gbé nǹkan lọ rárá, kí o sì sọ ètò yẹn di àìlópin dípò pàṣẹ ẹ̀ẹ̀kan nínú shell. Ìṣàyẹ̀wò ni ìpele ìkẹyìn, kì í ṣe èkíní.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s "$POOL" -o eth0 -j MASQUERADEIbi tí masquerade yẹ kí ó wà dá lórí ibi tí àwọn oníbàárà ti ń jáde. Bí wọ́n bá ń jáde gba ọ̀nà àbẹ̀wò lọ sí nẹ́tíwọ́kì tí ó jìnnà, a ó fi òfin NAT sórí ìbáraẹnisọ̀rọ̀ yẹn, kì í ṣe ìbáraẹnisọ̀rọ̀ WAN. Lẹ́yìn náà wo àwọn kíkà: bí kíkà POSTROUTING kò bá yí padà rárá nígbà tí iye ìgbà láti FORWARD ń pọ̀ sí i, ọ̀nà ìpadà ti bàjẹ́, ìṣàyẹ̀wò sì dára. Ìkẹ́kọ̀ọ́ yẹn ń gba ọ̀sán kan lọ́wọ́ kíkọ àwọn òfin tí kò jẹ́ ìṣòro rí.
Àkójọ méèlì wà ní ẹ̀wọ̀n tí ó tẹ̀lé
Dídènà ibùdókọ̀ 25 nínú INPUT ń dá méèlì tí a fi ránṣẹ́ sí olùpínṣẹ́ VPN nìkan dúró. Oníbàárà tí ó ti bàjẹ́ tí ń fi méèlì ránṣẹ́ gba ọ̀nà àbẹ̀wò ni a ó gbé lọ, nítorí náà àkójọ gbọ́dọ̀ wà nínú FORWARD lẹ́gbẹ̀ẹ́ 465 àti 587. Bí ohun èlò kan bá ń gbé méèlì lọ lọ́nà tí ó tọ́, fi ibi tí ó ń lọ àti ibùdókọ̀ rẹ̀ sórí òfin yẹn.
iptables -I FORWARD 2 -s "$POOL" -p tcp -m multiport --dports 25,465,587 -j REJECTJẹ́ kí kíkà ìkọ̀sílẹ̀ ṣiṣẹ́ fún ọ̀sẹ̀ kan ṣáájú kí o tó di ohunkóhun mìíràn mú. Iye tí ó dáwọ́ dúró ní gbígbé ga ni ìṣàn tí ó tọ́ tí o ṣẹ̀ṣẹ̀ já.
Kà á lẹ́ẹ̀kan sí i, lẹ́yìn náà fi ẹ̀rí hàn láti ọ̀dọ̀ oníbàárà
Ka àkójọ òfin gẹ́gẹ́ bí kọ̀mpútà àárín ti ń ròyìn rẹ̀, kì í ṣe gẹ́gẹ́ bí script rẹ ti kọ ọ́. Bẹ̀rẹ̀ pẹ̀lú iptables -S FORWARD, lẹ́yìn náà tábìlì NAT pẹ̀lú iptables -t nat -L POSTROUTING -n -v, lẹ́yìn náà àkọsílẹ̀ conntrack fún ìṣàn tí o ń yẹ̀wò. Pa pàṣẹ ìpadà tàbí ìmúkúrò tí a ṣètò mọ́ ní ààyè nígbà gbogbo tí iṣẹ́ bá ń lọ. Gbogbo ìpè nílò -w, bí bẹ́ẹ̀ kọ́ àwọn alábòójútó méjì yóò kọlu ara wọn lórí ìtìlẹ́kùn xtables. Kò sí ọ̀kan nínú èyí tí ó jẹ́ àṣàyàn nínú fèrèsé ìyípadà.
Parí pẹ̀lú ìdánwò láti ọ̀dọ̀ oníbàárà tí ó wà nínú ẹgbẹ́ àti láti ọ̀dọ̀ ọ̀kan tí ó wà ní ìta. Òfin tí ó ń ṣiṣẹ́ láti inú ẹ̀rọ tí o ti tẹ̀ ẹ́ nìkan kì í ṣe ìlànà.