tcpdump IPsec සරල පෙළ එක් දිශාවකින් පමණක් පෙන්වන්නේ ඇයි
මෙම අසමමිතිය ග්රහණ ලක්ෂ්යයේ ප්රතිඵලයකි, කැඩුණු පිළිතුරු මාර්ගයක් නොවේ. Linux IPsec ද්වාරයක ඇතුළත සහ පිටත ගමන් ප්රවාහය සොයා ගන්නේ කොහේද යන්න මෙහි දැක්වේ.
ඔබ 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 උපාංගයයි. පළමුව මාර්ගය හඳුනා ගන්න, පසුව ප්රශ්නයට පිළිතුරු දෙන ලක්ෂ්යය තෝරන්න, සහ පරිවර්තනයේ වැරදි පැත්ත දෙස බලන විට පමණක් දිශා දෙක වෙනස් ලෙස පෙනෙනු ඇතැයි අපේක්ෂා කරන්න.