nftables: drop கைப்பிடிக்கு முன் VPN அனுமதி விதியைச் செருகவும்
nftables இல், insert மற்றும் add ஒரு கைப்பிடியின் எதிர் பக்கங்களில் விதியை வைக்கின்றன. drop-ஐக் கண்டுபிடித்து, பக்கத்தைத் தேர்ந்தெடுத்து, விதித் தொகுப்பு மாறுவதற்கு முன் கோப்பைச் சரிபார்க்கவும்.
அனுமதி விதியைத் தவறான இடத்தில் வைத்தால் அது விதியே இல்லாதது போல் செயல்படும். nftables இல் insert மற்றும் add இடையிலான தேர்வு புதிய கூற்று குறிப்பிடப்பட்ட விதியின் எந்தப் பக்கத்தில் அமரும் என்பதைத் தீர்மானிக்கிறது, மேலும் கைப்பிடி நேரடி விதித் தொகுப்பில் விதியைப் பெயரிடுகிறது, அதன் வரி எண்ணை அல்ல. இடம் தவறானால் பாக்கெட் முதலில் drop-ஐ அடைகிறது.
கீழேயுள்ள ஒப்பீடு ஒரு நிலையான இணை மற்றும் ஒரு வெளிப்புறக் கேட்பான் பரிமாற்றத்தைப் பயன்படுத்துகிறது. இது வேண்டுமென்றே குறுகியது; முழுச் சங்கிலியையும் மாற்றுவது வேறு இடர் விவரக்குறிப்பு கொண்ட மற்றொரு மாற்றம்.
இரண்டு இடங்கள், இரண்டு வெவ்வேறு முடிவுகள்
insert குறிப்பிடப்பட்ட விதிக்கு முன் விதியை வைக்கிறது. add அதற்குப் பின் வைக்கிறது. குறிப்பிடப்பட்ட விதி ஓட்டத்திற்கான இறுதி drop ஆக இருந்தால், விதியின் உரை ஒன்றாக இருந்தாலும் அந்த இரண்டு கட்டளைகள் எதிர் முடிவுகளைத் தருகின்றன.
இடத்தை விட்டுவிடுவதற்கு அதன் சொந்த இயல்புநிலை நடத்தை உள்ளது, இது எதற்கு நங்கூரமிடப்பட்டுள்ளது என்பதைப் படிக்காமல் மன்றத்திலிருந்து கட்டளையை நகலெடுக்கக் கூடாது என்பதற்கு மற்றொரு காரணம். நங்கூரமே முழு முடிவு. கட்டளையை எழுதும் முன் நோக்கமான பக்கத்தை எழுதிவைக்கவும். கோப்பில் insert மற்றும் add ஒரு சொல் வித்தியாசம்.
இடம் ஒரு குறிப்பிட்ட சங்கிலியில் உள்ள விதியைப் பொறுத்தது. அதே கூற்றை வேறு சங்கிலிக்கோ வேறு hook முன்னுரிமைக்கோ நகர்த்துவது அது எந்தப் பாக்கெட்டுகளைப் பார்க்கிறது என்பதை மாற்றுகிறது, விதியின் இலக்கணம் சரியாகத் தோன்றினாலும்.
கைப்பிடி ஒரு விதியை அடையாளம் காட்டுகிறது, வரி எண்ணை அல்ல
42 போன்ற கைப்பிடி தற்போதைய விதித் தொகுப்பு நிலையில் ஒரு அடையாளங்காட்டி. அது நாற்பத்திரண்டாவது விதி அல்ல, மேலும் ஹோஸ்ட்கள், மறுகட்டுமானங்கள் அல்லது தன் உள்ளமைவை மீண்டும் ஏற்றும் மேலாளர் இடையே அது நிலையானது அல்ல.
நங்கூரத்தைத் தேர்ந்தெடுக்கும் முன் சங்கிலியையும் உண்மையான இறுதி drop-ஐயும் கண்டுபிடிக்கவும். பிறகு drop-ஐக் காட்டும் அதே பட்டியலில் அந்த விதியின் கைப்பிடியை உறுதிசெய்யவும், எண்ணும் விதியும் சேர்ந்து படிக்கப்படும். பழைய பட்டியலில் இருந்து படித்த கைப்பிடி ஏற்கனவே வேறு விதிக்குச் சொந்தமாக இருக்கலாம். மாற்றத்தைப் பயன்படுத்தும் அமர்வில் அதை மீண்டும் படிக்கவும்.
iptables --version
nft -a list ruleset
iptables பதிப்பு எந்த backend பயன்படுத்தப்படுகிறது என்பதைத் தெரிவிக்கிறது. iptables-nft விதித் தொகுப்பும் தனித்துவமாக நிர்வகிக்கப்படும் சொந்த அட்டவணையும் ஒன்றாக இருக்கலாம், எனவே ஒரு frontend-இன் பட்டியல் தானாகவே முழு வடிகட்டல் படமாகாது. சங்கிலியைத் தேர்ந்தெடுக்கும் முன் இரண்டு காட்சிகளையும் சரிபார்க்கவும்.
உண்மையில் drop செய்யும் சங்கிலியையும் விதியையும் கண்டுபிடிக்கவும்
input hook, சங்கிலியின் முன்னுரிமை மற்றும் இந்தக் கேட்பான் ஓட்டத்தை நிராகரிக்கும் விதியைப் படிக்கவும். inet அட்டவணை இரண்டு முகவரி குடும்பங்களையும் கொண்டிருக்கலாம், ஆனால் தனி விதி இன்னும் IPv4 உடன் மட்டுமே பொருந்தலாம்.
ஒரு அங்கீகரிக்கப்பட்ட இணையை எடுக்கவும், உதாரணமாக ஆவண வரம்பிலிருந்து 198.51.100.25 பயன்படுத்தி. மதிப்பாய்வு செய்யப்பட்ட சொந்தக் கோப்பு கைப்பிடி 42-க்கு முன் வெளிப்புற அனுமதியை வைக்கலாம்:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
சரிபார்ப்புக்குப் பிறகு குடும்பம், அட்டவணை, சங்கிலி, கைப்பிடி, உள்வரும் இடைமுகம் மற்றும் இணையை மாற்றவும். உதாரணம் nft 1.0.9-க்கு ஆவணப்படுத்தப்பட்ட கைப்பிடி-இட வடிவத்தைப் பயன்படுத்துகிறது, அது input கோப்புக்கு உரியது; கட்டளை ஊடாடும் முறையில் எழுதப்படும்போது அடைப்புக்குறி மேற்கோள் தனி விஷயம்.
உள்ளமைவின் உரிமையாளரைத் தெளிவாக வைத்திருங்கள். தன் விதிகளை மீண்டும் கட்டும் மேலாளர் இயக்கநேரத் திருத்தத்தை மேலெழுதலாம், மேலும் காலாவதியான கைப்பிடியை கடின-குறியீடு செய்யும் துவக்க ஸ்கிரிப்ட் தோல்வியடையும் அல்லது தவறான விதியில் ஒட்டிக்கொள்ளும்.
அனுமதி எல்லைக்குட்பட்டது, drop இறுதியானது
அனுமதித் தீர்ப்பு அதன் தற்போதைய பாதையில் மதிப்பீட்டை முடிக்கிறது, ஆனால் பின்னர் பொருந்தும் அடிப்படைச் சங்கிலி இன்னும் பாக்கெட்டை drop செய்யலாம். drop தீர்ப்பு இறுதியானது. அதனால்தான் அதிகரிக்கும் அனுமதி எண்ணிக்கை ஓட்டம் வெற்றியடைந்ததற்கான சான்று அல்ல.
ஒரு சங்கிலியைத் தனிமைப்படுத்திச் சரிபார்ப்பதற்குப் பதிலாக அனைத்துத் தொடர்புடைய hook முன்னுரிமைகளையும் சரிபார்க்கவும். பாக்கெட் input வடிகட்டியைக் கடந்தும் வேறு முன்னுரிமையில் வேறு அட்டவணையின் hook-ஆல் நிராகரிக்கப்படலாம். ஓட்டத்தைப் பார்க்கக்கூடிய ஒவ்வொரு அடிப்படைச் சங்கிலியையும் பட்டியலிடுங்கள்.
அந்த விதி வெளிப்புறக் கேட்பான் பரிமாற்றத்தை மட்டுமே உள்ளடக்குகிறது. போக்குவரத்து-மூடப்பட்ட ESP, சொந்த ESP, IPv6 இணைகள் மற்றும் சுரங்கப்பாதைக்குள் மறைகுறியாக்கப்பட்ட போக்குவரத்து அனைத்திற்கும் அவற்றின் சொந்தக் கொள்கைகள் தேவை. இது முழுமையான தள VPN ஃபயர்வால் அல்ல.
கோப்பைச் சரிபார்த்து, பிறகு நேரடி முடிவை உறுதிசெய்யவும்
பயன்படுத்தும் முன் மதிப்பாய்வு செய்யப்பட்ட கோப்பில் இலக்கணம் மற்றும் பரிவர்த்தனைச் சரிபார்ப்பை இயக்கவும். சரிபார்ப்புப் பயன்முறை nft மாற்றத்தைப் பகுத்துத் தயார் செய்ய முடியுமா என்பதைத் தெரிவிக்கிறது; அது அதைப் பயன்படுத்தாது, வேறு hook பாக்கெட்டை அனுமதிக்கும் என்பதையும் நிரூபிக்காது. உரிமையாளர் பயன்படுத்தும் வரை கோப்பு முன்மொழிவாகவே இருக்கும்:
nft -c -f reviewed-vpn-rule.nft
உரிமையாளரின் கட்டுப்படுத்தப்பட்ட செயல்முறை வழியாகப் பயன்படுத்தி மீட்பு அணுகலைப் பாதுகாக்கவும். விதி தவறானதாக இருந்தால், நீங்கள் முந்திச் செல்ல முயன்ற drop அதைச் சரிசெய்ய நீங்கள் பயன்படுத்தும் பாதையையும் வெட்டக்கூடும்.
மாற்றத்திற்குப் பின் புதிய அனுமதிக்கப்பட்ட இணை முயற்சியைக் கவனித்து, அங்கீகரிக்கப்பட்ட இணைக்கு வெளியேயுள்ள மூலங்கள் இன்னும் நிராகரிக்கப்படுகின்றனவா எனச் சரிபார்க்கவும். நிலைத்த விதியை விதித் தொகுப்பை உடைய மேலாளரிடம் நகர்த்தவும், ஏனெனில் இயக்கநேரக் கைப்பிடிகள் தற்போதைய பொருட்களைக் கண்டறிகின்றன, துவக்கங்களுக்கு இடையே அவற்றை அடையாளம் காட்டுவதில்லை.