நீங்கள் Linux IPsec நுழைவாயிலின் வெளி இடைமுகத்தில் tcpdump இயக்கும்போது ஒரே நேரத்தில் இரண்டு விஷயங்களைப் பார்க்கிறீர்கள்: உள்நோக்கி வரும் ESP சட்டங்கள் மற்றும் அவற்றுக்குப் பிறகு உடனடியாக மறைகுறியாக்கப்பட்ட உள் பொதிகள். வெளிநோக்கிச் செல்லும்போது ESP மட்டுமே தோன்றுகிறது. இயல்பான முடிவு என்னவென்றால் பதில்கள் அனுப்பப்படவில்லை அல்லது IPsec ஒரு திசையை மறைகுறியாக்கி மற்றதை மறந்துவிடுகிறது. இரண்டும் உண்மை இல்லை.

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

நீங்கள் என்ன பார்ப்பீர்கள் என்பதைப் பிடிப்புப் புள்ளி தீர்மானிக்கிறது

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

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

வடிகட்டியை நீங்கள் கருதும் அடுக்குடன் பொருத்துங்கள்

tcp port 443 போன்ற வெளிப்பாடு உள் TCP இணைப்பைத் தேர்ந்தெடுக்கிறது. வெளிநோக்கிச் செல்லும்போது சாக்கெட்டைக் கேட்கும் நேரத்தில் அந்த இணைப்பு ஏற்கனவே ESP ஆகிவிட்டது, எனவே வடிகட்டி எதனுடனும் பொருந்தாது. பாதுகாக்கப்பட்ட போக்குவரத்தை எண்ண விரும்பினால், அதற்குப் பதிலாக வெளி வடிவத்தில் வடிகட்டுங்கள்: மூல ESP க்கு நெறிமுறை 50, அல்லது NAT கடப்பு பயன்படுத்தப்படும்போது UDP துறை 4500. இரண்டு வடிகட்டிகளும் இரு தரப்புகளுக்கிடையே ஒப்பிடக்கூடிய பொதி எண்ணிக்கையைத் தருகின்றன, பொதுவாக எண்ணுவதற்கான காரணமும் அதுவே. எதுவும் உள் கோரிக்கைக்கு பதில் கிடைத்ததா என்று சொல்லவில்லை.

UDP 4500 எண்ணிக்கையை ESP பொதி எண்ணிக்கையாகக் கருத வேண்டாம். IKE அந்தத் துறையை NAT-T உயிர்ப்பு செய்திகளுக்கும் மறைக்கப்பட்ட பரிமாற்றத்திற்கும் பயன்படுத்துகிறது, எனவே அந்த எண்ணிக்கையில் நீங்கள் அளவிட விரும்பிய தரவு அல்லாத போக்குவரத்தும் அடங்கும். UDP 500 இல் ஆரம்ப IKE பரிமாற்றத்திற்கு அதுவே கேள்வியென்றால் அதற்கென ஒரு வடிகட்டி தேவை. கட்டுப்பாட்டுப் போக்குவரத்தைத் தரவுடன் கலக்கும் எண் எந்த அலைவரிசை மதிப்பீட்டையும் அறியாத அளவில் தவறாக்கும். தனித்தனி எண்ணிக்கைகள் தனித்தனி கேள்விகளுக்குப் பதிலளிக்கின்றன.

வடிகட்டி எந்தக் கேள்விக்குப் பதிலளிக்கிறதோ அதன் பக்கத்தில் எழுதுங்கள். «பெட்டியிலிருந்து எவ்வளவு ESP வெளியேறியது» மற்றும் «வலைக் கோரிக்கை பெட்டியிலிருந்து வெளியேறியதா» என்பவை வெவ்வேறு வடிகட்டிகளுடன் வெவ்வேறு அளவீடுகள், ஒரு பிடிப்பு இரண்டையும் தீர்க்க முடியாது. அந்தக் குறிப்பு இல்லாமல் இரண்டு பேர் ஒருபோதும் ஒரே விஷயத்தை எண்ணாத எண்களை ஒப்பிடுவார்கள்.

மாற்றத்திற்கு முன் கண்காணியுங்கள், பின்னர் அல்ல

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

