ஒரு பொது நுழைவாயில் ஏற்கனவே UDP 51820 இல் WireGuard, 22 இல் SSH மற்றும் இணையத்திலிருந்து அணுகக்கூடியதாக இருக்க வேண்டிய ஒரு பயன்பாட்டை இயக்குகிறது. கவர்ச்சிகரமான விதி ஒவ்வொரு போர்ட்டையும் peer-க்கு அனுப்பி வேலையை முடிந்ததாக அறிவிக்கிறது. WireGuard நுழைவாயிலில் அந்த விதி சுரங்கப்பாதையின் சொந்தப் போக்குவரத்தைப் பிடித்து, அதை முடிக்கும் இயந்திரத்திற்கு வெளியே உங்களைப் பூட்டலாம். வெளியிடுதல் என்பது கட்டுப்பாட்டுத் தளத்திற்கான விதிவிலக்குடன் கூடிய வழிமாற்று முடிவு, ஒரு DNAT வரி அல்ல.

பொது நுழைவு அல்லது சுரங்கப்பாதை நுழைவு: ஒன்றைத் தேர்ந்தெடுக்கவும்

ஒரு சேவையை வெளியிடுவது இணையத்தில் புதிய நுழைவுப் புள்ளியை உருவாக்குகிறது. பார்வையாளர் ஒருபோதும் சுரங்கப்பாதைக்குள் நுழையாததாலும், நுழைவாயில் backend-இன் பொது முகமாக மாறுவதாலும் இது peer-க்கு VPN உறுப்பினர் அந்தஸ்து வழங்குவதற்கு சமமானதல்ல. அந்த வேறுபாடே விதியின் பார்வையாளர்களையும் அதன் சான்றிதழையும் தீர்மானிக்கிறது.

நிர்வாக இடைமுகங்கள் அந்த இடத்திற்குப் பொருத்தமானவையாக அரிதாகவே இருக்கும். அங்கீகரிக்கப்பட்ட VPN வாடிக்கையாளர்கள் அடையும் நிர்வாகப் பக்கம் தாக்குதல் மேற்பரப்பைச் சுரங்கப்பாதைக்குள் வைத்திருக்கிறது, மேலும் உள்நுழைவுப் படிவத்தை எந்தவொரு ஸ்கேனிங்கிற்கும் வெளிப்படுத்துவதைத் தவிர்க்கிறது. பொது பயன்பாட்டு இறுதிப் புள்ளிகளுக்கு இன்னும் சொந்த TLS சான்றிதழ், அங்கீகாரம் மற்றும் வீத வரம்பு தேவை; மறைகுறியாக்கப்பட்ட WireGuard தாவல் பார்வையாளரின் நுழைவாயில் வரையிலான பகுதியைப் பாதுகாக்காது.

சேவை உண்மையிலேயே பொதுவாக இருக்க வேண்டும் என்றால், ஹோஸ்ட் பெயர், அதை உள்ளடக்கும் சான்றிதழ் மற்றும் அதை அடைய வேண்டிய பார்வையாளர் வரம்புகளை எழுதி வையுங்கள். அந்த மூன்று உண்மைகள் பின்னர் விதியின் வடிவத்தையும் வடிகட்டி கொள்கையையும் தீர்மானிக்கின்றன. அவற்றுக்கு வெளியே உள்ள அனைத்தும் பொது லிசனரில் எல்லை விரிவாக்கமே.

ஒரு போர்ட் உள்ளே, ஒரு backend வெளியே

ஒரே பொது போர்ட்டையும் ஒரே backend சேவையையும் பயன்படுத்துங்கள். இந்த எடுத்துக்காட்டில் eth0 பொது முகவரி 198.51.100.20-ஐச் சுமக்கிறது, நுழைவாயிலின் சுரங்கப்பாதை முகவரி 10.200.0.1, peer பயன்பாட்டை 10.200.0.7 இல் இயக்குகிறது. பொது TCP 9443 peer-இன் TCP 8443-க்கு மேப்பிங் செய்யப்படுகிறது:

iptables -t nat -A PREROUTING -i eth0 -d 198.51.100.20 -p tcp --dport 9443 -j DNAT --to-destination 10.200.0.7:8443
iptables -t nat -A POSTROUTING -o wg0 -d 10.200.0.7 -p tcp --dport 8443 -m conntrack --ctorigdst 198.51.100.20 --ctorigdstport 9443 -j SNAT --to-source 10.200.0.1

SNAT விதி மொழிபெயர்க்கப்பட்ட backend மற்றும் அசல் பொது இலக்குடன் பொருந்துகிறது, எனவே அதே backend சேவைக்கான மற்றொரு இணைப்பு இந்த மேப்பிங்கிற்கு வெளியே இருக்கும். இது பார்வையாளரின் முகவரியை peer-இல் இருந்து மறைக்கிறது, மேலும் மூலத்தைப் பாதுகாக்கும் வழிமாற்றப்பட்ட திரும்பும் பாதையைத் தனி வடிவமைப்பாக மாற்றுவது இந்தச் சமரசமே. iptables நீட்டிப்புகள் குறிப்பு இரு இலக்குகளையும் அவற்றின் பொருத்த விருப்பங்களையும் ஆவணப்படுத்துகிறது.

