ACK පැකට්ටුවක conntrack NEW: එය ඔප්පු නොකරන දේ
NEW ලෙස ලේබල් කළ ACK එකක් යනු නිරීක්ෂකයාට ගැළපෙන තත්ත්වයක් නොතිබූ බවය, VPN එකක් සැසියක් විවෘත කළ බව නොවේ. hook, tuple සහ ග්රහණ කවුළුව කියවන්න.
ගිනිපවුරු ලොගයේ ඔබ බලාපොරොත්තු නොවූ එක් පේළියක් ඇත: ACK පැකට්ටුවක්, conntrack තත්ත්වය NEW, ඔබේ නොවන මූලාශ්ර ලිපිනයක්, ගමනාන්ත වරාය විවෘතයි. කිසිවෙකු අනුමත නොකළ නව එන සම්බන්ධතාවයක් ලෙස මෙය කියවීමට පෙළඹවීමක් ඇත. පේළිය ඇත්තටම කියන්නේ ඊට වඩා පටු දෙයක්: එම පැකට්ටුව මෙම hook වෙත ළඟා වන විට නිරීක්ෂකයාට ගැළපෙන කිසිදු තත්ත්වයක් නොතිබුණි, සහ පැකට්ටුව ACK රැගෙන ආවේය. මේවා වෙනස් දේවල් දෙකක් පිළිබඳ කරුණු දෙකකි, සහ කිසිවක් සම්පූර්ණ අත්වැල් ගැසීමේ වාර්තාවක් නොවේ. නිගමනයකට එළඹීමට පෙර මම ගමන් කරන අනුපිළිවෙල මෙයයි.
විනිශ්චයෙන් නොව, පැකට්ටුවෙන් අරඹන්න
අර්ථ නිරූපණය කිරීමට පෙර නිරීක්ෂණ වෙන් කරන්න. TCP කොඩි මෙම පැකට්ටුව විස්තර කරයි, නිරීක්ෂකයාගේ තත්ත්වය එම hook එකේදී ඔහු දැන සිටි දේ විස්තර කරයි, ඔබේ ග්රහණය ඔබ වාර්තා කළ කවුළුව පමණක් විස්තර කරයි.
මේ තුන මිශ්ර කිරීම තමයි ACK එකක් “සැපයුම්කරු කෙනෙකුට ඇතුළට ඉඩ දුන්නා” බවට පත්වන ක්රමය.
hook එකේදී NEW ඇත්තටම අදහස් කරන දේ
iptables conntrack ගැළපීම NEW යනු සම්බන්ධතාවයක් ආරම්භ කරන පැකට්ටුවක් ලෙසත්, නැතහොත් දෙපැත්තටම තවම ගමනාගමනය නොදුටු සම්බන්ධතාවයකට අයත් පැකට්ටුවක් ලෙසත් ලේඛනගත කරයි. ESTABLISHED යනු නිරීක්ෂකයා දෙපැත්තටම පැකට්ටු දුටු බවයි. කිසිදු අර්ථ දැක්වීමක් පැකට්ටුව SYN වූ බව හෝ ඉතිහාසයක් නොමැතිව පැමිණි බව නොකියයි.
ප්රවාහයක් මැදින් නිරීක්ෂණය අරඹන නිරීක්ෂකයා ඊළඟ පැකට්ටුව තමා දන්නා දෙය අනුව වර්ගීකරණය කරයි, එය කිසිවක් නොවිය හැක. මෙය නිරීක්ෂකයාගේ මතකය පිළිබඳ ප්රකාශයක් මිස දුරස්ථ සත්කාරකයාගේ අභිප්රාය පිළිබඳ නොවේ.
ලිහිල් ලුහුබැඳීම බොහෝ ACK පුදුම විස්තර කරයි
කර්නලය ලේඛනගත කරයි nf_conntrack_tcp_loose, එය නිරීක්ෂකයාට ආරම්භය නොදුටු TCP සම්බන්ධතා ගැනීමට ඉඩ දෙයි. සැකසුම එහි පෙරනිමි අගයේ ඇති විට, ප්රවාහයේ මැදින් එන ACK එකක් ස්ථාපිත ප්රවාහයක් ලෙස පිළිගත හැක. එය අක්රිය කරන්න, එවිට එම පැකට්ටුව NEW වෙනුවට INVALID ලෙස වර්ගීකරණය වීමේ සම්භාවිතාව වැඩිය. ප්රතිඵල දෙකම නිරීක්ෂකයාගේ නීති විස්තර කරයි, යෙදුමේ ඉතිහාසය නොවේ.
එබැවින් ලේබලය මත සිද්ධාන්තයක් ගොඩනැගීමට පෙර එම සැකසුම පරීක්ෂා කරන්න.
නීරස හේතු මෙම අනුපිළිවෙලින් බැහැර කරන්න
මා ලුහුබැඳි NEW-on-ACK සිදුවීම් බොහොමයක් මේවායින් එකකින් අවසන් විය, සහ සියල්ල පරීක්ෂා කිරීම ලාභදායීය:
- conntrack වගුව හිස් කරන ලදී, නැතහොත් නිරීක්ෂකයා නැවත ආරම්භ කරන ලදී.
- සත්කාරකයා නැවත අරඹන ලදී, නැතහොත් ප්රවාහය වෙනත් namespace එකකට හෝ උපාංගයකට ගියේය.
- අසමමිතික මාර්ගගත කිරීම SYN ඔබ ග්රහණය නොකරන මාර්ගයකින් එළියට යැවීය.
- NAT tuple නැවත ලිවීය, එබැවින් සටහන ඔබ කියවූ දෙයට තවදුරටත් නොගැළපේ.
- ග්රහණය ප්රමාද වී ආරම්භ වූ අතර ආරම්භය කිසිදා නොදුටුවේය.
ඒ සෑම එකක්ම පෙර පැකට්ටු නිරීක්ෂකයාගේ දෘෂ්ටි ක්ෂේත්රයෙන් ඉවත් කර පසු පැකට්ටු නොසැලී තබයි. නැවත ආරම්භයක් හෝ වගුව හිස් කිරීම uptime සහ ලොග් වලින් තහවුරු කිරීමට පහසුමය. අසමමිතික මාර්ගගත කිරීම එක්-දිශා ග්රහණයක් ලෙස පෙනේ. NAT උපායශීලීය, මන්ද නිරීක්ෂකයා ගබඩා කළ tuple එක ලොගයේ මුද්රණය වූ tuple එක නොවන බැවිනි.
ඉදිරියට යාමට පෙර ඒවායින් කුමක් බැහැර කළාද, කෙසේද යන්න ලියන්න.
tuple, අතුරුමුහුණත සහ hook කියවන්න
conntrack සටහන ලිපින, වරාය සහ ප්රොටොකෝලය මගින් යතුරු කෙරේ, එබැවින් ඕනෑම පරිවර්තනයක් කුමන සටහන ගැළපේද යන්න වෙනස් කරයි. අතුරුමුහුණත සහ hook ද සටහන් කරන්න, මන්ද වැරදි අතුරුමුහුණතක හෝ වෙනත් දාමයකට පසුව දුටු පැකට්ටුවක් මාර්ගය රූප සටහනේ ඇති ආකාරය නොවන බව කියයි. සිදුවීම VPN එකක් සම්බන්ධ නම්, ඔබ ඇතුළත පැකට්ටුව දෙස බලනවාද නැතහොත් පිටත වාහකය දෙසද යන්න තීරණය කරන්න. ඉන්පසු එම පස්-කොටස් tuple එක සඳහා ගේට්වේ විසින් සටහන් කළ දෙය සමඟ සසඳන්න.
එකම ප්රවාහයේ එකිනෙකට විරුද්ධ දර්ශන දෙකක් ඕනෑම එකකට වඩා තොරතුරු සපයයි.
කවදාද උත්ථාන කිරීම වටී
ළඟා විය හැකි නමුත් නොවිය යුතු සේවාවක් ප්රවාහය, එයට අවසර දුන් ප්රතිපත්තිය සහ දෙකෙළවරේ සාක්ෂි සමඟ පෙන්විය හැකි විට උත්ථාන කරන්න. එක් තත්ත්ව ලේබලයක් හෝ එක් අර්ධ ග්රහණයක් මත පදනම්ව සැපයුම්කරුගේ දෝෂයක් වාර්තා නොකරන්න, මන්ද එම වාර්තාව ඔබ දැන් කියවූ පැහැදිලි කිරීම සමඟ වසා දැමේ. සේවාව සැබවින්ම නිරාවරණය වී ඇත්නම්, එම සීමාවේ හිමිකරු එය නිවැරදි කිරීමට සුදුසු පුද්ගලයා වේ, සහ දෝෂයකට වඩා පවරන ලද වරාය සිතියම්කරණයක් හෝ අනවශ්ය ශ්රාවකයෙක් වඩාත් සම්භාවිත හේතුවකි.
ඉන්පසු එක් පැකට්ටුවක් සම්පූර්ණ සැසියක් ලෙස පෙනීමට ඉඩ දුන් දෘශ්යතා පරතරය වසන්න.