கொள்கைப் பொருத்தம் விதியை சுரங்கப்பாதைக்குள் நுழையவிருக்கும் போக்குவரத்துக்கு மட்டும் வரம்பிடுகிறது. பெட்டி அனுப்பும் ஒவ்வொரு பொதியையும் பதிவு செய்வதற்குப் பதிலாக விதியை குறிப்பிட்டதாக்குவது -m policy --pol ipsec --dir out தான். பின்னர் பதிவுக் குழுவை வரம்புக்குட்பட்ட பிடிப்புடன் படியுங்கள்: சிறிய ஸ்நாப்ஷாட் எண்ணிக்கையும் அளவு வரம்பும் கண்டறிதல் போக்குவரத்து காப்பகமாக மாறுவதைத் தடுக்கின்றன. வரம்புக்குட்பட்ட பிடிப்பு மதிப்பாய்வாளரிடம் ஒப்படைக்கவும் எளிது, தொடர்பற்ற சுமையை இழுக்காமல். எவ்வளவு வந்தது என்று பார்த்த பிறகு அல்ல, தொடங்குவதற்கு முன் எண்ணிக்கையை முடிவு செய்யுங்கள்.

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'

ஓட்டத்திற்குப் பொருந்தும் கொக்கியைத் தேர்ந்தெடுங்கள். OUTPUT நுழைவாயிலே உருவாக்கும் போக்குவரத்தை உள்ளடக்குகிறது; LAN வாடிக்கையாளரிடமிருந்து செல்லும் கடப்பு அதற்குப் பதிலாக FORWARD சங்கிலி வழியாகச் செல்கிறது, OUTPUT இல் உள்ள விதி அதை ஒருபோதும் பார்க்காது. மேலே உள்ள முகவரியும் துறையும் அங்கீகரிக்கப்பட்ட சோதனை இலக்குக்கான இடம்பிடிப்பான்கள்.

கண்காணிப்பு எதை நிரூபிக்கிறது

NFLOG ஒரு பதிவு இலக்கு, ஏற்பு முடிவு அல்ல. அங்கு தோன்றும் பொதி அது கொக்கியை அடைந்து விதியுடன் பொருந்தியதைக் காட்டுகிறது. பின்னர் வந்த வடிகட்டி அதை அனுமதித்தது, சாதனம் அதை அனுப்பியது, அல்லது மறுதரப்பு ஏதாவது பெற்றது என்று அது காட்டவில்லை.

காலியான பதிவும் அதே அளவு தெளிவற்றது. விதியின் பொதி கவுண்டரைச் சரிபார்க்கவும், திசையை உறுதிப்படுத்தவும், ஓட்டம் உண்மையில் ஒரு IPsec கொள்கையுடன் பொருந்தியதை உறுதிப்படுத்தவும், இலக்கை உறுதிப்படுத்தவும். இரு தரப்பிலும் பொருந்தும் கவுண்டர் மட்டுமே கண்காணிப்பை முடிவாக மாற்றுகிறது. பின்னர் அதே கட்டுப்படுத்தப்பட்ட முயற்சிக்கு இரு தரப்பிலும் பாதுகாப்புச் சங்கத்தின் கவுண்டர்களை ஒப்பிடுங்கள், ஏனெனில் SA கவுண்டர்களே எது பாதுகாக்கப்பட்டு அனுப்பப்பட்டது என்பதற்கான அதிகாரப்பூர்வ பதிவு.

இன்னொரு பொறி: இந்தச் சூழலில் «சொந்த உரை» என்பது IPsec மறைகுறியாக்க அடுக்குக்கு வெளியே என்பதாகும். உள் HTTPS அமர்வுக்கு இன்னும் அதன் சொந்த TLS உள்ளது. மறைகுறியாக்கப்பட்ட பொதியைப் பிடிப்பது பயன்பாட்டின் TLS ஐ மறைகுறியாக்காது, அங்கு படிக்கக்கூடிய HTTP தெரிந்தால் அந்தப் பயன்பாடு ஆரம்பத்திலிருந்தே HTTPS பயன்படுத்தவில்லை என்று அர்த்தம்.

சுத்தம் செய்து இரு முனைகளையும் ஒப்பிடுங்கள்

கண்காணிப்பு முடிந்தவுடன் நீங்கள் செருகிய அதே விதியை, அதன் உரிமையாளரின்படி, அகற்றுங்கள். பதிவு விதியை அப்படியே விட்டுவிடுவது ஒவ்வொரு பொருந்தும் பொதிக்கும் CPU செலவாகி அமைதியாக தரவு தக்கவைப்புச் சிக்கலை உருவாக்குகிறது. உங்களுக்குச் சொந்தமில்லாத சங்கிலியை ஃபிளஷ் செய்வதற்குப் பதிலாக -D உடன் விதியை மீண்டும் செய்து அழிக்கவும்.

iptables -D OUTPUT -d 10.83.0.44/32 -p tcp --dport 8443 -m policy --pol ipsec --dir out -j NFLOG --nflog-group 5

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

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