அனுப்புதல் இன்னும் இயக்கப்பட்டிருக்க வேண்டும், மேலும் வடிகட்டி சங்கிலிக்கு மொழிபெயர்க்கப்பட்ட இலக்கு மற்றும் போர்ட்டுக்கும் நிறுவப்பட்ட பதில்களுக்கும் அனுமதி தேவை. FORWARD சங்கிலி DNAT-க்குப் பின் மொழிபெயர்க்கப்பட்ட இலக்கைப் பார்க்கிறது, எனவே பொது முகவரிக்கு எதிராக எழுதப்பட்ட விதி அனுப்பப்படும் பாக்கெட்டுடன் பொருந்தாது. அனுமதியை பொது முகவரிக்கு அல்ல, backend tuple-க்கு எழுதுங்கள்.

peer நுழைவாயிலின் சுரங்கப்பாதை முகவரியிலிருந்து சேவை இணைப்பை ஏற்க வேண்டும், பதிலைச் சுரங்கப்பாதை வழியாகத் திருப்பி அனுப்ப வேண்டும். அதன் AllowedIPs தான் உண்மையில் பெறும் மூலத்தை அங்கீகரிக்க வேண்டும், மூல மொழிபெயர்ப்பின் கீழ் அது நுழைவாயிலின் சுரங்கப்பாதை முகவரி, மேலும் இந்த வடிவமைப்பிற்கு ஒவ்வொரு peer-இலும் பரந்த 0.0.0.0/0 பதிவு தேவையில்லை. திரும்பும் போக்குவரத்தை விழச் செய்வது அந்த முகவரியைப் பட்டியலில் விடும் peer, அல்லது அதற்குப் பதிலாகப் பார்வையாளரின் சொந்த முகவரியை அனுப்பும் மூலத்தைப் பாதுகாக்கும் வடிவமைப்பு, எனவே உங்கள் விதியில் உள்ளதை அல்ல, peer உண்மையில் பார்க்கும் மூலத்தைச் சரிபார்க்கவும்.

நுழைவாயிலின் சொந்த லிசனர்களை விதிக்கு வெளியே வையுங்கள்

போர்ட் பொருத்தத்தை ஒவ்வொரு TCP மற்றும் UDP இலக்கையும் உள்ளடக்கும் விதியாக மாற்றுங்கள், நுழைவாயிலின் சொந்த WireGuard சாக்கெட் அதற்குள் விழும். இலக்கு மொழிபெயர்ப்பு, இயந்திரம் பாக்கெட் உள்ளூரானது என்று முடிவு செய்வதற்கு முன்பே நடக்கிறது, எனவே UDP 51820 ஒவ்வொரு peer இணைப்பையும் வைத்திருக்கும் செயல்முறைக்குப் பதிலாக peer-ஐ அடையலாம். விதி வெற்றிகரமாக ஏற்றப்படுகிறது, சுரங்கப்பாதை இறக்கிறது, இது peer பக்கத்திலிருந்து படிக்கக் கடினமான தோல்வி.

SSH, கண்காணிப்பு முகவர்கள் மற்றும் நுழைவாயிலில் ஹோஸ்ட் செய்யப்பட்ட வேறு எந்தச் சேவையும் அதே வெளிப்பாட்டைக் கொண்டுள்ளன. எல்லாவற்றையும் அனுப்பும் விதி கட்டுப்பாட்டுத் தளத்தை வெளியிடப்பட்ட பயன்பாட்டிலிருந்து வேறுபடுத்தாது, மாற்றத்திற்குப் பின் முதல் மறுதொடக்கம் பூட்டுதல் தெளிவாகும் தருணம். எல்லாவற்றையும் பிடிக்கும் விதி தான் அமைதியாக எடுத்துக்கொள்ளும் சேவையைப் பற்றி எச்சரிக்காது. அடுத்த இணைப்பு தோல்வியடையும்போது தெரியவரும்.

பரந்த அனுப்புதல் உண்மையிலேயே தேவைப்பட்டால், எல்லாவற்றையும் பிடிக்கும் விதிக்கு முன் கட்டுப்பாட்டுப் போர்ட்களை ஒதுக்குங்கள் அல்லது வெளியிடுவதற்குத் தனி பொது முகவரியைப் பயன்படுத்துங்கள். இரண்டாவது விருப்பம் சுத்தமானது, ஏனெனில் கட்டுப்பாட்டு முகவரி அதன் சொந்தக் கொள்கையைத் தக்கவைக்கிறது, ஆனால் வழங்குநர் அந்த முகவரியை வழங்க வேண்டும்; DNS பதிவு சேர்ப்பது முகவரியை ஒதுக்காது.

பரந்த TCP மற்றும் UDP அனுப்புதல் எல்லா நெறிமுறைகளும் அல்ல. ICMP, IPv6, path-MTU பின்னூட்டம் மற்றும் வெளிப்புற VPN போக்குவரத்துக்கு சொந்தக் கொள்கை தேவை, TCP மற்றும் UDP-ஐ உள்ளடக்கும் விதி அந்த நிகழ்வுகளை இயல்புநிலைச் சங்கிலிக்கு விட்டுவிடுகிறது.

விதிகளை எழுதுவதற்கு முன் மாதிரியைத் தேர்ந்தெடுக்கவும்

நான்கு வடிவங்கள் நுழைவாயிலிருந்து வெளியிடும் பெரும்பாலானவற்றை உள்ளடக்குகின்றன, தேர்வு நீங்கள் எத்தனை சேவைகளை இயக்குகிறீர்கள் மற்றும் கட்டுப்பாட்டுத் தளத்தில் எவ்வளவு ஆபத்தைத் தாங்க முடியும் என்பதைப் பொறுத்தது. கீழே உள்ள அட்டவணை அவற்றைக் குறுகியதிலிருந்து பரந்ததுவரை வரிசைப்படுத்துகிறது.

ModelWhat it protectsCostUse when
Narrow port forwardEvery other listener, including the VPNOne rule per serviceFew services, stable ports
Catch-all with reserved portsPorts named in the exception listRule order becomes criticalMany services and disciplined review
Separate public addressControl address fully isolatedProvider must supply the addressHigh-value publication
VPN-only accessNo public entry at allVisitors need the tunnelAdmin interfaces and internal tools

பின்னர் அதிக சேவைகளை எதிர்பார்த்தாலும் குறுகிய மாதிரியுடன் தொடங்குங்கள். அதைத் தணிக்கை செய்வது மிக எளிது, குறுகிய விதிகளின் தொகுப்பை மதிப்பாய்வு செய்யப்பட்ட எல்லாவற்றையும் பிடிக்கும் விதியாக மாற்றுவது, பரந்த விதி எந்த லிசனரைப் பிடித்தது என்பதைக் கண்டறிவதை விட எளிது. எந்த மாதிரியைத் தேர்ந்தெடுத்தாலும், விதிகளை ஃபயர்வால் உரிமையாளரிடம் வையுங்கள். அதே சங்கிலிகளை நிர்வகிக்கும் UFW அல்லது nftables கட்டமைப்பிற்கு அருகில் iptables வரிகளைப் பயன்படுத்துவது, துவக்க வரிசையைப் பொறுத்து மாறும் கொள்கையை உருவாக்குகிறது.

வெளியீடு மற்றும் கட்டுப்பாட்டுப் பாதை இரண்டையும் நிரூபியுங்கள்

அங்கீகரிக்கப்பட்ட வெளிப்புற வாடிக்கையாளரிடமிருந்து அங்கீகரிக்கப்பட்ட ஹோஸ்ட் பெயர் மற்றும் அதற்கு செல்லுபடியாகும் சான்றிதழைப் பயன்படுத்திச் சோதிக்கவும். எந்த backend பதிலளித்தது என்பதை உறுதிசெய்து, பின்னர் தொடர்பில்லாத பொது போர்ட்கள் மறுக்கப்படுவதைச் சரிபார்க்கவும். முடக்கப்பட்ட சான்றிதழ்ச் சரிபார்ப்பு தேர்ச்சி பெற்ற HTTPS சோதனை அல்ல, தவறான backend-ஐ அடையும் இணைப்பு தோல்வியடைந்ததை விட மோசம்.

அதன் பிறகு நுழைவாயிலையே சரிபார்க்கவும்: ஒரு WireGuard peer-ஐ இணைத்து, ஒரு SSH அமர்வைத் திறந்து, கண்காணிப்பு இன்னும் அறிவிக்கிறதா என உறுதிசெய்யவும். வெளியிடப்பட்ட சேவை கட்டுப்பாட்டுத் தளம் உடைந்த நிலையிலும் வேலை செய்யலாம், எனவே இரு சரிபார்ப்புகளும் ஒரே மாற்ற சாளரத்தில் அடங்கும். விதிகள் எதிர்பார்த்த வரிசையில் மீண்டும் பயன்படுத்தப்படுவதை நிரூபிக்க ஒருமுறை மறுதொடக்கம் செய்யுங்கள், பின்னர் வெளியீட்டை அகற்றி, அகற்றுதல் உண்மையில் சேர்ப்புடன் பொருந்துகிறதா என உறுதிசெய்யவும். துவக்கத்தில் பெரிய அளவிலான சேர்ப்புகளும் முழுமையற்ற சுத்தமும் — தற்காலிகச் சோதனை நிரந்தரத் துளையாகும் வழி இதுவே.

தொடர்புடைய கட்டுரைகள்